Hacker News new | ask | show | jobs
by pmarreck 32 days ago
> My main issue with Arch was that after installing and trying stuff it left OS dirty even after package removal

Yeah, that's literally a problem with every single OS that is not NixOS (or, shoutout, Guix, or the other Nix-based variants).

That's also why I am sticking with NixOS. Been at least 5 years now- it's wonderful having a reliable LINUX system as my daily driver (or one of them).

And you can reboot into any old configuration! Even more insurance against fuckups!

> I am finally settling on it be the last OS I need

Same here. As soon as I got everything set up just how I like it in a declarative, reproducible fashion, I had this feeling of... "OK, this is great. I can't see a reason to ever leave this."

1 comments

Not a Nix user yet, so i'm wondering if you can describe a little more about the "reproducibility" aspect which implies that you are often "reproducing" stuff. What needs reproducing? What is a basic daily-driver use case for whatever we are "reproducing"?
The entire system configuration is one file or a small set of files. If you copy it to a different machine, you can "run" it and get pretty much the same machine. If you screw up the config, the system tells you before it even tries to apply it. If something breaks while applying it (which is rare), NOTHING is broken because the entire system still points at the old instance, since cutover is atomic. This is already different from pretty much every other system out there. And if you reboot and things are STILL messed up, you can boot into a previously-known-good instance and repair things from there, without using a bootable USB key.

The builds are deterministic, unlike on any other linux or other OS, because Nix basically captures a closure of all the possible inputs to a build, which means that the build always "sees" the same things, which means it always builds the same way. Once you grok this, doing it any other way will seem insane.

Truth be told I think I only appreciated it more after having used (and bricked) other Linux distros simply by "installing the wrong thing". This is what i mean by "daily driver". You need something reliable AND reconfigurable for that; NixOS (or nix-darwin on Mac) offers both.