Was genau ist NixOS und was macht dieses OS besser als alle anderen? Das ist eine sehr gute Frage und die Standardantwort darauf, ist in meinen Augen nicht immer einfach. NixOS kann man grundsätzlich mal mit den folgenden Aussagen definieren:

  • Deklarative Systemkonfiguration
  • Reproduzierbare Builds
  • Atomare Upgrades
  • Rollbacks

Das klingt doch schon mal sehr sehr gut und erinnert in erster Linie an Ansible, Puppet oder Saltstack. Wenn man mehrere Server verwalten muss, weiss man diese Tools zu schätzen!

Doch was genau ist jetzt so speziell an NixOS? Hier ein kleines Beispiel. Ich würde gerne einen Nginx auf einem System installiert haben. Die Konfiguration bei NixOS sieht hierfür so aus:

$EDITOR /etc/nixos/configuration.nix:

services.nginx.enable = true;

Danach kann man die Konfiguration testen:

nixos-rebuild dry-build

… und bei Erfolg aktivieren:

nixos-rebuild switch

OHHH ja! Ich weiss jetzt schon, dass ich damit viel Spass und sicher auch Frust haben werde!