如何为 NixOS/nixpkgs 创建本地存储库?

Mic*_*and 17 development package-management nixos nixpkgs nix

我找到的创建 Nix 包本地存储库的所有说明都涉及创建主nixpkgs存储库的本地克隆并添加到其中。

有没有一种方法可以创建一个只包含我的本地附加包的小型存储库?

Vla*_*nát 6

是的,只需为单个包创建一个表达式。您可以通过pkgs = import <nixpkgs> {};.


ole*_*enb 5

这篇博文有一些细节:http : //sandervanderburg.blogspot.no/2014/07/managing-private-nix-packages-outside.html

有关更底层的从头开始的详细信息,请参阅 nix-pill 系列:http : //lethalman.blogspot.no/2014/07/nix-pill-1-why-you-should-give-it-尝试.html

但我认为,基本方法是创建自己的版本~/.nix-defexpr/channels_root/nixos/pkgs/top-level/all-packages.nix,比方说mypkgs.nix通过导入增加从默认的“回购”的依赖<nixpkgs>

通过执行安装包 nix-env -f mypkgs.nix -i DERIVATION_NAME

但是由于 nix 是基于一种成熟的语言,所以我猜你有无数种方法可以做到。