NixOS
A Linux distribution where the entire system configuration is written as code — reproducible, and easy to roll back if something breaks.
NixOS builds the whole operating system — packages, services, configuration files, users — from a single declarative description. Instead of running commands that gradually change a system’s state, you edit a configuration file describing what the system should look like, and NixOS makes it so.
That has a few practical effects worth knowing about:
- Reproducibility. The same configuration file produces the same system, on this machine or another one. Nothing gets configured by hand and then forgotten.
- Atomic upgrades and instant rollbacks. An update either fully succeeds or doesn’t apply at all — there’s no half-upgraded state. If a change breaks something, rolling back to the previous working configuration is a normal, supported operation, not a reinstall.
- Isolated packages. Different programs (and even different versions of the same program) don’t share global state the way they typically do on most Linux distributions, which cuts down on a whole class of “it broke after I installed something else” problems.
It has a steeper learning curve than a mainstream distribution if you’re used to installing software interactively — you’ll be editing configuration rather than clicking through installers. Worth knowing: this site’s own hosting infrastructure — the server and the virtual machines it runs, including the one serving this very page — runs on NixOS.