diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-08-23 10:09:14 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-08-26 09:07:03 +0000 |
commit | 63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f (patch) | |
tree | d58934cb48f9c953b19a0d0d5cffc0d0c5561471 /nixpkgs/nixos/modules/virtualisation/libvirtd.nix | |
parent | c4eef3dacb2a3d359561f30917d9e3cc4e041be9 (diff) | |
parent | 91a22f76cd1716f9d0149e8a5c68424bb691de15 (diff) | |
download | nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.gz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.bz2 nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.lz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.xz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.zst nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
Diffstat (limited to 'nixpkgs/nixos/modules/virtualisation/libvirtd.nix')
-rw-r--r-- | nixpkgs/nixos/modules/virtualisation/libvirtd.nix | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/nixpkgs/nixos/modules/virtualisation/libvirtd.nix b/nixpkgs/nixos/modules/virtualisation/libvirtd.nix index 8dfe04cea542..708c577ec1ed 100644 --- a/nixpkgs/nixos/modules/virtualisation/libvirtd.nix +++ b/nixpkgs/nixos/modules/virtualisation/libvirtd.nix @@ -129,6 +129,60 @@ let }; }; }; + + hooksModule = types.submodule { + options = { + daemon = mkOption { + type = types.attrsOf types.path; + default = { }; + description = lib.mdDoc '' + Hooks that will be placed under /var/lib/libvirt/hooks/daemon.d/ + and called for daemon start/shutdown/SIGHUP events. + Please see https://libvirt.org/hooks.html for documentation. + ''; + }; + + qemu = mkOption { + type = types.attrsOf types.path; + default = { }; + description = lib.mdDoc '' + Hooks that will be placed under /var/lib/libvirt/hooks/qemu.d/ + and called for qemu domains begin/end/migrate events. + Please see https://libvirt.org/hooks.html for documentation. + ''; + }; + + lxc = mkOption { + type = types.attrsOf types.path; + default = { }; + description = lib.mdDoc '' + Hooks that will be placed under /var/lib/libvirt/hooks/lxc.d/ + and called for lxc domains begin/end events. + Please see https://libvirt.org/hooks.html for documentation. + ''; + }; + + libxl = mkOption { + type = types.attrsOf types.path; + default = { }; + description = lib.mdDoc '' + Hooks that will be placed under /var/lib/libvirt/hooks/libxl.d/ + and called for libxl-handled xen domains begin/end events. + Please see https://libvirt.org/hooks.html for documentation. + ''; + }; + + network = mkOption { + type = types.attrsOf types.path; + default = { }; + description = lib.mdDoc '' + Hooks that will be placed under /var/lib/libvirt/hooks/lxc.d/ + and called for networks begin/end events. + Please see https://libvirt.org/hooks.html for documentation. + ''; + }; + }; + }; in { @@ -246,6 +300,14 @@ in QEMU related options. ''; }; + + hooks = mkOption { + type = hooksModule; + default = { }; + description = lib.mdDoc '' + Hooks related options. + ''; + }; }; @@ -337,6 +399,15 @@ in ln -s --force ${ovmfpackage}/FV/AAVMF_VARS.fd /run/${dirName}/nix-ovmf/ ln -s --force ${ovmfpackage}/FV/OVMF_VARS.fd /run/${dirName}/nix-ovmf/ '')} + + # Symlink hooks to /var/lib/libvirt + ${concatStringsSep "\n" (map (driver: + '' + mkdir -p /var/lib/${dirName}/hooks/${driver}.d + rm -rf /var/lib/${dirName}/hooks/${driver}.d/* + ${concatStringsSep "\n" (mapAttrsToList (name: value: + "ln -s --force ${value} /var/lib/${dirName}/hooks/${driver}.d/${name}") cfg.hooks.${driver})} + '') (attrNames cfg.hooks))} ''; serviceConfig = { |