Generally speaking, the advantages of Flatpaks are:
-The developers only need to maintain and release one version
-It’s sandboxed, for each app you can decide which parts of your filesystem are exposed, which env variables, which types of inter-process communications, etc
-You kinda avoid dependency hell. You can use old unmaintained packages because Flatpak will provide old versions of their dependency if they’re needed, while at the same time avoiding unnecessarily duplicated packages
-All installed apps are in your .var folder instead of being system-wide. Every app has its own folder with its own .config and .local/share inside, with their respective config files and data
-It supports partial updates
-It doesn’t require root permissions to use
-It lets you use the most recent software even in really old LTS systems like Debian, and the Flatpaks updates are usually as quick as rolling release distros
-You don’t need to abuse PPAs or the AUR
-It makes your system updates actually faster since you’ll have less system packages, and you’ll be able to update your big apps separately
I may be missing some, but those are the most important to me
But they don’t adhere to the system theme at all so every time I launch a flatpak it is white if it uses GTK; and they are annoying to launch via command line.
I throw this in my .local/share/flatpak/overrides/global file in order to enable theming (the override directory may require flatseal? I forget):
[Context]filesystems=~/.icons:ro;~/.themes:ro;xdg-config/Kvantum:ro;~/.config/gtk-3.0:ro[Environment]QT_STYLE_OVERRIDE=kvantum
GTK_THEME=<your theme name here>
Then you can put your stuff in your personal ~/.themes and ~/.icons directories
As for calling via command line, you can use something like this or just manually make aliases.
ELI5 … Whats the advantage to using Flatpaks? Are they similar to containers?
Generally speaking, the advantages of Flatpaks are:
-The developers only need to maintain and release one version
-It’s sandboxed, for each app you can decide which parts of your filesystem are exposed, which env variables, which types of inter-process communications, etc
-You kinda avoid dependency hell. You can use old unmaintained packages because Flatpak will provide old versions of their dependency if they’re needed, while at the same time avoiding unnecessarily duplicated packages
-All installed apps are in your .var folder instead of being system-wide. Every app has its own folder with its own .config and .local/share inside, with their respective config files and data
-It supports partial updates
-It doesn’t require root permissions to use
-It lets you use the most recent software even in really old LTS systems like Debian, and the Flatpaks updates are usually as quick as rolling release distros
-You don’t need to abuse PPAs or the AUR
-It makes your system updates actually faster since you’ll have less system packages, and you’ll be able to update your big apps separately
I may be missing some, but those are the most important to me
But they don’t adhere to the system theme at all so every time I launch a flatpak it is white if it uses GTK; and they are annoying to launch via command line.
You can theme them with some overrides: https://itsfoss.com/flatpak-app-apply-theme/
I throw this in my
.local/share/flatpak/overrides/global
file in order to enable theming (the override directory may require flatseal? I forget):[Context] filesystems=~/.icons:ro;~/.themes:ro;xdg-config/Kvantum:ro;~/.config/gtk-3.0:ro [Environment] QT_STYLE_OVERRIDE=kvantum GTK_THEME=<your theme name here>
Then you can put your stuff in your personal
~/.themes
and~/.icons
directoriesAs for calling via command line, you can use something like this or just manually make aliases.
Thank you! This definitely makes sense to explore further.