如何在 nix 中覆盖损坏的 Haskell 包?

Jon*_*han 5 haskell nixos nix

我使用 NixOS,并且正在尝试为我的 Haskell 项目设置 Nix Haskell 环境。我有一个用 Nix 编写的 Haskell 包,我试图通过它来工作nix-shell,但是依赖的 Haskell 包 Clay不会构建,正如我刚刚打开的错误报告中所述。我怎样才能用这个Haskell包的不同版本(旧的或新的,我想这并不重要)覆盖这个包?

Chr*_*ski 3

不完全相关,但是我需要修改无法构建的现有包。我最终得到:

nixpkgs.config.packageOverrides = pkgs: {
    haskellPackages = pkgs.haskellPackages.override {
      overrides = hsSelf: hsSuper: {
        greenclip  = pkgs.haskell.lib.overrideCabal hsSuper.greenclip  (oa: {
          version = "3.1.1";
          sha256 = "1axh1q7kcvcnhn4rl704i4gcix5yn5v0sb3bdgjk4vgkd7fv8chw";
          executablePkgconfigDepends = oa.executablePkgconfigDepends ++ [pkgs.xorg.libXdmcp];
        });

        wordexp  = pkgs.haskell.lib.overrideCabal hsSuper.wordexp  (oa: {
          version = "0.2.2";
          sha256 = "1mbcrq89jz0dcibw66w0jdy4f4bfpx4zwjfs98rm3jjgdikwdzb4";
        });
      };
    };
  };
Run Code Online (Sandbox Code Playgroud)

上面的内容在我的configuration.nix中