{ config, pkgs, lib, inputs, ... }: { imports = [ inputs.nixos-vfio.nixosModules.vfio ]; boot.kernelParams = ["amd_iommu=on"]; boot.blacklistedKernelModules = ["nvidia" "nouveau"]; boot.extraModulePackages = [ config.boot.kernelPackages.kvmfr ]; boot.kernelModules = ["vfio_virqfd" "vfio_pci" "vfio_iommu_type1" "vfio"]; boot.extraModprobeConfig = "options vfio-pci ids=10de:2705,10de:22bb"; virtualisation.libvirtd = { deviceACL = [ "/dev/kvm" "/dev/kvmfr0" "/dev/kvmfr1" "/dev/kvmfr2" "/dev/shm/scream" "/dev/shm/looking-glass" "/dev/null" "/dev/full" "/dev/zero" "/dev/random" "/dev/urandom" "/dev/ptmx" "/dev/kvm" "/dev/kqemu" "/dev/rtc" "/dev/hpet" "/dev/vfio/vfio" ]; }; virtualisation.spiceUSBRedirection.enable = true; virtualisation.vfio = { enable = true; IOMMUType = "amd"; devices = [ "10de:2705" "10de:22bb" ]; }; virtualisation.kvmfr = { enable = true; devices = lib.singleton { size = 128; permissions = { user = "tulg"; mode = "0777"; }; }; }; }