67 lines
1.2 KiB
Nix
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";
|
|
};
|
|
};
|
|
};
|
|
}
|