nix:安装 virtualbox-guest

nix:安装 virtualbox-guest

我正在测试 nix 包管理器。我在 virtualbox 中安装了 ubuntu 并尝试安装来宾添加项。我~/.nixpkgs/config.nix的是

{
  allowUnfree = true;
  packageOverrides = pkgs_: with pkgs_; {
    all = with pkgs; buildEnv {
      name = "all";
      paths = [
        virtualbox-guest
      ];
    };
  };
}

但是nix-env -i all告诉我 virtualbox-guest 是一个未定义的变量。

nix-env -qaP '.*virtualbox.*'没有匹配,即使我知道有一个virtualbox-guest.nix

答案1

因此,您在虚拟机中安装了 Ubuntu,并在其上安装了 Nix 软件包管理器,并且您希望通过 Nix 软件包管理器安装 VirtualBox 的来宾添加项。

您要查找的包的属性名称是linuxPackages.virtualboxGuestAdditions。因此,您可以通过发出以下命令来安装它:

nix-env -iA linuxPackages.virtualboxGuestAdditions -f '<nixpkgs>'

我不确定该软件包是否真的可以在 Ubuntu 上运行,因为它的描述暗示它是一个仅适用于 NixOS 的软件包:

各种附加组件使 NixOS 作为 VirtualBox 中的来宾操作系统更好地工作。该附加组件支持动态调整 X Display 大小、共享主机/来宾剪贴板支持和来宾 OpenGL 支持。

事实上,Nix 包管理器对于在其他发行版上安装用户空间应用程序很有用,但如果您还希望 Nix 处理系统模块,则必须切换到 NixOS(然后启用来宾添加的正确方法是通过virtualisation.virtualbox.guest.enable您可以设置的选项)在你的/etc/nixos/configuration.nix描述中手册)。

顺便说一句,您输入的内容~/.nixpkgs/config.nix没有多大意义。该文件用于配置 Nix 包管理器本身,允许非自由包或覆盖现有包。您不需要覆盖您案例中的任何包。而且您也不需要允许非自由软件包,因为 VirtualBox 的来宾添加项已注册为 GPL。

相关内容