{ config, lib, system, pkgs, modulesPath, inputs, ... }: { programs.virt-manager.enable = true; virtualisation.spiceUSBRedirection.enable = true; virtualisation.libvirtd = { enable = true; qemu = { package = pkgs.qemu_kvm; runAsRoot = true; swtpm.enable = true; ovmf = { enable = true; packages = [(pkgs.OVMF.override { secureBoot = true; tpmSupport = true; }).fd]; }; }; hooks.qemu = { win11 = ./scripts/vm-win11-hook.sh; }; }; systemd.services.libvirtd = { path = let env = pkgs.buildEnv { name = "qemu-hook-env"; paths = with pkgs; [ bash libvirt kmod systemd ripgrep sd ]; }; in [ env ]; /*preStart = '' mkdir -p /var/lib/libvirt/hooks mkdir -p /var/lib/libvirt/hooks/qemu.d/win10/prepare/begin mkdir -p /var/lib/libvirt/hooks/qemu.d/win10/release/end mkdir -p /var/lib/libvirt/vgabios ln -sf /home/regent/symlinks/qemu /var/lib/libvirt/hooks/qemu ln -sf /home/regent/symlinks/kvm.conf /var/lib/libvirt/hooks/kvm.conf ln -sf /home/regent/symlinks/start.sh /var/lib/libvirt/hooks/qemu.d/win11/prepare/begin/start.sh ln -sf /home/regent/symlinks/stop.sh /var/lib/libvirt/hooks/qemu.d/win11/release/end/stop.sh chmod +x /var/lib/libvirt/hooks/qemu chmod +x /var/lib/libvirt/hooks/kvm.conf chmod +x /var/lib/libvirt/hooks/qemu.d/win11/prepare/begin/start.sh chmod +x /var/lib/libvirt/hooks/qemu.d/win11/release/end/stop.sh '';*/ }; users.extraUsers.regent.extraGroups = [ "libvirtd" ]; }