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 hat gezeigt, wie Sie eine kleine "Flake"-Datei erstellen, mit der Nix ein C++-Testpaket baut. Eine erweiterte Version dieser Flake zeigt das folgende Listing. 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.
Das Listing finden Sie auch in diesem Commit im GitHub-Repository des Autors.
Das war die Leseprobe unseres heise-Plus-Artikels "Paketmanager Nix ausprobiert, Teil 2: Softwarepakete managen und bauen".
Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.
Immer mehr Wissen. Das digitale Abo für IT und Technik.
Nur bis zum 31. Mai: heise+ 1 Jahr für nur 1,90 pro Woche lesen. Unbegrenzter Zugriff auf alle heise+ Artikel inklusive allen Digital-Magazinen.Länger lesen, mehr sparen: heise+ 1 Jahr lang für nur 1,90 € pro Woche lesen und brandaktuelles IT- und Tech-Wissen sichern. Zugriff auf alle heise+ Artikel inklusive der Digital-Magazine. Nur bis zum 31. Mai!