【发布时间】:2019-08-19 11:25:11
【问题描述】:
如何通过~/.nixpkgs/config.nix 使用nix-env -i all 从不稳定通道安装软件包?
【问题讨论】:
标签: nix
如何通过~/.nixpkgs/config.nix 使用nix-env -i all 从不稳定通道安装软件包?
【问题讨论】:
标签: nix
在~/.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
];
};
};
}
【讨论】: