什么是 nix 表达式“<nixpkgs>”?
What is the nix-expression "<nixpkgs>"?
查询黑客包时,the manual建议使用命令:
$ nix-env -f "<nixpkgs>" -qaP -A haskellPackages
因此我们在搜索 Haskell 包时将 'active Nix expression' 定义为“”。
这个表达式“”是什么意思,它在哪里定义的?
我没有那个名字的频道,我也没有在我的 /etc/nixos/configuration.nix
文件中看到它。
来自 man nix-env
(可能还有其他来源):
NIX_PATH
A colon-separated list of directories used to look up Nix
expressions enclosed in angle brackets (i.e., <path>). For
instance, the value
/home/eelco/Dev:/etc/nixos
will cause Nix to look for paths relative to /home/eelco/Dev and
/etc/nixos, in that order. It is also possible to match paths
against a prefix. For example, the value
nixpkgs=/home/eelco/Dev/nixpkgs-branch:/etc/nixos
will cause Nix to search for <nixpkgs/path> in
/home/eelco/Dev/nixpkgs-branch/path and /etc/nixos/nixpkgs/path.
在我的机器上,NIX_PATH
是 nixpkgs=/Users/me/.nix-defexpr/channels/nixpkgs
,所以 <nixpkgs>
指的是我订阅的 nixpkgs
频道。
通常,<...>
导致路径不是按字面意思处理,而是在您的 NIX_PATH
指定的某个目录中找到。
查询黑客包时,the manual建议使用命令:
$ nix-env -f "<nixpkgs>" -qaP -A haskellPackages
因此我们在搜索 Haskell 包时将 'active Nix expression' 定义为“
这个表达式“/etc/nixos/configuration.nix
文件中看到它。
来自 man nix-env
(可能还有其他来源):
NIX_PATH
A colon-separated list of directories used to look up Nix
expressions enclosed in angle brackets (i.e., <path>). For
instance, the value
/home/eelco/Dev:/etc/nixos
will cause Nix to look for paths relative to /home/eelco/Dev and
/etc/nixos, in that order. It is also possible to match paths
against a prefix. For example, the value
nixpkgs=/home/eelco/Dev/nixpkgs-branch:/etc/nixos
will cause Nix to search for <nixpkgs/path> in
/home/eelco/Dev/nixpkgs-branch/path and /etc/nixos/nixpkgs/path.
在我的机器上,NIX_PATH
是 nixpkgs=/Users/me/.nix-defexpr/channels/nixpkgs
,所以 <nixpkgs>
指的是我订阅的 nixpkgs
频道。
通常,<...>
导致路径不是按字面意思处理,而是在您的 NIX_PATH
指定的某个目录中找到。