desktop/kernel/vfio.nix
2025-12-22 16:46:52 -03:00

47 lines
864 B
Nix

{
config,
lib,
pkgs,
...
}:
let
cfg = config.custom.kernel.vfio;
in
{
options.custom.kernel.vfio = {
enable = lib.mkOption {
type = lib.types.bool;
default = true;
};
};
config = lib.mkIf cfg.enable {
boot = {
extraModulePackages = [ config.boot.kernelPackages.kvmfr ];
extraModprobeConfig = ''
options kvmfr static_size_mb=128
'';
kernelParams = [
"vfio-pci.ids=10de:2204,10de:1aef"
];
kernelModules = [ "kvmfr" ];
initrd.kernelModules = [
"kvmfr"
"kvm-amd"
"vfio_pci"
"vfio_iommu_type1"
"vfio"
];
};
services = {
udev.extraRules = ''
SUBSYSTEM=="kvmfr", OWNER="master", GROUP="kvm", MODE="0660"
'';
};
environment.systemPackages = [
pkgs.looking-glass-client
];
};
}