{ config, lib, ... }: let zone = "alin.ovh"; server = "pdns.${zone}"; domains = [ "home.${zone}" ]; in { age.secrets = { dyndns.file = ../../secrets/dyndns.age; }; services.ddclient = { enable = true; inherit zone server domains; protocol = "nsupdate"; passwordFile = config.age.secrets.dyndns.path; }; networking.firewall = { allowedTCPPorts = [ 22 80 443 ]; allowedUDPPorts = [ 443 ]; }; services.caddy.virtualHosts = { ${builtins.head domains} = { extraConfig = lib.mkDefault '' respond "Hello, world!" ''; }; }; }