{ lib, config, modulesPath, ... }: let inherit (lib) mkVMOverride mapAttrs' filterAttrs; cfg = config.services.garage; fedicfg = config.fediversity.internal.garage; in { imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ]; services.nginx.virtualHosts = let value = { forceSSL = mkVMOverride false; enableACME = mkVMOverride false; }; in mapAttrs' (bucket: _: { name = fedicfg.web.domainForBucket bucket; inherit value; }) (filterAttrs (_: { website, ... }: website) cfg.ensureBuckets); virtualisation.diskSize = 2048; virtualisation.forwardPorts = [ { from = "host"; host.port = fedicfg.rpc.port; guest.port = fedicfg.rpc.port; } { from = "host"; host.port = fedicfg.web.internalPort; guest.port = fedicfg.web.internalPort; } ]; }