Room: BBL room 416
Speaker: Armijn Hemel
Title: NixOS: the Nix based operating system
The subject of this thesis is how the Nix package management system can be
applied to manage a whole Linux distribution. Many conventional package
management systems have drawbacks that Nix fixes. But, Nix has never been
used to deploy and manage a whole system.
In this thesis a proof of concept Linux distribution called NixOS is described.
NixOS uses the Nix package management system to manage all software that is
installed on the system, including the Linux kernel, all software and system
Using Nix to manage all software on a system, as is done on NixOS, has several
advantages. Developers don't need to be worried that unwanted dependencies are
picked up during the build of a software package, since these are completely
eliminated. System administrators get the possibility to deploy services using
Nix and how they can immediately use all benefits from Nix, including atomic
upgrades and rollbacks, without going through a painful cycle of rolling back
a service, with all its, possibly also updated, dependencies.
This thesis describes the implementation NixOS, including pitfalls that were
encountered and choices that were made. Also shown are some concrete results
of running NixOS and how NixOS can be bettered.