【发布时间】:2015-05-18 12:20:36
【问题描述】:
我正在一个只能通过网络代理访问外部世界的网络中构建一个 nixos 系统。 nixos grub configuration 尝试通过 git:// URL 访问 grub 存储库,这显然不适用于我的网络。
因此,我想将 git:// 网址替换为对应的 http:// 网址。 (savannah 支持both。)对应的nix documentation 展示了如何操作。
我创建了一个文件~/.nixpkgs/config.nix,其中包含以下内容:
{
packageOverrides = pkgs: rec {
grub = pkgs.grub.override {
src.url="http://git.savannah.gnu.org/grub.git";
};
};
}
很遗憾,nixos-rebuild switch 仍然尝试使用旧网址。
我做错了什么?
我还阅读了文档的customising packages。
看来我可以将以下内容添加到/etc/nixos/configuration.nix:
nixpkgs.config.packageOverrides = pkgs: {
grub = pkgs.grub.overrideDerivation (pkgs.grub ( attrs: {
url = "http://git.savannah.gnu.org/grub.git";
rev = "2ae9457e6eb4c352051fb32bc6fc931a22528ab2";
sha256 = "1ik60qgkymg0xdns5az1hbxasspah2vzxg334rpbk2yy3h3nx5ln";
}));
};
但是nixos-rebuild switchnixos-rebuild switch 仍然使用旧网址。我可能需要添加 fetchurl,但我不知道如何在这个地方提供它。
【问题讨论】: