danielrolls.nix
nix-install
Este es un rol de Ansible que instala el gestor de paquetes nix.
En el momento de la escritura, todos los demás roles que he visto que instalan nix, instalan un nix para un solo usuario.
Este rol utiliza la instalación multiusuario, como se recomienda en el manual, para asegurar el aislamiento de la construcción.
El rol admite la actualización de versiones de nix para las cuales nix se desinstala para permitir que el instalador funcione.
Este rol también es extremadamente simple y, por lo tanto, fácil de adaptar.
Requisitos
Esto debería funcionar con cualquier distribución de Linux que use systemd.
Se ha probado con Ubuntu.
Variables del Rol
nix_version -- La versión de nix que se descargará e instalará.
Si no se establece, este rol tomará la última versión de nix con la que ha sido probado.
installer_checksum -- Un checksum para el binario del instalador.
Necesitarás cambiar esto si cambias la versión de nix que se descarga.
Es más fácil dejar que esto falle y corregir el error, ya que el error es claro y proporciona el nuevo valor de checksum para copiar.
nix_commands -- Lista opcional de comandos de shell para ejecutar en un entorno con nix y el daemon de nix en ejecución.
flakes -- Se establece para habilitar comandos de nix flake.
config -- Opcionalmente pasar configuración adicional que se agregará al archivo de configuración de nix.
Ejemplo de Playbook
Este ejemplo instala nix para todos los usuarios en myhost
- hosts: myhost
roles:
- role: danielrolls.nix
Este ejemplo también instala nix para todos los usuarios en myhost y luego instala y ejecuta nix-info.
Consulta la página principal de NixOS para ejemplos de comandos que ejecutar.
- hosts: myhost
roles:
- role: danielrolls.nix
nix_commands:
- "nix-shell -p nix-info --command nix-info"
Licencia
MIT
Información del Autor
Installs the nix package manager with the daemon as recommended.
ansible-galaxy install danielrolls.nix