或者,目标是:如何以声明方式从Nix不稳定的组件中获取单个软件包?
我是NixOS的新手,当前正在尝试安装比0.5.2
我的NixOS版本的默认版本(最新稳定版本)更高的Consul 版本。我正在尝试通过覆盖/etc/nix/configuration.nix
。
我想保持稳定运行,但是发现不稳定的Consul 0.7.0
已经有了我想要的(),因此我决定以该包的属性为起点来覆盖https://github.com/NixOS/ nixpkgs / blob / master / pkgs / servers / consul / default.nix
我将其大部分复制到了configuration.nix
,这是相关的部分:
nixpkgs.config.packageOverrides = pkgs: rec {
consul = pkgs.lib.overrideDerivation pkgs.consul (attrs: rec {
version = "0.7.0";
name = "consul-${version}";
rev = "v${version}";
goPackagePath = "github.com/hashicorp/consul";
src = pkgs.fetchFromGitHub {
owner = "hashicorp";
repo = "consul";
inherit rev;
sha256 = "04h5y5vixjh9np9lsrk02ypbqwcq855h7l1jlnl1vmfq3sfqjds7";
};
# Keep consul.ui for backward compatability
passthru.ui = pkgs.consul-ui;
});
};
environment.systemPackages …
Run Code Online (Sandbox Code Playgroud) nixos ×1