nixdots/hosts/virgil/vfio.nix
2025-10-24 21:19:37 +03:00

67 lines
1.2 KiB
Nix

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