86
Arch or NixOS?
(self.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.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
As a recent NixOS convert coming from Bazzite (Kinoite/Silverblue with user friendly daily driver and gaming tweaks), and before that mostly Arch-based distros, I'd say it boils down to the tradeoff between having way more control over reproducibility and having to deep dive into the often poorly documented domain specific rabbit hole that is Nix. If you're comfortable with going out of your way to learn, looking for examples, reading source code to find out what options you can use or how stuff works, it can absolutely be worth it but it's a steep price to pay for sure.
I personally adore what Nix sets out to solve and find it extremely rewarding to learn. Plus, as a developer, I enjoy puzzling out how to get stuff done and don't mind diving into the source if I need to, so it works for me. I'd absolutely prefer solid documentation, of course, but it's not a deal breaker.
When it comes to software, the Nix repo has a staggering amount of prebuilt binaries ready to download (which you can search here) and it's often not too hard to hack together your own reproducible package if you want after you get comfortable enough with it. At least for my use cases, I haven't really missed much from my days using Arch and the AUR. If anything, I appreciate how much more consistent it tends to be in comparison.
If you, like myself, go for a flake (yet another rabbit hole within a rabbit hole) based setup and point to the unstable repo, you basically get a fully reproducible, easy to update and rollback rolling release not too dissimilar to using Arch with auto btrfs snapshots enabled. That's how I used to do Arch and it feels pretty familiar.
Anyway, that's what I got. If you have any more specific concerns or questions I'd be happy to elaborate!
Edit: I forgot to add but I find a nice way to get comfortable without fully commiting is using Nix as a package manager on any old distro. You could install it on Endeavour (I recommend this method) and play around with Home Manager, use it as a dotfiles manager on steroids, have it declaratively install and manage the CLI apps you can't live without and whatnot, see how you like it. That's how I started, I have a common HM config I've so far used with Debian at work, Ubuntu running under WSL when I'm on Windows and now NixOS itself.