{ config, lib, modulesPath, ... }: let cfg = config.custom.vm; in { options.custom.vm.enable = lib.mkOption { type = lib.types.bool; default = false; }; 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"; }; }