{ flakeInputs, ... }:

with flakeInputs.nixVirt.lib;

{
  config = {
    virtualisation.libvirtd = {
      qemu.swtpm.enable = true;
      allowedBridges = ["virbr0" "rz-0971" "rz-2403"];
    };
    virtualisation.spiceUSBRedirection.enable = true;
    virtualisation.libvirt = {
      enable = true;
      swtpm.enable = true;
      connections."qemu:///system" = {
        networks = [
          { active = null;
            definition = network.writeXML {
              name = "default";
              uuid = "012bfad7-4408-4345-8747-041853ef84c6";
              forward.mode = "nat";
              bridge = {
                name = "virbr0";
                stp = true;
                delay = 0;
              };
              mac.address = "52:54:00:ad:34:af";
              ip = {
                address = "192.168.122.1";
                netmask = "255.255.255.0";
                dhcp.range = {
                  start = "192.168.122.2";
                  end = "192.168.122.254";
                };
              };
            };
          }
        ];
      };
    };
  };
}