VirtualBox: Difference between revisions
imported>Milahu add section: VirtualBox Guest Additions |
No edit summary |
||
(8 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{cleanup|reason=Too many notices; they should be refactored into natural flowing sections.}} | |||
[https://www.virtualbox.org/ VirtualBox] is a virtualisation hypervisor. It has powerful a GUI included for managing virtual machines. | |||
== NixOS Installation == | == NixOS Installation == | ||
VirtualBox can be installed on NixOS without problems, put this snippet in your <code>configuration.nix</code> | VirtualBox can be installed on NixOS without problems, put this snippet in your <code>configuration.nix</code> | ||
Line 9: | Line 13: | ||
Adding users to the group vboxusers allows them to use the virtualbox functionality. | Adding users to the group vboxusers allows them to use the virtualbox functionality. | ||
{{Evaluate}} | {{Evaluate}} | ||
{{Tip|When starting a VM, you may run into NS_ERROR_FAILURE. If you check the log you might see something like | |||
<syntaxHighlight lang=nix> | |||
00:00:00.616892 Audio: Initializing ALSA driver | |||
</syntaxHighlight> | |||
In this case, the audio driver causes a crash. This can be fixed by switching to another driver such as PULSE.}} | |||
{{Warning|Ensure that you do not put <code>virtualbox</code> into your <code>environment.systemPackages</code> when you've enabled it with <code>virtualisation.virtualbox.host.enable {{=}} true</code>. If you put <code>virtualbox</code> into your <code>environment.systemPackages</code>, VirtualBox won't be able to access it's driver, and attempting to start a VM will fail with the error NS_ERROR_FAILURE (0X80004005).}} | |||
== VirtualBox Oracle Extensions == | == VirtualBox Oracle Extensions == | ||
{{unfree}} | {{tip/unfree}} | ||
Oracle VirtualBox Extensions are required if you want to forward usb2 or usb3 to your guests. The Extensions are unfree. | Oracle VirtualBox Extensions are required if you want to forward usb2 or usb3 to your guests. The Extensions are unfree. | ||
Line 22: | Line 34: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
Host extensions cause frequent recompilation. | {{Tip|If USB forwarding is only advanced feature used in virtualization, then consider using an open-source virtualization solution such as GNOME Boxes or [[Virt-manager]] to avoid frequent recompilations..}} | ||
{{Warning|Host extensions cause frequent recompilation.}} | |||
Possible solutions: | Possible solutions: | ||
Line 29: | Line 42: | ||
* Also see https://stackoverflow.com/questions/48838411/install-virtualbox-modules-from-nixos-unstable-in-configuration-nix | * Also see https://stackoverflow.com/questions/48838411/install-virtualbox-modules-from-nixos-unstable-in-configuration-nix | ||
* Use module from https://github.com/NixOS/nixpkgs/pull/71127 (unsafe) if you'd like to avoid recompilation. | * Use module from https://github.com/NixOS/nixpkgs/pull/71127 (unsafe) if you'd like to avoid recompilation. | ||
* Use [[Virt-manager]] instead of VirtualBox | |||
== VirtualBox Guest Additions == | == VirtualBox Guest Additions == | ||
< | <syntaxhighlight lang="nix"> | ||
{ | { | ||
virtualisation.virtualbox.guest.enable = true; | virtualisation.virtualbox.guest.enable = true; | ||
virtualisation.virtualbox.guest. | virtualisation.virtualbox.guest.dragAndDrop = true; | ||
} | } | ||
</ | </syntaxhighlight> | ||
== See also == | == See also == |