{ config, lib, pkgs, ... }: with lib; let cfg = config.nixfiles.modules.libvirtd; in { options.nixfiles.modules.libvirtd.enable = mkEnableOption "libvirtd"; config = mkIf cfg.enable { hm.home.packages = with pkgs; [ qemu-utils quickemu virt-manager ]; virtualisation.libvirtd = { enable = true; onBoot = "ignore"; onShutdown = "shutdown"; extraConfig = '' log_level = 4 log_outputs = "4:stderr" ''; qemu = { package = pkgs.qemu_kvm; runAsRoot = false; ovmf = { enable = true; packages = [pkgs.OVMFFull.fd]; }; swtpm = { enable = false; # Is this required for Windows 11? package = pkgs.swtpm-tpm2; }; }; }; my.extraGroups = ["libvirtd"]; }; }