{ config, lib, pkgs, ... }: { options.sysconfig.opts.dynamicDNS.enable = lib.options.mkOption { type = lib.types.bool; default = false; }; config = lib.mkIf config.sysconfig.opts.dynamicDNS { systemd.timers.dynamicDNS = { wantedBy = [ "timers.target" ]; timerConfig = { OnBootSec = "5m"; OnUnitActiveSec = "1h"; Unit = "dynamicDNS.service"; }; }; systemd.services.dynamicDNS = { name = "dynamicDNS.service"; serviceConfig = { Type = "oneshot"; LoadCredential = [ "cloudflare-api-key" ]; }; script = ''''; }; }; }