Paketmanager Nix ausprobiert, Teil 2: Softwarepakete managen und bauen

In dieser Einführung in den Paketmanager Nix für Entwickler bohren wir das Beispielprojekt auf und zeigen, was möglich ist.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
KI Midjourney  Bearbeitung c't

(Bild: KI Midjourney | Bearbeitung c't)

Lesezeit: 15 Min.
Von
  • Jacek Galowicz
Inhaltsverzeichnis
Mehr zum Thema Softwareentwicklung

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.