···
133
+
hooksModule = types.submodule {
135
+
daemon = mkOption {
136
+
type = types.attrsOf types.path;
138
+
description = lib.mdDoc ''
139
+
Hooks that will be placed under /var/lib/libvirt/hooks/daemon.d/
140
+
and called for daemon start/shutdown/SIGHUP events.
141
+
Please see https://libvirt.org/hooks.html for documentation.
146
+
type = types.attrsOf types.path;
148
+
description = lib.mdDoc ''
149
+
Hooks that will be placed under /var/lib/libvirt/hooks/qemu.d/
150
+
and called for qemu domains begin/end/migrate events.
151
+
Please see https://libvirt.org/hooks.html for documentation.
156
+
type = types.attrsOf types.path;
158
+
description = lib.mdDoc ''
159
+
Hooks that will be placed under /var/lib/libvirt/hooks/lxc.d/
160
+
and called for lxc domains begin/end events.
161
+
Please see https://libvirt.org/hooks.html for documentation.
166
+
type = types.attrsOf types.path;
168
+
description = lib.mdDoc ''
169
+
Hooks that will be placed under /var/lib/libvirt/hooks/libxl.d/
170
+
and called for libxl-handled xen domains begin/end events.
171
+
Please see https://libvirt.org/hooks.html for documentation.
175
+
network = mkOption {
176
+
type = types.attrsOf types.path;
178
+
description = lib.mdDoc ''
179
+
Hooks that will be placed under /var/lib/libvirt/hooks/lxc.d/
180
+
and called for networks begin/end events.
181
+
Please see https://libvirt.org/hooks.html for documentation.
···
305
+
type = hooksModule;
307
+
description = lib.mdDoc ''
308
+
Hooks related options.
···
ln -s --force ${ovmfpackage}/FV/AAVMF_VARS.fd /run/${dirName}/nix-ovmf/
ln -s --force ${ovmfpackage}/FV/OVMF_VARS.fd /run/${dirName}/nix-ovmf/
403
+
# Symlink hooks to /var/lib/libvirt
404
+
${concatStringsSep "\n" (map (driver:
406
+
mkdir -p /var/lib/${dirName}/hooks/${driver}.d
407
+
rm -rf /var/lib/${dirName}/hooks/${driver}.d/*
408
+
${concatStringsSep "\n" (mapAttrsToList (name: value:
409
+
"ln -s --force ${value} /var/lib/${dirName}/hooks/${driver}.d/${name}") cfg.hooks.${driver})}
410
+
'') (attrNames cfg.hooks))}