c't 27/2023
S. 140
Praxis
Paketmanagement mit Nix
Bild: KI Midjourney | Bearbeitung c't

Paketfließband

Pakete mit Nix managen und bauen, Teil 2

Der zweite Teil dieser Einführung in den Paketmanager Nix für Entwickler bohrt das Beispielprojekt auf: Automatische Checks, problemlose Einbindung in CI-Pipelines, plattformunabhängige Paketbeschreibungen – all das ist mit Nix nur ein paar Config-Zeilen entfernt.

Von Jacek Galowicz

Der Paketmanager Nix glänzt mit ungewöhnlichen Fähigkeiten, die insbesondere für Entwickler interessant sind: schnell mal ein Programm ausprobieren, spontan und temporär ein paar Tools in einer Shell verfügbar machen oder dauerhafte, reproduzierbare Entwicklungsumgebungen einrichten. All das kombiniert Nix mit einer immensen Softwareauswahl, ohne dass man sich mit Containern oder virtuellen Maschinen herumschlagen muss.

Der erste Teil dieser Einführung in Nix [1] hat gezeigt, wie Sie eine kleine „Flake“-Datei erstellen, mit der Nix ein C++-Testpaket baut. Eine erweiterte Version dieser Flake zeigt das Listing auf Seite 144. Neben dem C++-Paket beschreibt diese Version auch noch ein Rust-Paket – Flakes können durchaus mehrere Pakete beschreiben. Das Rust-Paket ist ganz ähnlich aufgebaut, nur nutzt es statt CMake das Rust-Tool Cargo. Außerdem ruft es nicht mkDerivation auf, sondern die Hilfsfunktion buildRustPackage; dazu später mehr.

Kommentare lesen (1 Beitrag)