nix - "active Nix expression"是什么?

标签 nix nixos

我注意到各种 nixos 命令的描述都提到了“主动 Nix 表达式”。例如,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.

这个“活跃的尼克斯表达”是什么?它是在哪里定义的?它只是通常在 /etc/nixos/configuration.nix 中编写的内容,还是由 nix-shell 定义的内容?

最佳答案

这是 Nix 表达式的文件,在该文件中计算使用 -A 指定的任何属性。 (缺少 -A,该内容预计将直接衍生)。

假设您有一个 mydir/default.nix 文件,其计算结果为带有键 foobar 的 attrset baz,其中每个都映射为一个派生值。

在这种情况下,运行 nix-env -f mydir -iA foo 将加载 mydir/default.nix,并在加载代码的上下文,运行任何关联的构建步骤,并将该软件添加到您的事件环境中。

关于nix - "active Nix expression"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57013355/

相关文章:

haskell-stack - 堆栈构建错误 : attribute ‘ghc822’ missing,(字符串):1:53

nixos - 在我的存储库中实现覆盖

linux - 在 NixOS 上将 twitch lambdabot 配置为服务

functional-programming - 尼克斯药丸 14 : How to make callPackage overridable?

haskell - 在 nix-shell 中找不到模块

Haskell/Stack/Nix 构建失败,需要 pkg-config >= 0.9.0 和 cairo >= 1.2.0,但最新版本是 pkg-config 0.29.2 和 cairo 1.15.4

nix - 不构建Nix表达式如何知道构建计划和存储路径?

nix - 使用值作为标识符循环 NixOS 中的列表?

nix - 将 nixpkgs 结账传播到 NixOps 机器

python - nrfutil - Nixos 上的 "ImportError: No module named main"