danielrolls.nix
nix安装
这是一个用于安装nix包管理器的Ansible角色。 截至撰写时,我所见的所有安装nix的角色都是单用户nix。 此角色调用手册推荐的多用户安装,以确保构建隔离。 该角色支持升级nix版本,在卸载nix期间可以让安装程序正常工作。 这个角色也非常简单,因此容易适应。
要求
此角色应适用于任何使用systemd的Linux发行版。 已在Ubuntu上进行了测试。
角色变量
nix_version -- 要下载和安装的nix版本。 如果未设置,则该角色将使用已测试的最新nix版本。
installer_checksum -- 安装程序二进制文件的校验和。 如果更改下载的nix版本,则需要更改此项。 最简单的方法是让这个失败,然后修复错误,因为错误信息明确并提供新的校验和值供复制。
nix_commands -- 可选的shell命令列表,在带有nix及其守护进程的环境中运行。
flakes -- 设置以启用nix flake命令。
config -- 可选地传递额外的配置,以添加到nix配置文件中。
示例剧本
此示例为myhost上的所有用户安装nix
- hosts: myhost
roles:
- role: danielrolls.nix
此示例同样为myhost上的所有用户安装nix,然后安装并运行nix-info。 有关可运行命令的示例,请参见NixOS主页。
- hosts: myhost
roles:
- role: danielrolls.nix
nix_commands:
- "nix-shell -p nix-info --command nix-info"
许可证
MIT