{ config, lib, pkgs, ... }: with lib; let cfg = config.nixfiles.modules.libvirtd; in { options.nixfiles.modules.libvirtd.enable = mkEnableOption "libvirtd"; config = mkIf cfg.enable { ark.directories = [ "/var/lib/libvirt" ]; hm.home.packages = with pkgs; [ bridge-utils qemu-utils quickemu virt-manager ]; virtualisation.libvirtd = { enable = true; onBoot = "ignore"; onShutdown = "shutdown"; extraConfig = '' log_level = 4 log_outputs = "4:stderr" ''; qemu = { runAsRoot = false; package = pkgs.qemu_kvm; vhostUserPackages = [ pkgs.virtiofsd ]; ovmf = { enable = true; packages = [ pkgs.OVMFFull.fd ]; }; swtpm = { enable = true; package = pkgs.swtpm; }; }; }; my.extraGroups = [ "libvirtd" ]; }; }