Nix - Die Sprache
Das Editieren von shell.nix oder flake.nix Dateien kann furchteinflössend sein, wenn man mit der Syntax von “Nix” nicht vertraut ist. Deshalb nun ein Versuch, die Sprache etwas näher zu Beleuchten.
Publiziert am von Patrik Stutz
Nix - Die Sprache - ist eigentlich ziemlich simpel. Man könnte schon fast sagen, es handelt sich dabei um JSON mit Funktionen.
Hier ein Beispiel der Basis-Datentypen und Konstrukte:
Und so sehen Funktionen aus:
2-Phasen
Nix-Builds durchlaufen immer 2 Phasen:
- Nix-Dateien und die Expressions darin evaluieren zu sogenannten “Derivations”, dies sind statische Daten-Konstrukte, die alle Informationen beinhalten, um ein “Paket” zu builden.
- Das Paket mit diesen Informationen in einer Sandbox ohne Internet- oder Dateisystem-Zugriff builden. In diesem Schritt wird die Nix-Sprache nicht mehr verwendet. Man könnte diese “Derivation” konstrukte theoretisch also auch mit einer anderen Sprache generieren und dann builden lassen.
Ein Beispiel:
evaluiert zu