Hacker News new | ask | show | jobs
by pmarreck 31 days ago
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.