Paketmanager Nix ausprobiert, Teil 3: Bedarfsgerecht paketieren
Nix verpackt Programme für andere Nix-Nutzer sowie in Binaries und Docker-Container. Wir zeigen, wie Sie durch binäre Caches die Arbeit mit Nix beschleunigen.
Die ersten beiden Artikel zum Paketbau mit Nix mündeten in einer "Flake"-Datei, die ein kleines C++- und ein Rust-Beispielprogrämmchen verwaltet. Nix-Nutzer können die Programme damit unter Linux und macOS auf Intel- und ARM-Prozessoren bauen, ausführen und installieren. Außerdem prüft ein pre-commit-Hook bei jeder Codeänderung, ob alle Dateien die Formatierungsregeln einhalten und ob Tools für die statische Analyse Probleme erkennen. Ein passender Workflow im CI-System (Continuous Integration) von GitHub prüft all dies auch nach jedem Push und bei jedem Pull-Request automatisch. Nix kümmert sich um alle genannten Dinge und ist die einzige Abhängigkeit, die dafür installiert sein muss.
Den einzigen Unterschied gegenüber der im zweiten Teil der Artikelreihe beschriebenen Datei stellt die neue Zeile nixpkgs-fmt.enable = true; dar. Sie aktiviert eine Formatierungsprüfung für Nix-Dateien.
In diesem Artikel zeigen wir, wie Sie aus Nix noch ein Stück mehr Entwicklerkomfort herauskitzeln und vor allem, wie Sie die gebauten Pakete um Docker-Images und Cross-Kompilate erweitern. Das geht unkompliziert und ohne bereits funktionierende Pakete und Workflows zu behindern. Wie gehabt zieht die CI automatisch mit, wenn sie ebenfalls Nix nutzt.
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!