Skip to content

Virtualisation

Source directory: modules/virt/

default.nix

modules/virt/default.nix

No option declarations; see source for implementation.

incus.nix

modules/virt/incus.nix

Options: enable

Options declaration (Nix)
  options.services.incus = {
    enable = mkEnableOption {
      default = false;
      description = "Enable the Incus service.";
    };
  }

podman.nix

modules/virt/podman.nix

Options: enable

Options declaration (Nix)
  options.services.podman = {
    enable = mkEnableOption {
      default = false;
      description = "Enable the Podman service.";
    };
  }

spice.nix

modules/virt/spice.nix

Options: enable, guestAgent

Options declaration (Nix)
  options.services.spice = {
    enable = mkEnableOption {
      default = false;
      description = "Enable the SPICE protocol server.";
    };

    guestAgent = mkEnableOption ''
      the spice-vdagent guest daemon. Only meaningful when THIS machine is
      itself a SPICE/VM guest. On a physical host it has no SPICE session
      and logs "Error getting active session: No data available" on a
      tight loop, so it stays off even when SPICE (USB redirection / client
      tools for running VMs locally) is enabled'';
  }

virt.nix

modules/virt/virt.nix

Options: enable

Options declaration (Nix)
  options.services.libvirt = {
    enable = mkEnableOption {
      default = false;
      description = "Enable libvirt";
    };
  }

waydroid.nix

modules/virt/waydroid.nix

  • Enable option: Waydroid Android emulation
Options declaration (Nix)
  options.features.virtualization.waydroid = {
    enable = lib.mkEnableOption "Waydroid Android emulation";

    disableGbm = lib.mkOption {
      type = lib.types.bool;
      default = false;
      description = ''
        Disable GBM and mesa-drivers (required for NVIDIA GPUs).

        Set to true for systems with NVIDIA graphics cards or RX 6800 series.
        This is a critical requirement for Waydroid compatibility with NVIDIA.
      '';
    };

    enableWaydroidHelper = lib.mkOption {
      type = lib.types.bool;
      default = true;
      description = ''
        Enable waydroid-helper systemd service for automated filesystem setup.

        Waydroid-helper provides the waydroid-mount service which automatically
        manages Waydroid's filesystem mounts. Available in NixOS 25.11+.
      '';
    };

    package = lib.mkOption {
      type = lib.types.package;
      default = pkgs.waydroid-nftables;
      description = ''
        Waydroid package to use.

        Default is waydroid-nftables which includes patches for compatibility
        with newer Linux kernels that use nftables instead of iptables.
      '';
    };
  }