{ me, config, ... }: let domain = "rnrd.eu"; in { age.secrets.cloudflare-dns = { file = ../secrets/cloudflare-dns.age; }; services.ddclient = { enable = true; # Cloudflare DNS API parameters # dyn.com no longer supports HTTPS :( # See: https://github.com/ddclient/ddclient/issues/597 usev6 = "webv6, webv6=ipv6.icanhazip.com/"; protocol = "cloudflare"; username = "token"; zone = domain; domains = [ "${me.name}.${domain}" ]; passwordFile = config.age.secrets.cloudflare-dns.path; }; systemd.services.ddclient = { # ddclient likes failing the whole process when # one part of the operation did not succeed, like # setting the A record, which i do not want anyway. # treat these failures as a success: serviceConfig.SuccessExitStatus = [ 0 1 ]; }; }