blob: ac743323968db54581d1fdd8d7142240b4f6e516 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
{
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;
};
};
}
|