私は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
したがって、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として登録されているため、無料以外のパッケージも許可する必要はありません。