nix: instale o virtualbox-guest

2

Estou testando o gerenciador de pacotes nix. Eu instalei o Ubuntu em uma caixa virtual e tente instalar as adições de convidado. Meu ~/.nixpkgs/config.nix é

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

No entanto, nix-env -i all me diz que o virtualbox-guest é uma variável indefinida.

Além disso, nix-env -qaP '.*virtualbox.*' não tem correspondência, embora eu saiba que existe um virtualbox-guest.nix .

    
por Manuel Schmidt 10.03.2017 / 16:20

1 resposta

3

Então você instalou o Ubuntu em uma máquina virtual, instalou o gerenciador de pacotes Nix nele e gostaria que as adições de convidados do VirtualBox fossem instaladas graças ao gerenciador de pacotes Nix.

O nome do atributo do pacote que você está procurando é linuxPackages.virtualboxGuestAdditions . Assim, você pode instalá-lo emitindo:

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

Não tenho certeza se o pacote funcionará no Ubuntu, porque a descrição é um pacote NixOS:

Various add-ons which makes NixOS work better as guest OS inside VirtualBox. This add-on provides support for dynamic resizing of the X Display, shared host/guest clipboard support and guest OpenGL support.

De fato, o gerenciador de pacotes Nix é útil para instalar aplicativos userspace em outras distribuições, mas se você também quiser que o Nix manipule módulos do sistema, você precisa mudar para o NixOS para isso (então a maneira correta de ativar os adendos é através de virtualisation.virtualbox.guest.enable opção que você pode definir no seu /etc/nixos/configuration.nix , conforme descrito em o manual ).

Como uma nota secundária, o que você coloca em ~/.nixpkgs/config.nix não faz muito sentido. Este arquivo é para configurar o próprio gerenciador de pacotes Nix, permitindo pacotes não-livres ou sobrescrevendo pacotes existentes. Você não precisará substituir nenhum pacote no seu caso. E você não precisa permitir pacotes não-livres porque as adições de convidados do VirtualBox são registradas como GPL.

    
por 13.03.2017 / 13:18