我已经看到,有了覆盖层,我们可以轻松地自定义nixpkgs。快速谷歌搜索,我得到这样的漂亮结果,取自:
# Creating an overlay
let overlay1 = self: super:
{
google-chrome = super.google-chrome.override {
commandLineArgs =
"--proxy-server='https=127.0.0.1:3128;http=127.0.0.1:3128'";
};
};
# Actually using it
import <nixpkgs> { overlays = [ overlay1 ]; }
但是我实际上对如何使用叠加层修改现有的haskell软件包一无所知。我想禁用对hasktags
的覆盖测试。救命!
答案 0 :(得分:1)
更多挖掘之后,这对我有用:
self: super: {
haskellPackages = super.haskellPackages.override {
overrides = haskellSelf: haskellSuper: {
hasktags = self.haskell.lib.dontCheck haskellSuper.hasktags;
};
};
}
并将其放在~/.config/nixpkgs/overlays.nix
或~/.config/nixpkgs/overlays/
目录中。
上面的示例是您要在hasktags
上禁用测试的情况。这个想法适用于所有其他软件包。