可以在 /etc/nixos/configuration.nix
中从 nixos-unstable 安装软件包使用来自 this answer 的配置.
这是安装 htop
的示例来自 nixos-unstable 的软件包:
{ config, pkgs, ... }:
let
unstableTarball =
fetchTarball
https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz;
in
{
...
nixpkgs.config = {
packageOverrides = pkgs: {
unstable = import unstableTarball {
config = config.nixpkgs.config;
};
};
};
environment.systemPackages = with pkgs; [
...
unstable.htop
];
...
};
我也希望能够从 nixos-unstable 安装 Virtualbox 包(和相关的内核模块)。
天真地添加
virtualbox
打包至 environment.systemPackages
不像我预期的那样工作。与不稳定版本的 Virtualbox 匹配的 Virtualbox 模块不会被安装。这是我的 /etc/nixos/configuration.nix
的片段: nixpkgs.config.virtualbox.enableExtensionPack = true;
virtualisation.virtualbox.host.enable = true;
environment.systemPackages = with pkgs; [
...
unstable.virtualbox
];
以上将正确安装
virtualbox
来自 nixos-unstable 的包,但不是 Virtualbox 内核模块。如何从 nixos-unstable 安装 Virtualbox 内核模块?为什么以上不起作用?
最佳答案
您的配置不起作用,因为 virtualbox 模块有自己对 virtualbox 包的引用。也许它应该公开一个选项来覆盖包,比如一些 other modules做,但现在没有。为它提出拉取请求应该不难。
替代方案是 to replace the offending module/modules通过禁用使用 disabledModules
然后使用 imports
导入替换项.
无论哪种方式,您的里程可能会有所不同。第一个选项对我来说似乎是最干净的,但是您可能需要检查发行版和不稳定版本中的 nixos 模块之间的差异。
关于virtualbox - 在 configuration.nix 中从 nixos-unstable 安装 virtualbox 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48838411/