danielrolls.nix
nix-install
Ceci est un rôle Ansible qui installe le gestionnaire de paquets nix. Au moment de l'écriture, tous les autres rôles que j'ai vus qui installent nix le font pour un seul utilisateur. Ce rôle utilise l'installation multi-utilisateur comme recommandé par le manuel pour assurer l'isolation des builds. Le rôle prend en charge la mise à niveau des versions de nix pour lesquelles nix est désinstallé afin de permettre au programme d'installation de fonctionner. Ce rôle est également extrêmement simple et donc facile à adapter.
Exigences
Cela devrait fonctionner avec n'importe quelle distribution Linux utilisant systemd. Il a été testé avec Ubuntu.
Variables de rôle
nix_version -- La version de nix à télécharger et à installer. Si non définie, ce rôle prendra la dernière version de nix qui a été testée.
installer_checksum -- Un checksum pour le binaire d'installation. Vous devrez le modifier si vous changez la version de nix qui est téléchargée. Il est plus simple de laisser cela échouer et de corriger l'erreur, car l'erreur est claire et fournit la nouvelle valeur de checksum à copier.
nix_commands -- Liste optionnelle de commandes shell à exécuter dans un environnement avec nix et le démon nix en cours d'exécution.
flakes -- Défini pour activer les commandes nix flake.
config -- Possibilité de passer une configuration supplémentaire à ajouter au fichier de configuration nix.
Exemple de Playbook
Cet exemple installe nix pour tous les utilisateurs sur myhost
- hosts: myhost
roles:
- role: danielrolls.nix
Cet exemple installe également nix pour tous les utilisateurs sur myhost, puis installe et exécute nix-info. Voir la page d'accueil de NixOS pour des exemples de commandes à exécuter.
- hosts: myhost
roles:
- role: danielrolls.nix
nix_commands:
- "nix-shell -p nix-info --command nix-info"
Licence
MIT
Informations sur l'auteur
Installs the nix package manager with the daemon as recommended.
ansible-galaxy install danielrolls.nix