Linux can be a pain, sometimes. The ever-growing list of distributions makes it so that there really isn’t one pre-defined standard for packages. Many distributions somewhat try to address this, but the result is almost always mixed. Not to mention, these packages aren’t cross-compatible across distributions either.
There was a need for a universal format, and by far the best one we’ve had yet is Flatpak. Yes, AppImage and Snaps exist, but both formats have a wide array of issues on their own.
Flatpak is simpler, robust, and surprisingly configurable — assuming you have the right tool.
The one Flatpak setting I change on every Linux machine — and why the default is wrong
Maybe don’t go with the defaults.
Setting up Flatpak on a Linux installation is very easy
Two commands and you’re good to go
Not all systems come pre-installed with Flatpak out of the box. If you’re on something that uses a bit of a “guided” approach towards installation, you’ll probably have to install it first like I did.
For Arch-based distributions, it is pretty easy to do so using just Pacman. Of course, you’ll have to add the Flathub repository as well. The setup is pretty much the same for CachyOS or EndeavourOS.
sudo pacman -S flatpak
flatpak remote-add --if-not-exists flathub https://flathub.orgFor Gentoo, it’s a bit more complicated. The steps involve enabling proper USE flags, emerging the package itself, and finally adding in the Flathub repository.
sudo emerge --ask sys-apps/flatpak
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepoGive it a reboot after you’re done installing, and you should be good to go.
Flatpak has been a lifesaver
Sometimes, it’s the only way to get an app
I’ve started to daily drive Gentoo Linux recently. Portage is pretty capable, but it doesn’t have the same scope as something like the Arch User Repository (AUR). Simply put, there are quite a few packages that just don’t exist on Gentoo.
The only way to get them is by compiling them (or being lucky enough to find a binary build), which can be a bit of a pain to get working. Gentoo’s USE flags are also difficult to manage, and sometimes it’s just easier to get a working app with Flatpak instead.
The same is true for some of the less well-supported distros out there, and Flatpak seems like a logical choice. It’s a quick and convenient way to get apps running on almost all Linux systems, and is a bit more reliable than something like Snap.
AppImages might be a promising third alternative, but it has a few severe flaws (namely, its massive size). Flatpaks are also better supported, and the Flathub repository has almost everything you need.
Total control with Flatseal
An essential tool
Flatpak can be a bit annoying to set up permissions for. For starters, there isn’t a global GUI settings menu to work with out of the box. Flatseal changes all that, and can be easily installed using the Flathub repository.
flatpak install flathub com.github.tchx84.FlatsealFlatseal lets users control the Flatpak and its capabilities much, much better. Permissions, for example, receive dedicated toggles for USB and file system access, along with being able to adjust various other parameters such as GPU acceleration and the like.
Applying a setting is as easy as clicking a toggle — no scripting or terminal required. The changes are immediate, and Flatseal is a very, very powerful tool that should be mandated across every Linux install using Flatpaks.
It does take a bit of time to get used to, but the benefits are immediately apparent.
Flatpak has a few gotchas still, but it is still the best option out there
Flatpak isn’t a perfect solution and has its fair share of flaws. For starters, they eat up a lot of storage, since they do not share system binaries. Since each individual Flatpak has its own dependencies and related libraries, you’ll have to go through a (one-time) download process when setting it all up.
By nature of its sandboxing, Flatpaks are almost always less performant when compared to a native package. Sure, the delay is not all that alarming, but it exists regardless. There’s also the fact that Flatpaks suffer from inconsistent theming, which is especially apparent when you use a tiling window manager such as Hyprland.
There’s also the fact that Flatpaks as a whole don’t appear to do sandboxing all that well in practice. Most Flatpaks require access to a wide range of system services, such as network and file systems, which kind of defeats the whole concept.
There’s nothing quite like Flatpak for Linux systems. Compared to alternatives such as Snap and AppImage, Flatpak wins hands down in being more compatible, easier-to-use and most importantly, well-supported.
So much so that, despite initial reservations, I’ve come to appreciate Flatpaks more and more lately. They’re pretty great as a universal solution, even if they aren’t wholly perfect. It’s slowly grown to become a staple across all of my Linux installs.

