Category:Virtualization: Difference between revisions
mNo edit summary |
Refactor page: split tables, improve introduction |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
This | This category page exists to list resources related to <strong>virtualisation</strong> in the Nix ecosystem. | ||
You can use | == Overview == | ||
You can use the following technologies for classic virtualisation on NixOS. You can also use [[:Category:Container|containers]], though they come with their own advantages and drawbacks. | |||
* QEMU/KVM (see [[Virt-manager]]) | * QEMU/KVM (see [[Virt-manager]]) | ||
* [[VirtualBox]] | * [[VirtualBox]] | ||
* [[VMware]] | * [[VMware]] | ||
* The [[Xen Project Hypervisor]] | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+Installing a hypervisor on the host system. | ||
! | !Hypervisor | ||
!Code snippet to be added to <code>configuration.nix</code> | |||
!Code | |||
|- | |- | ||
|QEMU/KVM | |QEMU/KVM | ||
| | |{{file|configuration.nix|nix| | ||
<nowiki> | |||
{ | |||
programs.virt-manager.enable = true; # can be used to manage non-local hosts as well | virtualisation.libvirtd.enable = true; | ||
# if you use libvirtd on a desktop environment | |||
programs.virt-manager.enable = true; # can be used to manage non-local hosts as well | |||
} | |||
</nowiki> | |||
}} | |||
|- | |||
|Xen Project Hypervisor | |||
|{{file|configuration.nix|nix| | |||
<nowiki> | |||
{ | |||
virtualisation.xen.enable = true; | |||
} | |||
</nowiki> | |||
}} | |||
|- | |- | ||
|VirtualBox | |VirtualBox | ||
| | |{{file|configuration.nix|nix| | ||
<nowiki> | |||
users.extraGroups.vboxusers.members = [ " | { | ||
virtualisation.virtualbox.host.enable = true; | |||
nixpkgs.config.allowUnfree = true; | users.extraGroups.vboxusers.members = [ "username" ]; | ||
virtualisation.virtualbox.host.enableExtensionPack = true; | |||
# Non-free Extension Pack | |||
nixpkgs.config.allowUnfree = true; | |||
virtualisation.virtualbox.host.enableExtensionPack = true; | |||
} | |||
</nowiki> | |||
}} | |||
|- | |- | ||
|VMware | |VMware | ||
| | |{{file|configuration.nix|nix| | ||
<nowiki> | |||
{ | |||
virtualisation.vmware.host.enable = true; | |||
} | |||
</nowiki> | |||
}} | |||
|} | |||
{| class="wikitable" | |||
|+Installing the appropriate guest utilities on a virtualised system. | |||
!Hypervisor the guest is running on | |||
!Code snippet to be added to the guest's <code>configuration.nix</code> | |||
|- | |- | ||
|QEMU/KVM | |QEMU/KVM | ||
|services.qemuGuest.enable =true; | |{{file|configuration.nix|nix| | ||
services.spice-vdagentd.enable = true; | <nowiki> | ||
{ | |||
services.qemuGuest.enable =true; | |||
services.spice-vdagentd.enable = true; | |||
} | |||
</nowiki> | |||
}} | |||
|- | |- | ||
|VirtualBox | |VirtualBox | ||
|virtualisation.virtualbox.guest.enable = true; | |{{file|configuration.nix|nix| | ||
virtualisation.virtualbox.guest.x11 = true; | <nowiki> | ||
{ | |||
virtualisation.virtualbox.guest.enable = true; | |||
virtualisation.virtualbox.guest.x11 = true; | |||
} | |||
</nowiki> | |||
}} | |||
|- | |- | ||
|VMware | |VMware | ||
|services.xserver.videoDrivers = [ "vmware" ]; | |{{file|configuration.nix|nix| | ||
virtualisation.vmware.guest.enable = true; | <nowiki> | ||
{ | |||
services.xserver.videoDrivers = [ "vmware" ]; | |||
virtualisation.vmware.guest.enable = true; | |||
} | |||
</nowiki> | |||
}} | |||
|- | |- | ||
|microvm.nix | |microvm.nix | ||
| | |Consult the [https://astro.github.io/microvm.nix/ MicroVM.nix documentation] | ||
[[Category: | [[Category:Software]] | ||
[[Category: | [[Category:Desktop]] | ||
[[Category:Server]] |
Latest revision as of 22:15, 27 October 2024
This category page exists to list resources related to virtualisation in the Nix ecosystem.
Overview
You can use the following technologies for classic virtualisation on NixOS. You can also use containers, though they come with their own advantages and drawbacks.
- QEMU/KVM (see Virt-manager)
- VirtualBox
- VMware
- The Xen Project Hypervisor
Hypervisor | Code snippet to be added to configuration.nix
|
---|---|
QEMU/KVM | configuration.nix {
virtualisation.libvirtd.enable = true;
# if you use libvirtd on a desktop environment
programs.virt-manager.enable = true; # can be used to manage non-local hosts as well
}
|
Xen Project Hypervisor | configuration.nix {
virtualisation.xen.enable = true;
}
|
VirtualBox | configuration.nix {
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "username" ];
# Non-free Extension Pack
nixpkgs.config.allowUnfree = true;
virtualisation.virtualbox.host.enableExtensionPack = true;
}
|
VMware | configuration.nix {
virtualisation.vmware.host.enable = true;
}
|
Hypervisor the guest is running on | Code snippet to be added to the guest's configuration.nix
|
---|---|
QEMU/KVM | configuration.nix {
services.qemuGuest.enable =true;
services.spice-vdagentd.enable = true;
}
|
VirtualBox | configuration.nix {
virtualisation.virtualbox.guest.enable = true;
virtualisation.virtualbox.guest.x11 = true;
}
|
VMware | configuration.nix {
services.xserver.videoDrivers = [ "vmware" ];
virtualisation.vmware.guest.enable = true;
}
|
microvm.nix | Consult the MicroVM.nix documentation |
Pages in category "Virtualization"
The following 14 pages are in this category, out of 14 total.