NixOS
NixOS is a Linux distribution whose first version was released in 2013. It is different from Nix, the package manager on which it is based. When applied to the entire system, Nix's purely functional deployment model makes NixOS stand out from other distributions. Among its strengths:
-
System reproducibility: NixOS is based on a declarative model. The entire OS
is built by Nix from configuration files (the main one is
configuration.nix
, located in/etc/nixos/
). The configuration can be modified and rebuilt at any time using thenixos-rebuild switch
command. This makes NixOS easily reproducible. It allows you to get the desired configuration files on the target machine and to launch a build on this machine. - Atomic and reliable updates and rollback system: Each build is kept in memory which allows to come back to any previous version. In case of interruption during a build, a power failure for example, the system restarts autonomously on the previous version.
- Package management: Nix manages packages in an isolated way. It allows different versions of the same dependency to coexist on the same device. This management is also facilitated and optimized between several users.
Related articles

NixOS: Enabling LXD virtual machines using Flakes
Categories: Hack, Learning | Tags: GitHub, Learning and tutorial, Linux, LXD, Packaging, VM, NixOS, Open source
Nixpkgs is an ever-increasing collection of software packages for Nix and NixOS. Even with more than 80,000 packages, you easily run in a situation where there is a functionality that is not yet…
May 13, 2022

Nix package creation: install a not yet supported font
Categories: Hack | Tags: Learning and tutorial, Linux, Packaging, GitOps, NixOS, Open source
The Nix packages collection is large with over 60 000 packages. However, chances are that sometimes the package you need is not available. You must integrate it yourself. I needed for some fonts which…
By David WORMS
Mar 29, 2022

Reliable and reproducible Linux installation with NixOS
Categories: Infrastructure, Learning | Tags: Arch Linux, CentOS, Linux, OS X, Packaging, Ubuntu, VM, NixOS, TDP
When using an operating system, upgrading packages or installing new ones are common tasks that introduce the risk of affecting the stability of the system. NixOS is a Linux distribution that ensures…
Feb 8, 2022

Nix introduction, main concepts and commands
Categories: Infrastructure, Learning | Tags: Arch Linux, CentOS, Linux, OS X, Packaging, Ubuntu, NixOS, TDP
Nix is a functional package manager for Linux and other Unix systems, making the management of packages more reliable and easy to reproduce. With a traditional package manager, when updating a package…
Feb 1, 2022