shorkie-flake/base/virtualisation/virtualisation.nix

63 lines
1.2 KiB
Nix

{ pkgs, config, ... }: {
imports = [
./kvmfr-options.nix
./libvirt.nix
./virtualisationmod.nix
./vfio.nix
];
virtualisation = {
libvirtd = {
enable = true;
onBoot = "ignore";
onShutdown = "shutdown";
qemu = {
package = pkgs.qemu_kvm;
ovmf = {
enable = true;
};
swtpm.enable = true;
runAsRoot = true;
};
clearEmulationCapabilities = false;
deviceACL = [
"/dev/ptmx"
"/dev/kvm"
"/dev/kvmfr0"
"/dev/vfio/vfio"
"/dev/vfio/30"
];
};
kvmfr = {
enable = true;
shm = {
enable = true;
size = 512;
user = "alyx";
group = "qemu-libvirtd";
mode = "0666";
};
};
spiceUSBRedirection.enable = true;
};
virtualisation.vfio = {
enable = true;
IOMMUType = "intel";
devices = [
"1002:67df"
"1002:aaf0"
"1b21:2142"
"8086:8d26"
"8086:8d2d"
];
ignoreMSRs = true;
disablePCIeASPM = true;
disableEFIfb = false;
};
boot.kernelModules = [ "kvm-intel" "vhost_vsock" "vfio_virqfd" "vhost-net" ];
}