Credit: https://nixos.org
OUR EXPERT
Matt Holder has been a fan of the open source methodology for over two decades and uses Linux and other tools where possible. In his spare time, he enjoys listening to music and reading.
We’re continuing our look at next-gen Linux distro paradigms, moving on from our dive into the Fedora Silverblue (LXF299) immutable system to NixOS, another example of an OS that uses modern techniques to make distros as reliable and secure as possible. This operating system handles things very differently and also uses a lot of the same techniques as the tools that can be used when utilising the infrastructure as code methodology.
NixOS centres around the Nix package manager, which is used to build applications that are installed in a very different way from what we’re used to. Applications can be installed on a per-user basis, or for every user. When installed, each app is stored in its own directory and multiple versions of the same application can be installed. Each directory contains all of the application’s dependencies and, again, multiple versions can be installed across the system. Applications installed or upgraded using this system are atomic, meaning that the rest of the system will not be broken if an upgrade or installation fails. Should a bug be found in a version of software, it can be rolled back, due to the old version not being deleted straight away. Garbage collection is also something that is built into the Nix package manager and old versions can be deleted periodically. Automatic updates are also easy to configure with the system.