From a56f98417dbba124f07d1da69ee448513e660414 Mon Sep 17 00:00:00 2001 From: 514fpv Date: Wed, 3 Jan 2024 16:59:17 +0800 Subject: [PATCH] feat(libvirt): service configuration and persist --- faucet/libvirt/default.nix | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 faucet/libvirt/default.nix diff --git a/faucet/libvirt/default.nix b/faucet/libvirt/default.nix new file mode 100644 index 00000000..4147a975 --- /dev/null +++ b/faucet/libvirt/default.nix @@ -0,0 +1,30 @@ +{ pkgs +, lib +, config +, ... }: with lib; let + cfg = config.faucet.libvirt; +in { + options.faucet.libvirt = { + enable = mkEnableOption "libvirt virtualisation daemon" // { default = true; }; + }; + + config = mkIf cfg.enable { + virtualisation.libvirtd = { + enable = true; + qemu.runAsRoot = false; + qemu.swtpm.enable = true; + + # disable as much implicit state as possible + onBoot = "ignore"; + onShutdown = "shutdown"; + parallelShutdown = 5; + }; + + # USB redirection requires a setuid wrapper + virtualisation.spiceUSBRedirection.enable = true; + + environment.persistence."/nix/persist/fhs".directories = [ + "/var/lib/libvirt" + ]; + }; +}