Fan of Flatpaks ...or Not?
-
Certainly a fan, and I don't understand the hate towards it.
Flatpaks are my preferred way of installing Linux apps, unless it is a system package, or something that genuinely requires extensive permissions like a VPN client, or something many other apps depend on like Wine.
The commonly cited issues with Flatpaks are:
- Performance. Honestly, do you even care if your Pomodoro timer app takes up 1 more megabyte of RAM? Do you actually notice?
- Bloat. Oh, yes, an app now takes 20 MB instead of 10 MB. Again, does anybody care?
- Slower and larger updates. Could be an issue for someone on a metered traffic, or with very little time to do updates. Flatpaks update in the background, though, and you typically won't notice the difference unless you need something newest now (in which case you'll have to wait an extra minute)
- Having to check permissions. This is a feature, not a bug. For common proponents of privacy and security, Linuxheads grew insanely comfortable granting literally every maintainer full access to their system. Flatpaks intentionally limit apps functionality to what is allowed, and if in some case defaults aren't good for your use case - just toggle a switch in Flatseal, c'mon, you don't need any expertise to change it.
What you gain for it? Everything.
- Full control over app's permissions. Your mail client doesn't need full system permissions, and neither do your messengers. Hell, even your backup client only needs to access what it backs up.
- All dependencies built in. You'll never have to face dependency hell, ever, no matter what. And you can be absolutely sure the app is fully featured and you won't have to look for missing nonessential dependencies.
- Fully distro-agnostic. If something works on my EndeavourOS, it will work on my OpenSUSE Slowroll, and on my Debian 12. And it will be exactly the same thing, same version, same features. It's beautiful.
- Stability. Flatpaks are sandboxed, so they don't affect your system and cannot harm it in any way. This is why immutable distros feature Flatpaks as the main application source. Using them with mutable distributions will also greatly enhance stability.
Alternatives?
AppImages don't need an installation, so they are nice to see what the program is about. But for other uses, they are garbage-tier. Somehow they manage both not to integrate with the system and not be sandboxed, you need manual intervention or additional tools to at least update them/add to application menu, and ultimately, they depend on one file somewhere. This is extremely unreliable and one should likely never use AppImages for anything but "use and delete".
Snaps...aside from all the controversy about Snap Store being proprietary and Ubuntu shoving snaps down people's throats, they were just never originally developed with desktop applications in mind. As a result, Snaps are commonly so much slower and bulkier that it actually starts getting very noticeable. Permissions are also way less detailed, meaning you can't set apps up with minimum permissions for your use case.
This all leaves us with one King:
And it is Flatpak.
Well a 10mb app could take 20 but what about a 1gb one?
-
This post did not contain any content.
Flatpaks are awesome. Flathub is awesome.
-
That just displays the command or is there a browser extension that runs it for you too? Most Windows apps certainly don't run by just clicking a button either.
It's a flatpak://url that opens the app store on the computer where you do a one click install. So technically it's two clicks.
-
As I said, dependencies typically don't take that much space. We're not in the '80s, I can spare some megabytes to ensure my system runs smoothly and is managed well.
As per naming, I agree, but barely anyone uses command line to install Flatpaks, as they are primarily meant for desktop use. In GUI, Flatpaks are shown as any other package, and all it takes is to push "Install" button.
If you want to enjoy your chad geeky Linux, you still can. Go for CachyOS, or anything more obscure, never to use Flatpaks again. At the same time, let others use what is good and convenient to them.
Do all laptops users have this option? Also you keep saying megabytes when it's never just a few megabytes. It downloads atleast a few gbs worth of data just for one gui app.
-
Oh, so flatpaks cannot automatically get system themes?
If it is trial and error, is it really useful for a normal user?
System themes, probably most of them work. But most of them don't bother watching the user themes or icons folder.
I don't think Flatseal is that useful for the majority of users, no. But it is a good tool to have in mind when the need arises.
-
Do all laptops users have this option? Also you keep saying megabytes when it's never just a few megabytes. It downloads atleast a few gbs worth of data just for one gui app.
Not true lmfao
-
I spent my time fighting AppImages until Canonical started to force Snap on me. I hated Snap so bad it forced me to switch distros. Now I appreciate Flatpak as a result and I don't find AppImages all that bad, either. Also, I haven't found myself in dependency-hell nor have I crashed my distro from unofficial Repos in well over a decade.
-It's a long way of saying It works for me and it's not Snap.
Appimages are ok, bloated but ok. Unless a library inside is old and won't work.
Flatpak is annoying and I don't like it at all, so I don't use it. Easy solution.
Fuck snap though.
-
This post did not contain any content.
-
sometimes you’re working with particular releases or builds that don’t, but like i said i might be the idiot lol.
i like the concept of arch. i don’t like the way i need to come up with a new solution for how im managing my packages virtually every few days that often requires novel information. shit, half the time you boot up an arch system if you have sufficient # of packages there is 9/10 times a conflict when trying to just update things naively. like i said it’s cool on paper and im sure once you use it as a daily driver for awhile it just becomes routine but it’s more the principle of the user experience and its design philosophy that i think might be poor.
arch is for techies in the middle of the bell curve imo… people on the left and the right, when it comes to something as simple as managing all my packages and versions, want something that just works^TM^ - unless i specifically want to fuck with the minutiae.
conflict when trying to just update things naively
Sounds like AUR problems. IMO using AUR helpers that tie AUR packages to your full system update command is a trap. AUR never professed to be a stable repository (in fact it's the opposite). AUR has a place, but it should be used sparingly and thoughtfully.
-
Flatpaks are great for situations where installing software is unnecessary complex or complicated.
I have Steam installed for some games, and since this is a 32 bits application it would install a metric shit-don of 32 bit dependencies I do not use for anything else except Steam, so I use the Flatpak version.
Or Kdenlive for video editing. Kdenlive is the only KDE software I use but when installing it, it feels like due to dependencies I also get pretty much all of the KDE desktop’s applications I do not need nor use nor want on my machine. So Flatpak it is.
And then there is software like OBS, which is known for being borderline unusable when not using the only officially supported way to use it on Linux outside of Ubuntu – which is Flatpak.
OBS worked pretty well for me last time I used it, using the basic package Debian provided.
-
Joke's on you, I use Flatpaks on Arch
Why, it's totally unnecessary.
-
This post did not contain any content.
I've never heard anyone say that Flatpaks could result in losing access to the terminal.
My only problem with Flatpaks are the lack of digital signature, neither from the repository nor the uploader. Other major package managers do use digital signatures, and Flatpaks should too.
-
AFAIK, no
-
Why, it's totally unnecessary.
i have a couple on arch also, mostly because of dependency issues breaking the program and it being a pain in the ass to fix
-
This post did not contain any content.
Can someone explain why flatpak isn't necessary for distros that have proper OS dependency management like Arch-based distros or Nix?
Seems like flatpak is solving a problem for OS's that don't have proper dependency management.
-
i have a couple on arch also, mostly because of dependency issues breaking the program and it being a pain in the ass to fix
Which ones? Everything in the arch main repos are compiled for your system, and most things in the AUR can either be built from source, or have -bin installs.
-
never tried flatpak, snaps were so bad as to never consider non-native installs or just use docker instances when I need to run something weird. so dunno.
whats the use case for a flatpak exactly? maybe im not the target audience???
- Apps not available in distro repositories
- Apps with dependency conflicts
-
Why, it's totally unnecessary.
Mostly because of detailed and easy permissions, and also because I have other distibutions on my other computers and want my programs to be consistent everywhere - same programs, same version.
-
Which ones? Everything in the arch main repos are compiled for your system, and most things in the AUR can either be built from source, or have -bin installs.
aleph one from the AUR refused to run properly, often crashing on startup so i just grabbed the flatpak
the weirdest one was ghostwriter from the official repos, for some reason one day the preview window showed heavily corrupted output and tinkering with it on and off for a week did nothing, including a complete purge and reinstall of the program
the flatpak was the only version of it that worked after that -
Well a 10mb app could take 20 but what about a 1gb one?
It would take 1,01gb
Dependencies typically take 5-80 megabytes of space.