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 allvirtualbox-guestは未定義の変数であることを伝えます。

nix-env -qaP '.*virtualbox.*'一致するものがあることを知っていても、一致するものはありません。virtualbox-guest.nix

答え1

したがって、Nixパッケージマネージャがインストールされている仮想マシンにUbuntuがインストールされており、Nixパッケージマネージャを介してVirtualBoxのゲストアドインをインストールしようとしています。

探しているパッケージの属性名はですlinuxPackages.virtualboxGuestAdditions。したがって、次のコマンドを実行してインストールできます。

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

説明によれば、このパッケージがNixOS専用パッケージであることがわかるので、このパッケージが実際にUbuntuで動作するかどうかはわかりません。

さまざまな追加機能により、NixOS は VirtualBox でゲスト OS として機能します。このアドインは、動的Xディスプレイのサイズ変更、共有ホスト/ゲストクリップボードのサポート、およびゲストOpenGLのサポートをサポートします。

実際、Nixパッケージマネージャは他のディストリビューションにユーザースペースアプリケーションをインストールするのに役立ちますが、Nixがシステムモジュールも処理できるようにするには、NixOSに切り替える必要があります(ゲストの追加を有効にする正しい方法は次のとおりです。virtualisation.virtualbox.guest.enableオプションの設定)/etc/nixos/configuration.nix手動)。

ところで、入力した内容が~/.nixpkgs/config.nixあまり意味がありません。このファイルは、Nixパッケージマネージャ自体を設定して、無料パッケージではなくパッケージを許可したり、既存のパッケージを上書きしたりするために使用されます。あなたの場合、パッケージをオーバーライドする必要はありません。また、VirtualBoxのゲスト追加エントリはGPLとして登録されているため、無料以外のパッケージも許可する必要はありません。

関連情報