2

我真的很喜欢 nixos/nix 的确定性,但我无法理解为我的使用定制包的最佳方式。我使用该属性的成功有限,nixpkgs.config.packageOverrides但这很痛苦,而且我发现它失败的频率比它的工作频率高(例如,我花了数周时间试图覆盖我在稳定和不稳定渠道中获得的 virtualbox 版本,但它从未正常工作)。

我的下一个尝试是克隆 nixpkgs 存储库并尝试直接修改表达式。我认为如果我将克隆的路径添加到$NIX_PATH. 但是,重建似乎没有接受我的更改。我还尝试了https://nixos.org/wiki/Create_and_debug_nix_packagesnixos-rebuild -I $NIXPKGS switch中描述的变体,但它也没有接受我的更改。

这种克隆方法是否可行,如果可以,我做错了什么?

4

1 回答 1

6

VirtualBox 很特别,因为它不是一个简单的包,而且还需要 NixOS 集成 (setuid)。所以最好克隆nixpkgs来修改它。

nixos-rebuild switch -I /mypath应该可以工作,其中 nixpkgs 位于/mypath.

于 2015-10-23T03:22:24.063 回答