How does it stack up against traditional package management and others like AUR and Nix?
What’s not to Ike? These systems’ development has been long overdue.
I think Flatpaks are great for applications like Firefox, Steam, etc. where dependencies or delay in package distribution due to building multiple versions can be a problem.
However, there are many situations where Flatpak’s sandbox can be more detriment than helpful, if the application wasn’t developed with that in mind. It’s not a silver bullet for everything.
I didn’t want to containerize every installed app. Switched to Arch and don’t have to worry about it.
Flatpaks are great. I install my core os and gui with the base package management. All my user side packages are Flatpaks. I then use Flatseal to lock down and modify Flatpaks as needed. What’s great is running programs like wine without installing a ton of dependencies and then locking the install from parts of my computer I don’t want it to have access to.
What package manager do you currently use?
Flatpak is fantastic for end-user GUI applications
Flathub is also great, but the fact that it’s really the only repo that flatpak maintainers are using concerns me. I know I’m dreaming, but I would love to see some sort of federated or P2P hosting
Flatpak is why i moved to Debian, Running a Stable OS with the latest packages have made my Linux Desktop a full replacement for Windows, MacOS and Rolling releases.
Great to me. My personal favorite piece is the portals system built to make permission access easier but transparent to the user. It also helps more pieces of the desktop space interoperate (for example use the system defined file picker instead of needing to ship your own).
Doesn’t work properly, apps are bigger and don’t always apply GTK themes. I also can’t easily edit the desktop file to edit the icons. I therefore only use it as a backup when I can’t find an app on the AUR or office repositories, which is very rare.
“Dont ask yourself if it works, but how it works”
For editing desktop entries, copy it fron this strange directory
~/.local/share/flatpak/exports/share/applications/
to your normal~/.local/share/applications
which will always override the others.
Where’s that Chris Pratt meme? –
I don’t know what that is and at this point I’m afraid to ask
Its a solution to one of the typical Linux issues. Its a step toward overcaming the fragmentation of Linux package managers.
I don’t personally like it too much, I prefer the distro package stuff, but I understand the app developers cannot manage a plethora of different package formats.
Distro maintainters should, but its clearly more and more a massive task for different distros to keep up with the amount of apps out there.
Also, npm, pip and the various “packaging” ways existing add to the chaos.
I see distro package managers converge toward providing basic packages for the general system and some other solution like flatpack to provide additional stuff.
I think it would be wrong for flatpack/containers to replace package managers as well, it’s not their scope.
I see distro package managers converge toward providing basic packages for the general system and some other solution like flatpack to provide additional stuff.
IMHO doing this would be suicide for most distros.
There are only so many ways you can make a basic system and the distro scene is already saturated by various interpretations of “basic”.
A distro needs to offer more than the basic system and a huge part of that added value lies in its packages (and by extension package manager).
They are awesome but personally I don’t use them. I have an obsession with memory management. Flatpak apps don’t share libraries so they get chunky at times. This shouldn’t be a problem for most people. It’s a personal problem.
Man this Missinformationen is hard to squash. Yes Flatpaks absolutely share libraries. These are called runtimes and are shared between all the Flatpak apps that use the same version of it. You will only get more than one version of a given runtime if some apps need this other version. For most runtimes that I know of, most only have 2 currently maintained versions, so I almost never get more than that on my system (and when I do, app devs tend to update their apps shortly after so that they’re using a maintained runtime). For example on my system where I mostly use GTK apps, I only have two versions of the Gnome runtime (44 and 45). And even when you have more than one version of a runtime, they get deduplicated, so even runtimes share parts between them.
If you’re interested here is an article about it.
I really like them. They give us a reliable application that doesn’t depend the distro building a version for specific platform. For example if the newest versions are compiled for Ubuntu 24.04 but you’re on 22.04 it might take a while to get the update.
It does come at a cost though, it’ll have to package all the dependencies for 24.04 in a layer of the package so it’ll take a long time to start up and take a lot more memory than necessary.
This is mitigated by flatpaks using same base for their application (like Ubuntu with Electron) but it still isn’t the same as just starting up a proper
apt
program.I really like it since we can have a modern version of a program for small distros and in general the barrier to entry so much lower so companies can’t just say “oh we can’t support all Linux distros, not feasible”.
Aur you compile yourself for your own distro instead of it being done already by
apt
and the like.Nix is a super cool since you can just setup and configure pretty much everything so that you just press “install” and you’ll have your Gimp, VPN and whatever apps all done for you. You’ll have to do some heavy configuration so programming knowledge is not necessary but really helps.
It is awesome
I love them. They make the immutable distributions possible.
We need to stop with the idea of shared libraries, it’s nice on the paper but in practice you only save a bit of disk space and it’s a pain for developers to package for different distributions.
Distribution packages are great for core components of the system, or utilities everyone needs, but for end users applications something like flatpak makes more sense. This way it can be packaged by the upstream developer for all distributions, and sandboxing adds a layer of security. You wouldn’t install an app that have all permissions on mobile, why do it on desktop?
The problem with Flatpak is that for me I would only use it to sandbox propietary apps, and most of these are not officially supported, so there is almost always something broken, like screen sharing, etc.