mirror of
https://github.com/blahai/nyx.git
synced 2025-01-18 19:10:21 +00:00
58 lines
1.1 KiB
Nix
58 lines
1.1 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}: let
|
|
enableIOMMU = true;
|
|
in {
|
|
boot = lib.mkIf enableIOMMU {
|
|
initrd.kernelModules = lib.mkBefore [
|
|
"kvm-amd"
|
|
"vfio_pci"
|
|
"vfio_iommu_type1"
|
|
"vfio"
|
|
];
|
|
kernelParams = [
|
|
"amd_iommu=on"
|
|
"amd_iommu=pt"
|
|
"kvm.ignore_msrs=1"
|
|
"vfio-pci.ids=1002:67df,1002:aaf0"
|
|
];
|
|
extraModprobeConfig = ''
|
|
softdep drm pre: vfio-pci
|
|
options kvm_amd nested=1
|
|
options kvm ignore_msrs=1 report_ignored_msrs=0
|
|
'';
|
|
};
|
|
|
|
hardware.ksm.enable = true;
|
|
|
|
virtualisation = {
|
|
libvirtd = {
|
|
enable = true;
|
|
onBoot = "ignore";
|
|
onShutdown = "shutdown";
|
|
|
|
qemu = {
|
|
package = pkgs.qemu_kvm;
|
|
ovmf.enable = true;
|
|
};
|
|
};
|
|
|
|
docker = {enable = true;};
|
|
};
|
|
|
|
programs = {virt-manager = {enable = true;};};
|
|
|
|
users.users.pingu.extraGroups = ["qemu-libvirtd" "libvirtd" "disk" "kvm" "docker"];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
python3 # scripts, cba to use nix shell all the time
|
|
usbutils
|
|
pciutils
|
|
virt-manager
|
|
moonlight-qt # for linux vms
|
|
# looking-glass-client # for windows vms :husk:
|
|
];
|
|
}
|