【问题标题】:Nix install unstable packages using ~/.nixpkgs/config.nixNix 使用 ~/.nixpkgs/config.nix 安装不稳定的软件包
【发布时间】:2019-08-19 11:25:11
【问题描述】:

如何通过~/.nixpkgs/config.nix 使用nix-env -i all 从不稳定通道安装软件包?

【问题讨论】:

    标签: nix


    【解决方案1】:

    ~/.nixpkgs/config.nix 的开头添加以下部分:

    let unstable = import <nixpkgs> {}; in
    

    nixpkgs 是不稳定通道的名称(通过 nix-channel --list 检查其名称)。

    并为您希望通过不稳定安装的软件包添加前缀unstable.

    示例 - 还可以访问不稳定的 nix-env -i

    let
      config = {
        allowUnfree = true;
    
        packageOverrides = pkgs: with pkgs; 
          let jdk = openjdk11; in rec {
          unstable = import <nixpkgs-unstable> { inherit config; };
    
          all = pkgs.buildEnv {
            name = "all";
    
            paths = [
              htop
              nox
              nix-info
              nix-index
              haskell.compiler.ghc864
              haskellPackages.cabal-install
              unstable.haskellPackages.stack
              haskellPackages.hoogle
              haskellPackages.ghcid
              unstable.haskellPackages.cabal2nix
            ];
          };
        };
      };
    in config
    

    或者你也可以这样做:

    let unstable = import <nixpkgs> {}; in
    {
      allowUnfree = true;
    
      packageOverrides = pkgs_: with pkgs_;
        let jdk = openjdk11; in {
    
        all = with pkgs; buildEnv {
          name = "all";
    
          paths = [
            htop
            nox
            nix-info
            nix-index
            haskell.compiler.ghc864
            haskellPackages.cabal-install
            unstable.haskellPackages.stack # this comes from the unstable channel
            haskellPackages.hoogle
            haskellPackages.ghcid
            unstable.haskellPackages.cabal2nix
          ];
        };
      };
    }
    

    【讨论】:

      猜你喜欢
      • 2016-01-26
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 2018-06-25
      • 2018-06-05
      • 2015-01-28
      • 1970-01-01
      相关资源
      最近更新 更多