如何安装一些nix软件包?

时间:2019-12-03 12:56:40

标签: nixos nixpkgs

我知道如何使用nix安装一些nix-env软件包,但是其中有些我不知道如何安装,

例如:

https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/pygit2/default.nix

如何安装该软件包?

仅查看.nix文件如何知道程序包的全名?**

1 个答案:

答案 0 :(得分:0)

如何安装该软件包?

nix-env -iA nixos.python3Packages.pygit2。您可以将python3Packages替换为您选择的python版本,例如改为python36Packages

仅查看.nix文件如何知道程序包的全名?

你只是不能。
原因是.nix文件的属性路径取决于如何从<nixpkgs>/pkgs/all-packages/top-level.nix对其进行引用。在这种情况下,top.level.nix文件使所有python软件包都可以通过pythonPackagespython3packages属性进行访问。软件包本身在<nixpkgs>/pkgs/all-packages/python-packages.nix中列出,现在每个条目最终都调用该软件包的nix表达式文件,就像您上面链接到的文件一样。

这将形成包pkgs.python3Packages.pygit2的完整属性路径。浏览nixkpgs属性集的一个很好的工具是nix repl "<nixpkgs/nixos>",它使您进入带制表符补全的nix解释器。 使用nix-env进行命令式软件安装时,您仍然必须在软件包的属性路径中用pkgs替换nixos。 无论如何,我还是建议您使用声明式软件管理,因为在那里您可以使用软件包的常规属性路径。