小编kvz*_*kvz的帖子

如何覆盖Nix派生类而不会抛出“不能将集合强制转换为字符串”?

或者,目标是:如何以声明方式从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

4
推荐指数
2
解决办法
1862
查看次数

标签 统计

nixos ×1