Anyone else starting to favor Flatpak over native packages?
I am currently using Linux Mint (after a long stint of using MX Linux) after learning it handles Nvidia graphics cards flawlessly, which I am grateful for. Whatever grief I have given Ubuntu in the past, I take it back because when they make something work, it is solid.
Anyways, like most distros these days, Flatpaks show up alongside native packages in the package manager / app store. I used to have a bias towards getting the natively packed version, but these days, I am choosing Flatpaks, precisely because I know they will be the latest version.
This includes Blender, Cura, Prusaslicer, and just now QBittorrent. I know this is probably dumb, but I choose the version based on which has the nicer icon.
I don't like flatpak or snap or any of them. System libraries exist for good reason, just because your computer is stupid fast and you have enough disk for the library of Congress a couple times over doesn't mean you should run a veritable copy of your whole operating system for each program. IMO it's lazy.
Sandboxing is a different thing though, if that's the purpose then it's doing it right.
I have a ton of flatpaks which means packages are shared between them, so no it’s not lazy or a copy of the whole system. It makes a ton of sense for stability.
Updates are diff’s so downloading and updating is fast. Not entire packages.
Making every package work with only a certain version of a dependency and hoping it is stable doesn’t make a lot of sense.
Yeah, that's why Arch is almost the only distro that keeps everything installed natively. All other distros either have a troublesome workaround or only support flatpaks.
Rolling release just keeps everyone on the same pace. Yes, they break sometimes, but on the long run it just works.
I like them for the opposite reason. I'm still quite new to Linux, so I'm figuring out which software is best for me. I set up my server with Xubuntu and installed everything through Apt. I uninstalled a lot of software, but inevitably missed some things like libraries and config files.
Using Flatpak seems to keep track of everything, so uninstalling gets rid of everything that I would otherwise miss.
If it's doing what it says on the tin, Flatpak is making my life much easier :)
I also like them just for the sake of tidiness. Some apps like Steam tend to make a big mess of dependencies all over the place, so it's nice to have that all contained in one place. It does take up more space but I have a reasonably big hard drive so it's kind of negligible for me.
If you switch everything you can to flatpaks and use distrobox for other apps before you switch you’re pretty close (better than toolbox and recommend layering it if you do switch to Silverblue).
Anything can be layered onto Silverblue if it can’t be installed another way. I’ve found it works well.
Quite the opposite, after fiddling with it for six months I fully uninstalled flatpak and deleted the directory to get away from the fact it kept downloading copies of nvidia drivers when I had moved to an AMD a year ago, and the drivers were locked from being manually removed even after I uninstalled all flatpak packages.
I'm an Arch user, trust me when I say I read the documentation.
Damn, alright. I am starting to get the hate for it. I think I am blinded by the sheer convenience of it. Also, I am probably sleeping on more up to date repositories that gets me what I want without using flatpaks.
Linux Mint has been babying me though. I love the comfort, and cinnamon is everything I need in a DE. I will need to see what I can do.
I accept that I'm in the minority on these things, but I value simplicity really highly, and I mean "simple" as a very specific concept that's different from "easy". It can be harder to resolve library dependencies on a system where everything is installed using the native package manager and common file systems, but nothing is as "simple" as ELF binaries linking to .so files. Nested directories branching off of / is "simpler" than containers.
Do I have any practical reason for preferring things this way? Not really. There are some ancillary benefits that come from the fact that I'm old and I already know how to do more or less anything I need to do on a Unix system, and if you tell me I need to use flatseal or whatever, I'd rather just use users and groups and tools that have been fine for me for 25 years. But that's not really why I like things this way. I have no issue with embracing change when it otherwise appeals to me --I happily try new languages and tools and technology stacks all the time. What it really is is that it appeals to the part of my brain that just wants to have a nice orderly universe that fits into a smaller set of conceptual boxes. I have a conceptual box for how my OS runs software, and filling that box with lots of other smaller little different boxes for flatpack and pyenv and whatever feels worse to me.
If they solved practical problems that I needed help solving, that would be fine. I have no problem adopting something new that improves my life and then complaining about all the ways I wish they'd done it better. But this just isn't really a problem I have ever really needed much help with. I've used many Unix systems and Linux distributions as my full-time daily use systems since about 1998, and I've never really had to spend much effort on dependency resolution. I've never been hacked because I gave some software permissions it wouldn't have had in a sandbox. I don't think those problems aren't real, and if solving them for other people is a positive, then go nuts. I'm just saying that for me, they're not upsides I really want to pay anything for, and the complexity costs are higher than whatever that threshold is for me.
Your knowledge of Unix systems is incredibly powerful, and I highly respect that. You are in control of your system, which is the ultimate goal of personal computing. It is even more powerful that your mental models are reflected in your system. That is super cool, I hope to get their some day.
I am also very happy you enjoy trying out new technologies, and don't have the grumpy jadedness of just using what you always use.
For me I thoroughly enjoy learning new skills that unlocks the power of all my many computers, and put them to use. Computing should be fun and empowering, and too often people deprive themselves of fun.
I too have been using native packages for 25 years and I wouldn't say it have been "fine".
I've had to deal with outdated packages, where to have the latest version of a software you had to compile from source.
I had to deal with 3rd party repositories that broke my system.
I had to deal with conflicting versions of a library.
I had to deal with the migration from libc5 to glibc and God that was horrible.
So yes containers might be a little more complex in its implementation, but it means I can install apps from third parties without touching my system and I love that. My OS stays clean, and my apps don't mess with it.
It's not that I've never had any problems. It's more that those are infrequent one-time problems, and if something happens once every two years that takes me 30 minutes to solve, I'm willing to do that if it makes the day-to-day use of my system smoother. Flatpak feels like I'm rubbing just a little bit of sandpaper across my face 20 times a day, and the promise is, "yeah, but look how you'll never have to solve this minor one-time things again", and that's just not a trade I want to make.
I like flatpak because it keeps everything more orderly. My OS fits into one box, and my userland applications all get their own little box. I don't have to worry about the choices I make for my OS dictating the options I have for applications. And I don't have to worry about installing an application polluting my OS with libraries that only it will ever use.
The same is true with containers like Docker. Sure, I could install web apps directly on the server, or make a VM for every service I wanted to spool up, but with Docker Config(or the many other ways to wrangle docker) I have a predictable input/output. I never have to worry about the requirements of one service conflicting with another. And the data and logs generated by the service rest in an exact place that I can ensure is uniform for all services, even if the developers do wacky things.
Taken to the extreme you get NixOS, which I really like the concept of, but can't bring myself around to learning, as I know it will take over my life.
/var/lib/flatpak/app/org.gnu.emacs/current/active/export/bin/org.gnu.emacs is not what I expect a Unix system to want me to type if I want to run Emacs. Nor is flatpak run org.gnu.emacs. These are tools built by someone whose mental model of running Unix software is "click the icon in the Gnome launcher". That's one aspect what I'm describing as not being "simple". I don't want my mental model of how to run Unix software to include "remember how you installed it and then also remember the arbitrary reverse-FQDN-ish string you need to use to tell flatpak to run it". If I'm honest, that alone is sufficient to signal it wasn't built for me. I could work around it for sure with shell aliases, but I could also just not use it, and that seems fine for me.
ag to be honest I'm so frustrated by having to remember what package manager was used for installing which binary. I don't have time for this horse shit
I use Flatpaks for everything I can. I like how Flatpak keeps apps in a container isolated from my system. Also, Flatpaks contains every lib in every version I need for my installed apps, which means It does not rely on my system libs, and I like It, cause my system libs is to make my system works only.
Great explanation and rationale for using Flatpaks! I hope others with questions see this.
I understand how people may be annoyed by the redundancy of every app packaging their own lib, but I swear those are measured in kilobytes, and people tend to be so obsessively minimalist it is a non-issue. Then again, minimalist are probably compiling their software.
I disagree. The other day I wanted to install some audio app that came in flatpak install format (I'll check and add the name later). The app was less than 30MB in size, but the installation included 300MB of a previous version of org.freedesktop!
I want a stable OS, but I want the latest versions of applications (programs) without messing up anything. For me flatpak and snap meet that need, but I prefer flatpak.
It seem that whatever problems Flatpaks may have, due to sandboxing, is truly isolated. I think as a non-power user, I do not have strong opinions about any kind of technology, I just enjoy the magic of things working without effort on my part. I will dive deeper as my needs change, but my needs are kind of simple too.
I'm glad to see you've gotten a ton of feedback here, and I just wanted to add another comment in support of flatpaks and image-based computing. I've been using Linux extensively for about 15 years now, mostly Arch and Debian Sid. I've been a distro packager, and I've compiled plenty of my own apps over the years.
This past year I took Fedora Silverblue for a spin after following the project for quite some time, and I am convinced that the image-based system approach, coupled with containerized and sandboxed userspace applications, is the future of Linux for most users. It makes so much sense from nearly all perspectives; whether security, reliability, or flexibility.
Integral parts of the system are mounted read-only by default. Simple commands can rollback unwanted changes, upgrade to a new distro release, or even sideload an entirely different OS. System updates are automated, as are flatpak updates, and there is little-to-no risk to stability due to the very nature of the essentials-only system images. And if something catastrophic did happen, you're just a reboot away from rolling it back.
Consider for a moment the collective energy and time that distro package maintainers must undertake on a weekly basis. Much of it simply repeated by each distro, building the same applications over and over again. Flatpaks are built once and deployed everywhere. Think of the collective potential that could be directed elsewhere.
Couple this with containers and the choice of distro matters even less. Arch, Debian, Ubuntu and Fedora are just a keystroke away. Yes, you can run containers on any distro of course, but you don't gain any of the other ostree benefits mentioned above.
I have since moved all of my workstations to Silverblue and I don't see myself ever going back to a traditional system again. If anything, I may start automating my own image deployments, similar to Universal Blue.
Yes, flatpak as a platform still needs some work, and so does ostree, but both are evolving quickly and will only get better with time.
To others who complain about needing Flatseal...in my opinion, this is a feature to be embraced, not loathed. Sane defaults are rarely sane for everyone, and Flatseal exists to give you complete control over what an app can or cannot see and do.
Thank you for writing all this! Innovation is absolutely necessary not just in Linux, but all computing. People are comparing this to Window installs, and honestly it is probably more similar to MacOS installs. Yet, the difference is that the packages are audited by a community, and are not proprietary wildcards that might bite you in unexpected ways. Flatpaks are an options, not a replacement.
Dealing with software that does not work first try is a loathsome experience. Many people here are wearing their gray colored classes, opinions influenced by decades of tinkering, and are forgetting about the curse of knowledge.
If we want more people to adopt linux, Flatpaks absolutely help.
Lastly, saying image-based reminds my a lot about Smalltalk, which is nice. I like the idea of having hot-swappable operating systems to switch between that have all the work isolated in that image. Great for experimentation, and perhaps security.
I will definitely be checking out Fedora Silverblue. Going to download and make a VM for that now.
I've been using NixOS with flatpaks and distrobox and have had pretty much the same experience.
NixOS provides rock solid base system, services, and CLI tools that are easy to configure and flatpaks provide the rest of the desktop applications.
One neat feature of installing eveything through flatpak is that you can update applications individually without having to upgrade the whole system.
9/10 desktop applications I use are flatpaks. Am on Arch and even when there's an AUR for a package I'd prefer to use Flatpak. Just so I can use Flatseal to control permissions access on my applications.
Yes, but only for apps that which I want to be on the very latest versions. One might ask why I don't use a rolling release distro, that's because I prefer a solid LTS base.
Probably never. They're my third option after native packages and built-from-source packages/installs either manually or using the AUR. They're convenient and the only option I tolerate of those newer package styles (Flatpak/Snap/AppImage), but seemingly having to download a new 800+MB runtime for small 32MB applications is ridiculously wasteful and I wouldn't touch them if I didn't have at least a TB of storage.
It certainly has simplified things for me! To get anything so up to date, I would need to use something like Arch or the AUR, which is fine but I find unappealing (using Arch).
100%. I just wrote a long post surmising this somewhere, but I'm switching my 5 year old Arch install to something like Debian Stable/Testing because I use almost entirely Flatpaks for my user applications (I would do 100% of them if every app I used had a Flatpak), and it's really just a much better idea to run bleeding edge on only the stuff you care about instead of an entire system.
It works well enough for some very basic apps, but for me personally, Snap has created far more problems than it has solved. With Firefox, for example, it makes it a lot harder to use some extensions, and FileBot is entirely useless without file system access (I mean, that's the entire point of the program).
I've heard Flatpak is better but my experience is somewhat limited. It could hardly be worse, though...
Each snap is mounted as its own filesystem, which is messy for several reasons (try making sense of the output of lsblk on your system). Flatpaks don't do that, though they sandbox in other ways. There really isn't a "Flatpak hell", the worst that can happen is packages that depend on different versions of the same library taking up a lot of storage space, which is a problem with snaps too.
I still prefer to rely on official repos but I do use a few Flatpaks here and there. But one of the main reasons why I don't run Ubuntu is because of Canonical's aggressive pushing of snaps.
It depends. Kind of prefer Flatpaks as they are always working as expected on any distro, but some of them are giving me just too much struggle.
For example, dealing with sandboxing, or especially VSS code app. Yes, there are instructions, but then I install Golang SDK via Flatpaks the hard way (using CLI) for Go development, then having a nightmare trying to setup everything in vss code. Then how tf should I access go binary within my host terminal?
On Arch Linux I just tend to install from official repos, while the rest of apps - from Flatpaks.
Personally I don't like the way they are sandboxed, bit as long as it works I am fine.
That seems to be the running theme, the defaults for the sandbox seem to be wrong for some people and there is no easy way to change them.
Also, I am sure I would like Arch, my problem is that I was using Manjaro, which is the distro I originally fell in love with and basically converted me to using it full time, but a long time ago. Now it sucks.
I use flatpak first for everything, but VSCode was one that I absolutely installed the old fashioned way. It just needs to much system integration and I couldn't figure out how to let it out of the sandbox enough to make it work reliably. But it is the exception.
Simple example when I wanted to install the latest version of Okular, which came as flatpak. Owing to sandboxing it couldn't do the inverse search from a pdf, calling Emacs to open the tex file that generated the pdf. My workflow was broken. After spending half a day in forums trying to understand how to give more permissions to the flatpak, I finally ditched it and am using the older version from apt. Works seamlessly.
I personally still prefer native, but flatpak is my goto for whenever something isn't working or when the official repos are outdated.
The other day I tried to use Malt for blender but it wouldn't work on the native version because it was using the wrong version of python. The flatpak version works perfectly with Malt, but for some reason I don't feel like troubleshooting, the OptiX denoiser doesn't work.
Still though, flatpak is a welcome option and is way better than snap.
That is so strange. I think people are underestimating how important up-to-date packages are for certain kinds of workflows, and short of reinstalling everything onto a rolling distro, the only sane solution is something like Flatpak, or directly installing every new binary as it comes out, which can suck and does not guarantee having all dependencies.
Nope, don't like them. Nor snaps.
I find the sandbox nature annoying and many developers don't actually seem to understand it correctly anyway meaning you have to use flatseal etc. Then having to deal with some apps writing config within the sandbox and some writing it outside the sandbox...
My order of preference is generally I pick the "official" supported version as opposed to any community maintained ones. Then within that:
Install via the language's package manager (cargo, npm, pipx, cabal etc.)
I've just had fewer issues with snaps. Honestly I don't care for either of them so the difference between them for me is pretty slim but I just find Flatpak to be particularly annoying, Snaps just haven't caused me any real issues other than polluting my device list with endless loop devices.
True. I have run into a lot of dumb issues with sandboxing, mostly in choosing a folder other than downloads for file interaction.
I have overlooked Appimage, and I will consider it. I am intrigued that you put it before native package. I had not considered using the package manager of the language it is built in, which honestly is probably the optimal way to install a package.
Alright, I have some reading to do. I love learning new ways to do things. I am glad I asked!
There is a bit more nuance to it I suppose - I like Appimages for "complicated" apps, i.e. big GUI apps like Inkscape where I prefer native packages for terminal tools. The nice thing about Appimages is that there just isn't much in the way of integration and therefore its really easy to just try something out with no risk of installing a bunch of extra dependencies and no way of breaking your system - I use Appimagelauncher for managing them but have been considering swapping to something like Appman/AM.
The other thing that sometimes puts me off of native packages is having to deal with excessive numbers of PPAs or other repos when they aren't in the main ones.
I handle it by spinning up an lxd container to try new apps.. then they have the whole machine to do what they like, and if the install doesn't work or I hate the app, just delete the entire container.
lemmy was one of the harder ones to deal with because it needs docker.. I have a special profile that runs docker in a container for apps like that (I never run docker bare, it f..s around with the firewalling and breaks stuff).
I had fedora installed the last few years, and was digging flatpak.... until I wasn't. One day I ran out of disk space - 230 Gb of flatpak dependencies. I run a pretty slim system, so what the actual heck? Did some research, learned how to flush cached and redundant packages, shrunk my flatpak deps to.... 150 Gb
It was likely the build up of a few years' packages, updates, and so on, but it eventually came to a head and I had to wipe and load. Maybe it's better now, but I think I started that install around Fedora 34? So not too long ago
Nope. I’ve been running Debian for the past six years after I got tired of messing with arch. I’m over my shiny new thing syndrome and am happy with old but stable software. I’ve tried some flatpaks but the only two that I use are Spotify and signal. They take a lot of space and updating is slow.
I agree that stability is important, perhaps paramount, in a computing system. Still, some software like Cura, improve with every release, and it is worth upgrading for every new feature.
Anyways, I have never been concerned with space. On the whole programs don't take up that much space compared to everything else I would put on my system like games. Also, I am the kind of person who wants all the software they would ever use installed on their system. I want my computer to be useful even when the internet goes out.
If you’re playing games, then latest software in terms of kernel and libraries are important. There’s a reason why valve switched to arch as a base for steamos. For my use case, I do a lot of coding in C using emacs so thing don’t really change that much. To each their own, that’s the beauty of Linux!
I still favor native packages, but I don't have a problem with Flatpaks. I'll use them when a program isn't available in the repo or there's a compelling reason to have a never version of an application. I'm on Debian Stable, so I'm obviously not obsessed with having the newest, shiniest version of everything.
Hahaha! I think developers seem to prefer it? My uses cases are 3D modelling and game engines like Blender, Cura, and Godot.
All those need to be the latest because often the updates are tremendous (as in great or awesome), making the software so much more functional and better to use.
Yeah, it also lets us ship working environments. At [email protected] we have been shipping our flatpak with an old environment because there was a regression in recent mesa versions that caused graphical issues on amd. We could simply deploy an update to resolve the issue for everyone instead of making everyone downgrade their system mesa..
Flatpak and Snap definitely make installation more simple. The packages come with their own dependencies so you have way less issues with conflicting dependencies. I like them when they are officially supported by the distribution or developer, but I prefer the official installations over supporting a random person making a package (not sure if this is a thing with Flatpak, but with Snaps that was definitely a thing).
Some software really benefits from not begin inside flatpak though, I had to switch back to the deb version of Visual Studio Code as the integrated console didn't have access to some software outside the package and was also logging weird errors.
I think that is what is pretty cool about them, that you can have both versions with no problems. Also, of course if the flatpak is giving me problems, I just uninstall it and use the package manager or something else.
i avoided flatpacks before.
but now that i tried out silverblue and had to rely heavily on them,
i have to admit that flatpacks are not nearly as bad as i thought.
the only issues i encountered are with steam (might not start propperly on first launch)
and with ides(terminal starts inside the sandbox)
People keep recommending it, I guess I will give it a try.
For a minute I was fascinated by GOBO Linux, and I really thought it would take off, but I think the developers must have moved on since there have been no updates. However, the 'recipes' seem to get actively updated, so maybe it is a stable enough system.
I use flatpaks mostly. Flatpak dependencies (runtimes) are stored separately from the host system so and don't bloat my system with unwanted libraries and binaries. App data and configs are stored separately and better organized. Everything runs in sanboxes. I use overrides extensively. All these are very convenient for me.
There might be an increase in startup time and RAM usage because it loads it’s own dependencies instead of using system libraries, but the difference is probably very little.
Most software does not change that significantly, so there is no loss in holding back, and usually just the benefits of not breaking your workflow, or your system.
What's good about AppImages? Imo they're the worst packaging format; you can't install and upgrade them from the command line like with native packages or Flatpaks, there's not a repository-like centralized place for them, they get messy quickly since there's not really an "official" default installation path so it's up to you to keep them organized, they don't integrate with system themes very well and you need a separate program (AppImage Launcher) to even get them to show up as an installed program or even pin them to your taskbar.
You have outdated information. There are no longer any tradeoffs to AppImages:
Yes there is no "official" default installation path, but like how XDG_DATA_PATH isn't technically a standard but practically it is, the de-facto standard is ~/Applications now, and most AppImage-based tools respect that.
They integrate fine with the system. Better than Flatpack and Snap, actually. I've had lots of issues with flatpaks not respecting themes, but never AppImages. Not sure where you got that from.
I solved the other problem with AppImages with a package manager I wrote. Centralized location pointing to AppImage urls, and it downloads and keeps them updated. And no, you don't need to write your own, there are multiple AppImage package managers out there.
On the flip side, there's no weird extra locations like how flatpak installs apps, you know exactly where the program is in case you want to launch it manually, you can mix apps available in your package manager with ones you download directly seamlessly, no dependency hell or version problems as AppImages are self contained (even multiple versions at the same time), etc, etc, etc all the benefits people spout about AppImages.
AppImages imo are the superior cross-platform package format as there are no tradeoffs and no downsides, meanwhile:
Snaps are slow and proprietary
Flatpaks suck to create and maintainers select-all on sanboxing, defeating the purpose, so it's a complicated mess for no reason, and they also have bad theming that never works half the time.
That is cool. I imagine it would be great to have an array of USBs with different distros for specialized uses.
For the most part, I don't even look at the version number when downloading packages. Most of the time it does not matter. Still, when I need something up to date, all I have to do is choose the flatpak version.
For me the perfect example is GNOME Builder (I use KDE Plasma) but this package has it all. No, you dont need to download any dependencies, the sandbox handles it all!
That's not all that different than a traditional package manager. You're downloading the dependencies either way. With Flatpak, they're bundled in. With a traditional package manager, it just fetches all the dependencies and shows you that they're being installed one-by-one. Either way, it's one command to install.
Sadly there's reality. The reality is to get away from the evil distributions the Flatpak creators have made... another distribution. It is not a particularly good distribution, it doesn't have a decent package manager. It doesn't have a system that makes it easy to do packaging. The developer interface is painfully shoehorned into Github workflows and it adds all the downsides of containerisation.
While the developers like to pretend real hard that Flatpak is not a distribution, it's still suspiciously close to one. It lacks a kernel and a few services and it lacks the standard Linux base directory specification but it's still a distribution you need to target. Instead of providing seperate packages with a package manager it provides a runtime that comes with a bunch of dependencies.
If you need a dependency that's not in the runtime there's no package manager to pull in that dependency. The solution is to also package the dependencies you need yourself and let the flatpak tooling build this into the flatpak of your application. So now instead of being the developer for your application you're also the maintainer of all the dependencies in this semi-distribution you're shipping under the disguise of an application. And one thing is for sure, I don't trust application developers to maintain dependencies.
Even if there weren't so many holes in the sandbox. This does not stop applications from doing more evil things that are not directly related to filesystem and daemon access. You want analytics on your users? Just requirest the internet permission and send off all the tracking data you want.
Developers are not supposed to be the ones packaging software so it's not hard at all. It's not your task to get your software in all the distributions, if your software is useful to people it tends to get pulled in.
Another issue is with end users of some of my Flatpaks. Flatpak does not deal well with software that communicates with actual hardware. A bunch of my software uses libusb to communicate with sepecific devices as a replacement for some Windows applications and Android apps I would otherwise need. The issue end users will run in to is that they first need to install the udev rules in their distribution to make sure Flatpak can access those USB devices. For the distribution packaged version of my software it Just Works(tm)
I have been for awhile. It also all exists in my home directory, so when I format my root and throw a different OS on, all my flatpaks are ready to go without installing any native packages. It's just a more consistent experience using flatpaks.
Whoa. I had not considered backing Home that way! That is slick.
Honestly, reinstalling or moving to a new distro is such a bear precisely due to the time setting up my environment and all the software. I KNOW I can script all this, or at least have a list of packages I use, but it does not really work when different package managers use different naming schemes.
Yeah as long as you at least copy your home user folder, then you're golden. I plan for my root to be wiped at any given time, so my important stuff lives in my home. That's why it's super nice with flatpaks! I believe if you install as user and system flatpaks, I think they both install in home? I'd stick to installing as a user for flatpaks if you can, it's the same end result anyways and I've never had an issue.
I haven't used any flatpacks, mostly because they don't seem to have a good solution for running terminal programs. (Also I don't like that the application developer chooses the permissions to expose rather than the user.
However, I have been using bubblewrap which is what flatpack uses under the hood to sandbox. This allows me to run both gui and non-gui programs, and I have the control of exposing the minimum required permissions that I'm comfortable giving an untrusted piece of software.
I will be honest and reveal my naivete about the permissions. I don't really mess with permission for any program, but I can see how some defaults may be bad.
I will look into bubble wrap, since the sandboxing is important, but the sheer convenience and availability of software is what is appealing.
Flatpaks are my second choice when there isn't a recent enough version in the repos. They're fine but take 1. too much storage space, and 2. are usually slower
I have never considered speed. For example, it may be foolish to use flatpaks for Blender or Godot engine? Or perhaps is it the startup speed that is slow?
yes i'm talking about the startup speed. It's not as bad as snap, but noticeably slower with some apps (it can be annoying for a web browser for example)
Theoretically I like the idea but in practice too many bugs, too much disk space, not really clear how to change font size for example... and after all that, some apps are not in flatpak. It is not ready for me yet.
I must be lucky to not have run into drugs, but damn it is probably inevitable. Okay, I will find a better solution. Appimages are apparently the superior version of this concept.
Well... not really. I like them, but flatpak has sandbox and much wider scope. Flatpak also has official repository you can trust, while app images are usually created by random people. Use only ones from original developers or sources you trust.
As someone who uses Linux but only kinda, what advantages does flatpack offer over installing something with the provided package manager? (In my case that's apt)
I like containerization for server applications, especially when running different services on one box. For desktop use, native libraries are stable and usually the applications being used are single instance. I don't see a point in running desktop apps in containers.
recently rebased from fedora to debian, and reinstalling apps through flathub was ridiculously easy because all the settings and data were preserved in /home. also flatpaks incorporate newer mesa than what comes with debian stable, so it's an easy way to stick with a stable distro but also be up-to-date in userspace.
Yeah, the glory of owning more than one computer. I have a few that I can put to work. Too bad older computers are not as efficient, but perhaps I can invest in a UPC solution that takes solar so not to waste too much energy.
That is a good point I have not encountered too often. I don't tend to customize the programs I use. I tend to just learn the defaults for that program.
Anyways, people keep recommending FlatSeal, which is a graphical way to customize Flatpak permissions, so that may be helpful to you.
When I first used it it felt like they were usually out of date or missing. But nowadays It seems like I can find like 90% of the apps I use as flatpaks, leaving packages mainly for backend and terminal stuff.
If you can't see the possibilities behind automated tasks that you have no control in... then I'm afraid to say that talking to a nearby wall will be more fruitful than (even trying to) start a convo with you right now.