![如何“静默”安装 Nix 而无需回答提示? (例如,从 shell 脚本安装它)](https://linux22.com/image/217213/%E5%A6%82%E4%BD%95%E2%80%9C%E9%9D%99%E9%BB%98%E2%80%9D%E5%AE%89%E8%A3%85%20Nix%20%E8%80%8C%E6%97%A0%E9%9C%80%E5%9B%9E%E7%AD%94%E6%8F%90%E7%A4%BA%EF%BC%9F%20%EF%BC%88%E4%BE%8B%E5%A6%82%EF%BC%8C%E4%BB%8E%20shell%20%E8%84%9A%E6%9C%AC%E5%AE%89%E8%A3%85%E5%AE%83%EF%BC%89.png)
我有一个脚本需要在全新的虚拟机上运行,但这取决于 Nix 是否存在,我不想每次都手动安装它。
答案1
使用nixos.org带有
--yes
选项的安装程序。例子:
-
注意
不确定如何使用此选项curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
但希望尽快进行测试。
这个脚本似乎对我有用:
#!/usr/bin/env bash
curl -L https://nixos.org/nix/install | sh -s -- --daemon --yes
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# Testing whether Nix is available in subsequent commands
nix --version
警告
Nix 安装程序使用的sudo
密码仍然需要手动输入。 (这对我来说不是问题,因为我只是想节省时间,而不是完全自动化该过程 - 至少现在是这样。尽管有一些解决方法无需root权限安装Nix.)
Nix 安装程序选项记录在哪里?
它们没有记录在案。 A拉取请求即将到来, 和这个 NixOS 讨论线程列出在此之前的所有可用选项。 (此外,这是一个骨架安装程序的手册页草稿.)