I use system packages for everything unless I need a newer version of a specific package for some reason.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I was using Flatpak and Toolbx exclusively until I discovered Nix. It's much better than using those two.
No, because I don't have a very powerful computer
Even if I did, I would still prefer to have native applications because it would be more permissive
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 prefered AppImages, but now that I'm on Nix, I've gone back to native. Native packages work well in the NixOS ecosystem.
For sure certain package managers are better than others, and NIX seems to be in a class of its own.
I don't know how much time I am willing to invest in NIX, or Guix for that scheme power, but I can do myself a favor experiment with a few VMs.
In place of snap OF COURSE.
I can state without any doubt that i had problems with 80% of the programs coming from snap..
Are they related to PPAs in any way? It seems like anything Canonical does to improve package management ends up sucking.
Definitely not me. I am on LiveUSB right now which makes my disk volume limited. And native packaging satisfies my needs (even when packages are old)
Absolutely not, and this article goes into quite a few reasons why:
https://blog.brixit.nl/developers-are-lazy-thus-flatpak/
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)
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!
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.