Category:Virtualization

From NixOS Wiki
Revision as of 22:15, 27 October 2024 by SigmaSquadron (talk | contribs) (Refactor page: split tables, improve introduction)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

Installing a hypervisor on the host system.
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;
}
Installing the appropriate guest utilities on a virtualised system.
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