NixOS Teil 2 - Installation und Konfigurationsdatei

Mo, 15. November 2021, @65536@troet.cafe

Die Installation von NixOS stelle eine gewisse Hürde dar. NixOS verfügt nicht über einen komfortablen GUI-Installer wie Calamares oder Anaconda. Es stehen ISO-Images für Livesysteme zur Verfügung, welche eine ausführliche Anleitung und die Kommandozeilenwerkzeuge zur Installation beinhalten. Allerdings ist auch nicht allzu viel Vorwissen zur Installation nötig. Neben Englischkenntnissen zum Lesen der Anleitung ist lediglich das händische Partitionieren und Mounten wichtig, falls man von dem vorgegebenen Beispiel abweichen möchte.

Wichtig: diese Artikelserie soll weniger eine Anleitung darstellen, als eine grobe Vorstellung davon zu vermitteln, was den Interessierten bei NixOS erwartet.

Dokumentation finden

Es sind einige Dokumentationen verfügbar, um mit den zahlreichen Optionen der Konfigurationsdatei und den Nix-Befehlen etwas anfangen zu können. NixOS bringt die besagte Anleitung mit, die wahlweise mit nixos-help, als Eintrag im Anwendungsmenü oder unter https://nixos.org/manual/nixos/stable zu finden ist. Darüber hinaus gibt es https://search.nixos.org zum Finden von Paketen und Konfigurationsoptionen sowie das inoffizielle Nixos-Wiki, welches zwar bei einigen Dingen weiterhilft, an manchen Stellen aber etwas knapp oder veraltet ist. Das liegt an der vergleichsweise kleinen NixOS-Community.

Festplatte partitionieren

Die Partitionierung erfolgt manuell im Terminal, beispielsweise mit parted. Im Live-System ist dazu sudo su ohne Passwort möglich, da hier ein Passwort sinnlos wäre. Sofern man mit der Beispielpartitionierung der Anleitung zufrieden ist (boot, Swap und eine grosse unverschlüsselte ext4-Partition), kann man der Anleitung folgen, andernfalls sollte man die nötigen Befehle kennen oder nachschlagen. Die Partitionen müssen dann passend formatiert und so eingehängt werden, dass /mnt/ die Wurzel der neuen NixOS-Instanz darstellt.

Konfiguration generieren

Mit nixos-generate-config --root /mnt werden automatisch zwei Dateien in /mnt/etc/nixos/ angelegt. configuration.nix ist diejenige der beiden, die bearbeitet werden sollte. Es ist empfehlenswert, dazu insbesondere die Anleitungsabschnitte '13. Networking' sowie wahlweise '9. X Window System', '10. Wayland', oder einen gesonderten Abschnitt zu Gnome, Pantheon oder XFCE anzusehen. Definitiv sollte die Konfigurationsdatei auch einmal samt Kommentaren sorgfältig durchgelesen werden, um Dinge wie Zeitzone, Tastaturschema, Sound und zusätzliche Software korrekt zu deklarieren. Selbstverständlich sollte die Konfiguration anschliessend gespeichert und geschlossen werden.

NixOS installieren

nixos-install ist nun alles, was zur Installation nötig ist. Das System wird so aufgesetzt, wie es die Konfiguration vorschreibt, und keinerlei manuelles Kopieren oder weiteres Installieren und Konfigurieren ist nötig. All das wurde ja schon im vorherigen Schritt getan. Zum Abschluss des Installationsbefehls fragt dieser nach dem gewünschten Rootpasswort, und ein zweites Mal zur Bestätigung. Dann kann neu gestartet werden, anstatt ins Livemedium in die frische Installation. Sofern nicht bereits deklarativ geschehen, sollte man nun im Textmodus den Alltagsbenutzer erstellen und ein Passwort vergeben, um nicht den Rootaccount nutzen zu müssen. Das ist auch imperativ mit den klassischen Befehlen useradd und passwd möglich.

Konfiguration ändern

Die Datei /etc/nixos/configuration.nix kann jederzeit angepasst werden, um die verfügbare Software, aktivierten Dienste und vieles mehr zu ändern. sudo nixos-rebuild boot wendet die Datei neu auf das System an, so, dass beim nächsten Systemstart die neue Konfiguration gilt. Ungeduldige können sie stattdessen mit sudo nixos-rebuild switch sofort anwenden. Manche Desktopumgebungen benötigen dann jedoch wenigstens ein Ab- und Anmelden, um neue Software wahrzunehmen.

Sehr hilfreich ist hierbei die Suchseite von NixOS nicht nur zum Finden der richtigen Pakete, sondern auch um die benötigten Einstellungsoptionen zu ermitteln.

Booteinträge verstehen

Jeder nixos-rebuild legt einen neuen Eintrag im Bootmenü an. Geht etwas schief, kann man somit einfach einen älteren, funktionierenden Systemzustand auswählen. Diese Systemstände sind alle im Nix-Store abgelegt. Wie man ältere Stände loswird, um Speicherplatz freizugeben, wird im nächsten, dritten Teil dieser Artikelserie behandelt werden.

Links

https://nixos.org/
https://nixos.org/manual/nixos/stable/
https://nixos.wiki/
https://search.nixos.org/options