如何“静默”安装 Nix 而无需回答提示? (例如,从 shell 脚本安装它)

如何“静默”安装 Nix 而无需回答提示? (例如,从 shell 脚本安装它)

我有一个脚本需要在全新的虚拟机上运行,​​但这取决于 Nix 是否存在,我不想每次都手动安装它。

答案1

  1. 使用nixos.org带有--yes选项的安装程序。

    例子:

    • 尼克斯开发者版本:

      curl -L https://nixos.org/nix/install | sh -s -- --daemon --yes
      
    • nixos.org版本

      sh <(curl -L https://nixos.org/nix/install) --daemon --yes
      
  2. 使用确定系统安装程序--无确认选项

    注意
    不确定如何使用此选项

     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 讨论线程列出在此之前的所有可用选项。 (此外,这是一个骨架安装程序的手册页草稿.)

相关内容