danielrolls.nix
nix-install
Dies ist eine Ansible-Rolle, die den nix Paketmanager installiert. Zum Zeitpunkt des Schreibens installierten alle anderen Rollen, die ich gesehen habe, nur einen Nix für einen einzelnen Benutzer. Diese Rolle führt die Multi-User-Installation durch, wie es im Handbuch empfohlen wird, um eine Trennung der Builds sicherzustellen. Die Rolle unterstützt das Aktualisieren von Nix-Versionen, bei denen Nix deinstalliert wird, um eine funktionierende Installation zu ermöglichen. Diese Rolle ist auch extrem einfach und daher leicht anpassbar.
Anforderungen
Dies sollte mit jeder Linux-Distribution funktionieren, die systemd verwendet. Es wurde mit Ubuntu getestet.
Rollen-Variablen
nix_version -- Die Version von Nix, die heruntergeladen und installiert werden soll. Wenn sie nicht gesetzt ist, nimmt diese Rolle die neueste getestete Nix-Version.
installer_checksum -- Eine Prüfziffer für die Installationsdatei. Sie müssen dies ändern, wenn Sie die Nix-Version ändern, die heruntergeladen wird. Am einfachsten ist es, dies fehlschlagen zu lassen und den Fehler zu beheben, da der Fehler klar ist und den neuen Prüfziffernwert zum Kopieren bereitstellt.
nix_commands -- Eine optionale Liste von Shell-Befehlen, die in einer Umgebung mit Nix und dem laufenden Nix-Daemon ausgeführt werden sollen.
flakes -- Setzen Sie, um Nix-Flag-Befehle zu aktivieren.
config -- Optional zusätzliche Konfiguration, die zur Nix-Konfigurationsdatei hinzugefügt werden soll.
Beispiel-Playbook
Dieses Beispiel installiert Nix für alle Benutzer auf myhost.
- hosts: myhost
roles:
- role: danielrolls.nix
Dieses Beispiel installiert ebenfalls Nix für alle Benutzer auf myhost und installiert dann und führt nix-info aus. Siehe die NixOS-Homepage für Beispiele von auszuführenden Befehlen.
- hosts: myhost
roles:
- role: danielrolls.nix
nix_commands:
- "nix-shell -p nix-info --command nix-info"
Lizenz
MIT
Autor Informationen
Installs the nix package manager with the daemon as recommended.
ansible-galaxy install danielrolls.nix