{ pkgs, virt-users ? [ ], ... }: let # https://stackoverflow.com/questions/75855410/nix-map-list-of-keys-to-attribute-set-members attrSetRepeatValue = value: list: let acc = { }; # accumulator in builtins.foldl' (acc: key: acc // { "${key}" = value; }) acc list; in { users.users = attrSetRepeatValue { extraGroups = [ "libvirtd" ]; } virt-users; home-manager.users = attrSetRepeatValue { home.packages = [ pkgs.quickemu ]; dconf.settings."org/virt-manager/virt-manager/connections" = { autoconnect = [ "qemu:///system" ]; uris = [ "qemu:///system" ]; }; } virt-users; programs.virt-manager.enable = true; virtualisation.libvirtd = { enable = true; qemu = { package = pkgs.qemu_kvm; swtpm.enable = true; }; }; }