Nix 使用 ~/.nixpkgs/config.nix 安装不稳定的软件包



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

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

let unstable = import <nixpkgs> {}; in

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

并在您希望通过 unstable 安装的软件包前面加上unstable..

示例 - 还允许访问 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
];
};
};
}

最新更新