nix 是否提供包选项/参数?我如何列出它们?
Does nix provide package options / parameters? How do I list them?
例如,我可以查询 llvm 的可用包版本:
$ nix-env -qa llvm
...
llvm-4.0.1
llvm-5.0.2
llvm-6.0.1
使用自制软件,我可以在安装像 llvm 这样的包时提供一个选项,在这种情况下 --shared
选项:
$ brew install llvm --shared
nix 是否支持提供像这样的包特定选项?有没有办法列出包的可用选项?
是的,nix 派生可以带有可选参数。例如,LLVM 6 nixpkgs/development/compilers/llvm/6/llvm.nix 的推导是这样开始的:
{ stdenv
, fetch
...
, zlib
, debugVersion ? false
, enableManpages ? false
, enableSharedLibraries ? true
, enableWasm ? true
, darwin
}:
您可以在 nix-env
命令行上使用选项 --arg
或 --argstr
为这些参数提供值,比较 man page。例如,
nix-env -iA nixpkgs.llvm --arg enableSharedLibraries false
不幸的是,我不知道有比阅读 nixpkgs 源代码更容易找到此类选项的方法。
例如,我可以查询 llvm 的可用包版本:
$ nix-env -qa llvm
...
llvm-4.0.1
llvm-5.0.2
llvm-6.0.1
使用自制软件,我可以在安装像 llvm 这样的包时提供一个选项,在这种情况下 --shared
选项:
$ brew install llvm --shared
nix 是否支持提供像这样的包特定选项?有没有办法列出包的可用选项?
是的,nix 派生可以带有可选参数。例如,LLVM 6 nixpkgs/development/compilers/llvm/6/llvm.nix 的推导是这样开始的:
{ stdenv
, fetch
...
, zlib
, debugVersion ? false
, enableManpages ? false
, enableSharedLibraries ? true
, enableWasm ? true
, darwin
}:
您可以在 nix-env
命令行上使用选项 --arg
或 --argstr
为这些参数提供值,比较 man page。例如,
nix-env -iA nixpkgs.llvm --arg enableSharedLibraries false
不幸的是,我不知道有比阅读 nixpkgs 源代码更容易找到此类选项的方法。