Nixos

Homepage, Nixos manual, package list, list of configuration options, wiki (currently pretty empty).

Nixos is an OS built on top of the Nix package manager. The originality of Nixos is its declarative approach to system configuration and its possibility to roll back after an upgrade.

To configure a Nixos machine, the user just has to modify a configuration file (/etc/nixos/configuration.nix, which can optionally be split in sub-files) and then call nixos-rebuild: the system configuration will change and reflect the demanded state. This is different from traditional OSes in which many "imperative" commands have to be executed on top of changing the configuration (e.g. apt install to install packages). Another advantage is that the configuration file(s) can by synchronized with versioning tools (such as git), so that configurations are repeatable.

Installation

See the Nixos manual.

From a nixos ISO

From an existing Linux system

Nixos can be installed from a running Linux system: it replaces the boot loader and moves all the content of the old file system into /old-root, so that next time you boot you have a Nixos OS. See https://nixos.org/nixos/manual/index.html#sec-installing-from-other-distro

The installation steps are, roughly, the following: