Why tf does every app have to mount itself as a virtual block device?
Because fuck you, that’s why
Serious question: why not? What’s bad about that?
Because with snap
lsblk
gets very cluttered, making it hard(er) to find any disk you’re looking for.Edit:
lsblk
or any other command that lets you see all the connected disks reallyYeah it feels like unnecessary bloat
This annoys me when I don’t have a command aliased to filter them.
And it annoys me that I have to make an alias just to filter them, my fish config must only have what’s necessary 😤
Apt is kind of broken, to be honest. No package should have full system access during installs or execution.
How the hell do you learn to use nix. I’m not a programer but figured out how to run gentoo just fine with the guide. nixOS feels like I’m in a mirror maze in the dark and the room is rotating.
Well, Nix is a programming language, so there’s no getting around having to learn basic principles of coding.
That said, I feel like coming into Nix with a lot of programming experience actually worked against me at first, because I made a lot of assumptions that weren’t true and basically had to “unlearn” certain things.
The main things being:
- Lazy evaluation is trippy as hell sometimes
- The language truly does not allow for side-effects. Everything you might think is a side-effect is really executed from outside the language runtime itself
- It might be more accurate to think of Nix as a database, where the keys are the parameters of what to build and the values are directories full of the built artifacts
What really made it click for me was seeing how a derivation object is basically equivalent to a path. So if I do
”${pkgs.foo}/bar”
, that’s the exact absolute path (plus /bar) where Nix will end up storing the output of the pkgs.foo derivation. Even without actually building the derivation, you can know where it will end up.Anyway, the documentation is pretty shitty, so you basically have to scour every community resource you can find and read way more of it than it seems like you should have to. Discord/Matrix servers help a lot too. And learning to navigate the source code for nixpkgs.
Also: Don’t start with NixOS, imo. Start with dumb throwaway stuff where you make a derivation that downloads a file and unzips it and runs a single command. Once you understand that, do something that requires understanding a bit of nixpkgs, like using overlays. Then you can use NixOS. Otherwise, there’s too much going on all at once.
Edit:
- Nix pills is good
- Vimjoyer is amazing
Flatpak and SystemD Portable services are actually pretty good.
That’s the direction I see Linux going. I personally use NixOS because I am sad.
I looked into Nix but it seemed like it locks you into using bash for your shell. Is that the case?
Sorry I was meaning in the context of using nix-shell for isolated reproducible environments. I read that things can go wrong if you try to use a shell other than bash
You could use something like nix-your-shell.
Excellent, ty for showing this to me
Tar is not a package manager, it is just a packaging format. AppImage has the same problem.
Flatpak is a bit of a crappy package manager but at least it is one. And, due to its use of container technology, it allows the same packages to run on any Linux kernel (any Linux distro). That is pretty useful.
Of the other package managers, apk 3 is my favourite but the only distro that uses it is Chimera Linux. Pacman is good. dnf / RPM is ok. apt / deb is in last place for me. The recent Ubuntu 25.04 launch snafu illustrates some of the problems with apt. The first Linus Tech Tips Linux challenge really highlighted the dangers of apt.
I only used snap briefly but instantly hated it. Fstab was a mess. It was slow. It was proprietary. I fled before I could form an educated opinion.
it allows the same packages to run on any Linux kernel (any Linux distro). That is pretty useful.
flatpak itself depends on namespaces, so saying that it works on any kernel is quite an stretch.
Can flatpak do this? This is a GIMP3 appimage running on ubuntu 10.04 without any container:
The kernel is so old that even the appimage runtime itself complains of missing functions and has to fallback to a workaround.
Just curious, why are you using a 15 year old version of Ubuntu?
I’m not, it’s a vm that I use to test.
There is quite a lot of systems still stuck on kernel 2.6 that can’t be updated, so it is always nice to make sure what I do can work on such.
Last usable version
I’d love to use flatpak more, but with my peculiar internet situation, installing a single package can take 6-7 hours.
Only tangentially related - but a friend brought over a new kubuntu install and Canonical had the cheek to demand money for VLC patches? They don’t fing own VLC. What the actual f is going on over there, Canonical?
Is it backports for an old version?
I don’t know, this was for a system on kubuntu 24.04, the latest up there. I removed it, replaced it with debian and kde - my friend isn’t a gamer, doesn’t require anything bleeding edge, so that was just a better choice in our opinion.
Mark Shuttleworth is a greedy bastard and it’s finally starting to show.
Eh. He’s done more for Linux than you, I, or anyone else in this thread for that matter.
my issue with snaps is honestly just that they are controlled too much by just one entity (canonical) and there is no reason for them to exist because flatpak already does everything they do.
My issue with snaps is also the power that Canonical has to fuck you over one day, because of the centralization that you mentioned, but also that their shitty fucking packaging format sucks ass and breaks everything but the most basic of apps. I’ve wasted hours trying to help people with their broken applications that were hijacked when they typed
apt install whatever
and “whatever” was actually a fucking broken snap package.Flatpaks and AppImages actually do the fucking things they’re supposed to. Snaps don’t, and Canonical is pulling a Microsoft by hijacking your package manager.
Also, Snap sandboxing only works with AppArmor, so if you were hoping that all the breakage was worthwhile because you get sandboxing, you don’t if you’re on anything but a handful of distros 🙂
Yup, thats why a tarball is better
Let me know when I can get cups as a flatpak.
(Oh and snaps predate flatpaks.)
Still don’t know how I’m supposed to add dictionaries to FF on snap. So many little issues like this with snaps.
I need nothing but apt or dnf. Miss me with that other junk.
LFS + conda
Weird way to spell pacman
As an Arch user for many years, my question is when is Arch going to ditch pacman and upgrade to APK 3?
I’ve never used it – what do you like about it?
I use apt and flatpak. They both are good for what they do.
Why do you need flatpak
Why do you need flatpak
Not OP, but I like Flatpak (in addition to Apt) because it doesn’t require escalation to add or remove packages, so my kids can self-serve adding or removing games.
ensures software support when the developer in question is a moron
When using certain apps I prefer them being containerized on my system. It’s case-by-case for me. I keep steam containerized, my web browser containerized, etc.
But…why
In the case of steam and web browser, the containerization means I can control their access permissions via flatseal. This adds another layer of security, since they’re both web-accessing applications, and it’s easier than setting up a VM to run those applications.
Be aware the sandbox of flatpak is not safe for web browsers, specially firefox based browsers:
https://seirdy.one/notes/2022/06/12/flatpak-and-web-browsers/
https://librewolf.net/installation/linux/#security
https://github.com/uazo/cromite/issues/1053#issuecomment-2191794660
Ah, wasn’t aware. Will have to look into it more.
I use boring Debian, so apt and older packages, and flatpak for a few programs that I want up to date.
Flatpak is a common way to install something newer than you can get in your repo. If you are using apt in Debian Stable, Flatpak is a miracle. This is even the reason Ubuntu installs Firefox as a snap (their version of Flatpak).
Because it just works. After being with computers all day fixing the insane problems that other people create I just want to come home and press buttons and have things work
If you are going to be running an Atomic/immutable distro, you really want to use things like flatpack/snap/appImage to keep your user space separate from the OS.
Oh, you can sledgehammer an rpm/deb/what ever into the underlying OS. But if you do that, why did you choose an immutable distro in the first place? It’s kind of the whole point.
Muh portage tho😲
laughs in Nix and NixOS
AppImage is the no-nonsense universal package format.
Absolutely my favorite. Just download and go. Super portable.
The lack of package management sucks though
It would, if there were no other options for package management. Package formats don’t have to be either/or. My systems typically end up with mixes of native packages, flatpak, appimages, and you could technically consider Steam a package management system as well.
Last time I read something from the main dev I almost ran stright into the woods.
Also idk about how it is the management situation, portals integration, etc…
AppImages have a lot of problems
Like not updating or shared dependencies duplicated for every single app image
Just use flatpak
or they somehow still find a way to not work. I can count the number of times i had an appimage just work, and it is exactly 2. Any other time i had crashes
That’s because we are…
If .y Firefox will once again be updated without asking me and then refusing to open any page without a restart I’ll fucking lose it
Wait hold on wait, does that bullshit have something with Firefox being distributed through Snap?
If it does, I’m going to sn… also fucking lose it
I have bad news for you …
(TBH I am not sure, but as I remember, this problem was specifically a snap problem.)
Yeah, it’s snap
Always updating without letting you know, without asking and it’s ALWAYS at the most inconvenient time
Ah gotcha, it’s not the cause but it makes the problem way worse
It basically IS the cause as it’s the system doing the updates without asking. But snap has other issues too. For one, it’s the slowest installer in recorded human history, it takes literally ten times longer on snap to install anything. Why? Beats me, in theory it ought to be faster as it shouldn’t have to resolve dependencies but here we are. Try installing anything with snap, it takes forever.
Then, snap is closed source eon the server side, so fuck all of that, that’s already 200% of reasons not to use it ever. I don’t trust closed source software anymore
It’s not about the package management method that we use. It’s about the friends and enemies we made along the way (while arguing about package management.)
You can change the labels but the groups in them would remain the same. :)
i just got an Ubuntu machine at work, and really simple packages are only available as snaps. so i guess i’m going to try out Nix home-manager