Nix Paketmanagement

NixOS ist gemessen an der Anzahl und Aktualität seiner installierbaren Pakete die groesste GNU/Linux Distribution der Welt und gelangte 2022 das erste Mal unter die Top10 (by contributors) von GitHub.

Endanwender erfreuen sich am einfachen Zugang zu rund 80.000 Paketen, deren Paketbeschreibung reproduzierbar und portabel ist, so dass sich ein- und dasselbe Paket auf verschiedenen Betriebssystemen installieren laesst.

In diesem Kurs behandeln wir den Kern des Nix-Ökosystems, den Nix Paketmanager. Der läßt sich neben NixOS auch in gängigen Linux-Distributionen, BSDs, auf macOS und sogar in der Windows WSL nutzen.

Sie lernen, wie sie die Toolchains, die Builds und die Integration von Software aus unterschiedlichsten Programmiersprachen in Nix-Rezepten beschreiben. Und können die Software dann mit nur einem Befehl laden (praktisch wie Docker mit Turbolader) und mit Einzeiler-Befehlen komplett bauen, integrieren und automatisch integration-testen lassen.

Trainer und Dozenten

Jacek Galowicz ist seit vielen Jahren eifriger Benutzer und Committer von/bei NixOS und stark vernetzt mit der Community. Er hat bereits in mehreren Firmen die Umstellung der Software-Entwicklung und IT-Administration auf Nix und NixOS als Coach, Entwickler, Architekt und Schulungsleiter begleitet.

Voraussetzungen

  • Sicherer Umgang in der Shell (Unter Linux oder macOS, also bash oder zsh)
  • Sicherer Umgang mit mindestens einer Skriptsprache (z.B. Bash, Python)
  • Sie sollten schon mal Software aus einer compilierten Sprache aus dem Source Code selbst gebaut haben (./configure, make, make install, ...)

Inhalt

  • Installation
  • Suchen und Finden von Paketen
  • Temporäre und dauerhafte Installation von Paketen
  • Nix Channels und Registries
  • Wir erstellen und installieren eigene Pakete (am Beispiel von C++ und Python, andere nach Absprache möglich)
  • Einführung in die Nix Skript-Sprache und Libraries
  • Nix REPL
  • nixpkgs importieren und nutzen
  • Pinning von Inputs
  • Overrides von Paketen und deren Dependencies
  • Veränderung und Erweiterung der nixpkgs mit Overlays

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.