diff --git a/hosts/freun-dev/configuration.nix b/hosts/freun-dev/configuration.nix index 9303c2c..9c97be1 100644 --- a/hosts/freun-dev/configuration.nix +++ b/hosts/freun-dev/configuration.nix @@ -46,6 +46,22 @@ in ttl = 86400; values = [ ipv6Address ]; }; + TXT = { + ttl = 86400; + values = [ + "v=spf1 include:spf.uberspace.de ~all" + ]; + }; + }; + "_dmarc".TXT = { + ttl = 86400; + values = [ "v=DMARC1; p=reject" ]; + }; + "uberspace._domainkey".TXT = { + ttl = 86400; + values = [ + "v=DKIM1\\;t=s\\;n=core\\;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArjZrrWhFn/xSH3+aPA3G1eGD5yAeyn7ZhHSCBM7b/9A5Fny9URjEf1La7dcU+oF/d7outgmTCs/umItBCB7ybkMriaLC+RBZJY0blf35bMYWL9NLpbKzVVAZQPgDZJm7R/grbg0nJgb5RCGLYu9iPcRjJtpu2vYaitkNh8WJ4q+iA/YOos2pQmP+6I5zLTVenFfEWJccdtfhJcORSuONN+Xi1+dQxpQzlwxUWz4DgOsfVaE3woDH3RAAQCtiMyk8ZQhhrL85pHH6zT3sNXzzVphJdIIYA+VYAgYYOTkRbdDhYSd5zCDX5f4L1UmBsJS2ommBGvw2qMDhagXsaN32BwIDAQAB" + ]; }; "ts" = { A = { diff --git a/modules/services/octodns.nix b/modules/services/octodns.nix index 382c9d9..79db4cb 100644 --- a/modules/services/octodns.nix +++ b/modules/services/octodns.nix @@ -41,6 +41,12 @@ let }; default = { }; }; + TXT = lib.mkOption { + type = lib.types.submodule { + options = types.ttlOptions cfg.defaults.ttl; + }; + default = { }; + }; } // (types.ttlOptions 3600); }; aRecord = lib.types.submodule { @@ -106,6 +112,18 @@ let }; }; }; + txtRecord = lib.types.submodule { + options = { + values = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + }; + ttl = lib.mkOption { + type = lib.types.int; + default = cfg.defaults.AAAA.ttl; + }; + }; + }; records = lib.types.submodule { options = { A = lib.mkOption { @@ -124,6 +142,10 @@ let type = types.mxRecord; default = { }; }; + TXT = lib.mkOption { + type = types.txtRecord; + default = { }; + }; }; }; };