"active Nix expression" 是什么?
What is the "active Nix expression"?
我注意到各种 nixos 命令的描述都引用了一个叫做 "active Nix expression" 的东西。例如,nix-env
的手册页包括:
--file / -f path
Specifies the Nix expression (designated below as the active Nix expression) used by the --install, --upgrade, and --query
--available operations to obtain derivations. The default is ~/.nix-defexpr.
这是什么"active Nix expression"?它在哪里定义?它只是通常写在 /etc/nixos/configuration.nix
中的内容还是由 nix-shell
定义的内容?
这是 Nix 表达式的文件,在该文件中计算 -A
指定的任何属性。 (缺席-A
,该内容预计直接是推导)。
假设您有一个 mydir/default.nix
文件,该文件计算出一个具有键 foo
、bar
和 baz
的属性集,每个键都映射到一个推导为一个值。
在这种情况下,运行ning nix-env -f mydir -iA foo
将加载 mydir/default.nix
,在该加载代码的上下文中评估 foo
,运行 任何关联的构建步骤,并将该软件添加到您的活动环境中。
我注意到各种 nixos 命令的描述都引用了一个叫做 "active Nix expression" 的东西。例如,nix-env
的手册页包括:
--file / -f path
Specifies the Nix expression (designated below as the active Nix expression) used by the --install, --upgrade, and --query
--available operations to obtain derivations. The default is ~/.nix-defexpr.
这是什么"active Nix expression"?它在哪里定义?它只是通常写在 /etc/nixos/configuration.nix
中的内容还是由 nix-shell
定义的内容?
这是 Nix 表达式的文件,在该文件中计算 -A
指定的任何属性。 (缺席-A
,该内容预计直接是推导)。
假设您有一个 mydir/default.nix
文件,该文件计算出一个具有键 foo
、bar
和 baz
的属性集,每个键都映射到一个推导为一个值。
在这种情况下,运行ning nix-env -f mydir -iA foo
将加载 mydir/default.nix
,在该加载代码的上下文中评估 foo
,运行 任何关联的构建步骤,并将该软件添加到您的活动环境中。