NixOS速查表描述了如何从unstable
中的configuration.nix
安装软件包。
首先,要说添加不稳定通道,如下所示:
$ sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable
$ sudo nix-channel --update
然后,很容易在
configuration.nix
中使用此通道(因为它现在应该在NIX_PATH
上):nixpkgs.config = {
allowUnfree = true;
packageOverrides = pkgs: {
unstable = import <nixos-unstable> {
config = config.nixpkgs.config;
};
};
};
environment = {
systemPackages = with pkgs; [
unstable.google-chrome
];
};
我不想手动执行
nix-channel --add
和nix-channel --update
步骤。我希望能够从
configuration.nix
安装我的系统,而无需先运行nix-channel --add
和nix-channel --update
步骤。有没有办法从
configuration.nix
自动执行此操作? 最佳答案
我能够通过@EmmanuelRosa的建议使它工作。
这是我的/etc/nixos/configuration.nix
的相关部分:
{ config, pkgs, ... }:
let
unstableTarball =
fetchTarball
https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz;
in
{
imports =
[ # Include the results of the hardware scan.
/etc/nixos/hardware-configuration.nix
];
nixpkgs.config = {
packageOverrides = pkgs: {
unstable = import unstableTarball {
config = config.nixpkgs.config;
};
};
};
...
};
这将添加可在
unstable
中使用的environment.systemPackages
派生词。这是一个使用它从nixos-unstable安装
htop
软件包的示例: environment.systemPackages = with pkgs; [
...
unstable.htop
];
关于nix - 如何在configuration.nix中声明性地添加NixOS不稳定 channel ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48831392/