NixOS is a Linux distribution built around the idea of reproducible, declarative system configuration. This is different from most major distributions in the sense that you always get a computer set up exactly the way you specify. This is particularly alluring when you use multiple machines, or switch out your hardware quite frequently, as you’d be able to set up identical environments with ease.

While NixOS mainly concerns itself with system management, the project Home-manager brings the same workflow to user environment management as well.