{ config, lib, ... }: let cfg = config.custom.platform.vm; in { options.custom.platform.vm.enable = lib.mkEnableOption "KVM virtual machine guest configuration"; config = lib.mkIf cfg.enable { services.qemuGuest.enable = true; boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ]; boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" "virtio_gpu" ]; boot.kernelModules = [ ]; boot.extraModulePackages = [ ]; networking.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; }; }