nixos-conf/modules/platform/vm.nix

44 lines
842 B
Nix

{
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";
};
}