nix是否提供软件包选项/参数?如何列出他们?

时间:2018-08-14 13:31:39

标签: nix

例如,我可以查询llvm的可用软件包版本:

$ nix-env -qa llvm
...
llvm-4.0.1
llvm-5.0.2
llvm-6.0.1

使用自制软件时,我可以在安装llvm之类的软件包时提供一个选项,在这种情况下为--shared选项:

$ brew install llvm --shared

nix是否支持提供像这样的软件包特定选项?有没有办法列出软件包的可用选项?

1 个答案:

答案 0 :(得分:3)

是的,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源更容易找到这些选项的方法。