{ config, ... }: let repo = config.repo; repoHelpers = repo.helpers; service = repo.services.vaultwarden; in { flake.modules.nixos.vaultwarden = { lib, ... }: lib.mkMerge [ { services.vaultwarden = { enable = true; backupDir = "/var/backup/vaultwarden"; config = { DOMAIN = service.url; SIGNUPS_ALLOWED = false; ROCKET_PORT = service.port; ROCKET_LOG = "critical"; }; }; } (repoHelpers.mkCaddyReverseProxy { inherit (service) domain port ; }) ]; }