KDE Linux deep dive: package management is amazing, which is why we don’t

As a KDE+NixOS user, something in the article bothers me. Maybe I misunderstand or maybe there’s something Nix/NixOS have been doing better. I struggle to pinpoint what bothers me, maybe I’ve grown out of KDE and haven’t realized it yet.

1 Like

His comments about the issues with package management really only apply to binary distribution systems like apt/pacman. Nix/nixos sidesteps all the issues he mentioned. Every single one. Says something to me about how much of a quantum leap nix really is in the field of package management…

7 Likes

Nah, i think nixos makes at least a small leap.
like a centimeter leap, not just quantum.

2 Likes

But yeah, for some its barely noticable

I actually quite like this article! I think if you’re interested in novel Distro architectures that aren’t nix, I’d really suggest looking at Bluefin (under the less searchable UBlue project). Bluefin does a lot of really cool things with a more traditional Linux setup, and is probably my goto recommendation for casual users looking to get away from Windows or MacOS. But I do have a few nits about the article:

But still, none of them can fundamentally solve the problems I outlined earlier.

Except immutable distros, of which the NixOS family is the most powerful.

The Discover graphical app store is a waaaaaaay more user-friendly way to get GUI apps from Flathub or anywhere else.

This bothers me simply because I dislike discover’s UX.

I think the major thing which isn’t spelled out as clearly as I’d like it to be in this article is: What is a package manager? Nate talks about Flatpak, Snap, Homebrew, and Nix as if they are not package managers. From that context, I’m left to assume a package manager is a tool for installing software which does so by applying mutations to the system and operates as root. This is a very restrictive definition of a package manager, but sure, go for it. Under that lens the only thing about the article that doesn’t make sense is why Nate still loves package managers after excluding all the sane options from the definition.

3 Likes

I can’t tell if you’re making a joke or don’t actually know the idiom, so here: A quantum leap - Idioms by The Free Dictionary

Universal Blue is a great project which I enjoyed being part of for some three years until I finally pulled the plug and switched to NixOS–I also used Nix and Home Manager with my Universal Blue Kinoite custom images for that time.

NixOS might not be perfect but it plays on a completely different league. Maybe with the exception of GNU/Guix, every other distro including UB feels irrelevant to me when compared to them.

3 Likes

You might find this project interesting: GitHub - nix-community/plasma-manager: Manage KDE Plasma with Home Manager [maintainer=@HeitorAugustoLN]

2 Likes

I mostly agree, I think Nix is technically superior in almost every way (the one exception I can think of is UBlue having a better security posture than Nix, at least at time of writing). But being technically superior doesn’t necessarily mean a better experience to me. I use NixOS on my servers and desktop, but I use UBlue for (consenting) family members and my laptop; where the “batteries included” approach is more important to me than the rich customization, features, and IMO better packaging model of NixOS.

Yes, it was a joke, since it means both, subatomic or kinda big

I had high hopes for SnowflakeOS (https://snowflakeos.org/), but it seems dormant now, which is sad.

For context: I use a single flake to manage my home-lab server, desktop workstation, and laptop. The flake defines which channels each system builds from, pulls individual packages from other channels when needed, installs software via NixOS modules (apps, DE/WM, etc.), manages user configuration with Home Manager, and applies hardware-specific overrides. All of this is expressed through clean host profiles where I simply toggle features on or off.

Since I originally built it around Nix/NixOS + KDE 🩵, I’m now refactoring it so the same flake can manage Nix + Home Manager configurations on non-NixOS hosts, including macOS.

I’m not using Disko yet to define system partitions, but it’s on the roadmap :slight_smile:

In practice, this gives me lifecycle management and reproducibility I’ve never seen outside NixOS. It’s a pity there isn’t a more turnkey distribution leveraging this model for newcomers (for the record: I still feel like one). The value is already there; it just needs packaging.

1 Like

I’m hugely appreciative of NixOS and for my servers it’s the duck’s guts (read: the best ever) and for my personal dev machine it’s really good.

But I think a direct comparison to KDE’s new distro ‘KDE Linux’ is a bit strange, because KDE Linux is aimed at a target user that NixOS currently doesn’t aim itself at well at all,
which is users who want to do everything graphically, including installing applications (so a graphical ‘application store’) and configuring the system (so a graphical ‘system settings’).
Please tell me if I’m wrong but I don’t think NixOS fits there.

I’d consider putting NixOS on family member’s machines, but only when I’m already the only administrative person for that machine. In that case, it’s really powerful for me as the administrator and the user gets a fairly stable experience.

For family members who still want to install applications themselves, I wouldn’t bring myself to. And this is where I think a distro like KDE Linux, or some of Fedora’s ‘immutable’ style distros, might work best, because it’s still quite rock-solid, but they still have the ‘userspace’ package management available to them.

Nixos could also be viable even for those who want to install their own software, so long as it’s “application” software, rather than cli tools and such. Flatpaks should fill that requirement just fine even on nixos.

1 Like

NixOS has the potential to replace KDE linux in All of KDE linux use cases, installing flatpaks both in a graphical (via discover) & declarative manner (via nix-flatpak) is totally possible with nix, plus you would get a better method for shipping updates as derivation flake output vs having to download a whole new system image, & even distributing the system as a disk image is a target, NixOS also supports that easily with the same derivation (almost no extra steps), NixOS KDE could actually become a better KDE distro just if all kde packages’ issues in nixpkgs are fixed (which is much less work than using arch to build a whole new image based distro)!, so I don’t really think KDE linux adds much compared to effort done by kde developers (specially the needed maintenance), however given that nix experienced kde developers might not be that many is probably the main reason behind KDE linux design choices.

KDE Linux is also meant to be the reference implementation of KDE iirc. I don’t think it would achieve that very well if it went too far down the immutable path which looks very different from most distros.