nix machine / user configurations

use hedns

ptr.pet 007f5018 6daa2428

verified
Changed files
+21 -28
dns
hosts
trimounts
modules
+20 -24
dns/dnsconfig.js
··· 1 var DSP_CLOUDFLARE = NewDnsProvider("cloudflare"); 2 - var DSP_BUNNY = NewDnsProvider("bunny_dns"); 3 var REG_NONE = NewRegistrar("none"); 4 5 var DZWONEK_IP4 = "94.237.26.47"; ··· 52 D( 53 "gaze.systems", 54 REG_NONE, 55 - DnsProvider(DSP_BUNNY), 56 - DefaultTTL(1), 57 TRIMOUNTS( 58 [ 59 "@", "doc", "pmart", "dash", "id", ··· 90 "9.0.0.0.8.e.f.1.5.0.7.4.0.1.0.0.2.ip6.arpa", 91 REG_NONE, 92 DnsProvider(DSP_CLOUDFLARE), 93 - DefaultTTL(1), 94 TRIMOUNTS("@", CF_PROXY_ON), 95 TXT("@", "a data endpoint for entity with serial id /90008/."), 96 TXT( ··· 111 D( 112 "poor.dog", 113 REG_NONE, 114 - DnsProvider(DSP_BUNNY), 115 - DefaultTTL(1), 116 TRIMOUNTS("@", CF_PROXY_OFF), 117 TXT("@", "v=spf1 -all"), 118 TXT("_dmarc", "v=DMARC1; p=reject;"), ··· 120 IGNORE_ACME(), 121 ); 122 123 - var EMAIL_TTL = 86400; 124 125 D( 126 "ptr.pet", 127 REG_NONE, 128 - DnsProvider(DSP_BUNNY), 129 - DefaultTTL(1), 130 TRIMOUNTS("@", CF_PROXY_OFF), 131 DZWONEK(["nucleus", "trill", "dysnomia"], CF_PROXY_OFF), 132 // atproto ··· 138 CNAME("*.june", "girlboss.ceo."), 139 // email 140 // verification 141 - TXT("@", "hosted-email-verify=zr04ylon", TTL(EMAIL_TTL)), 142 143 - MX("@", 10, "aspmx1.migadu.com.", TTL(EMAIL_TTL)), 144 - MX("@", 20, "aspmx2.migadu.com.", TTL(EMAIL_TTL)), 145 146 // DKIM 147 CNAME( 148 "key1._domainkey", 149 "key1.ptr.pet._domainkey.migadu.com.", 150 - TTL(EMAIL_TTL), 151 ), 152 CNAME( 153 "key2._domainkey", 154 "key2.ptr.pet._domainkey.migadu.com.", 155 - TTL(EMAIL_TTL), 156 ), 157 CNAME( 158 "key3._domainkey", 159 "key3.ptr.pet._domainkey.migadu.com.", 160 - TTL(EMAIL_TTL), 161 ), 162 163 // SPF 164 - TXT("@", "v=spf1 include:spf.migadu.com -all", TTL(EMAIL_TTL)), 165 166 // DMARC 167 TXT( 168 "_dmarc", 169 "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; fo=1; pct=100; rua=mailto:infrastructure@ptr.pet; ruf=mailto:infrastructure@ptr.pet", 170 - TTL(EMAIL_TTL), 171 ), 172 173 // configuration 174 TXT( 175 "@", 176 "mailconf=https://autoconfig.migadu.com/mail/config-v1.1.xml", 177 - TTL(EMAIL_TTL), 178 ), 179 180 // TLS reporting 181 TXT( 182 "_smtp._tls", 183 "v=TLSRPTv1; rua=mailto:infrastructure@ptr.pet", 184 - TTL(EMAIL_TTL), 185 ), 186 187 // mta-sts 188 TRIMOUNTS("mta-sts", CF_PROXY_OFF), 189 - TXT("_mta-sts", "v=STSv1; id=20250930T1945", TTL(EMAIL_TTL)), 190 191 // autoconfig 192 TRIMOUNTS(["autoconfig", "autodiscover"], CF_PROXY_OFF), ··· 198 1, 199 443, 200 "autodiscover.migadu.com.", 201 - TTL(EMAIL_TTL), 202 ), 203 - SRV("_submissions._tcp", 0, 1, 465, "smtp.migadu.com.", TTL(EMAIL_TTL)), 204 - SRV("_imaps._tcp", 0, 1, 993, "imap.migadu.com.", TTL(EMAIL_TTL)), 205 - SRV("_pop3s._tcp", 0, 1, 995, "pop.migadu.com.", TTL(EMAIL_TTL)), 206 207 IGNORE_ACME(), 208 );
··· 1 var DSP_CLOUDFLARE = NewDnsProvider("cloudflare"); 2 + var DSP_PRIMARY = NewDnsProvider("hedns"); 3 var REG_NONE = NewRegistrar("none"); 4 5 var DZWONEK_IP4 = "94.237.26.47"; ··· 52 D( 53 "gaze.systems", 54 REG_NONE, 55 + DnsProvider(DSP_PRIMARY), 56 TRIMOUNTS( 57 [ 58 "@", "doc", "pmart", "dash", "id", ··· 89 "9.0.0.0.8.e.f.1.5.0.7.4.0.1.0.0.2.ip6.arpa", 90 REG_NONE, 91 DnsProvider(DSP_CLOUDFLARE), 92 TRIMOUNTS("@", CF_PROXY_ON), 93 TXT("@", "a data endpoint for entity with serial id /90008/."), 94 TXT( ··· 109 D( 110 "poor.dog", 111 REG_NONE, 112 + DnsProvider(DSP_PRIMARY), 113 TRIMOUNTS("@", CF_PROXY_OFF), 114 TXT("@", "v=spf1 -all"), 115 TXT("_dmarc", "v=DMARC1; p=reject;"), ··· 117 IGNORE_ACME(), 118 ); 119 120 + var EMAIL_TTL = function () { return TTL(86400); }; 121 122 D( 123 "ptr.pet", 124 REG_NONE, 125 + DnsProvider(DSP_PRIMARY), 126 TRIMOUNTS("@", CF_PROXY_OFF), 127 DZWONEK(["nucleus", "trill", "dysnomia"], CF_PROXY_OFF), 128 // atproto ··· 134 CNAME("*.june", "girlboss.ceo."), 135 // email 136 // verification 137 + TXT("@", "hosted-email-verify=zr04ylon", EMAIL_TTL()), 138 139 + MX("@", 10, "aspmx1.migadu.com.", EMAIL_TTL()), 140 + MX("@", 20, "aspmx2.migadu.com.", EMAIL_TTL()), 141 142 // DKIM 143 CNAME( 144 "key1._domainkey", 145 "key1.ptr.pet._domainkey.migadu.com.", 146 + EMAIL_TTL(), 147 ), 148 CNAME( 149 "key2._domainkey", 150 "key2.ptr.pet._domainkey.migadu.com.", 151 + EMAIL_TTL(), 152 ), 153 CNAME( 154 "key3._domainkey", 155 "key3.ptr.pet._domainkey.migadu.com.", 156 + EMAIL_TTL(), 157 ), 158 159 // SPF 160 + TXT("@", "v=spf1 include:spf.migadu.com -all", EMAIL_TTL()), 161 162 // DMARC 163 TXT( 164 "_dmarc", 165 "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; fo=1; pct=100; rua=mailto:infrastructure@ptr.pet; ruf=mailto:infrastructure@ptr.pet", 166 + EMAIL_TTL(), 167 ), 168 169 // configuration 170 TXT( 171 "@", 172 "mailconf=https://autoconfig.migadu.com/mail/config-v1.1.xml", 173 + EMAIL_TTL(), 174 ), 175 176 // TLS reporting 177 TXT( 178 "_smtp._tls", 179 "v=TLSRPTv1; rua=mailto:infrastructure@ptr.pet", 180 + EMAIL_TTL(), 181 ), 182 183 // mta-sts 184 TRIMOUNTS("mta-sts", CF_PROXY_OFF), 185 + TXT("_mta-sts", "v=STSv1; id=20250930T1945", EMAIL_TTL()), 186 187 // autoconfig 188 TRIMOUNTS(["autoconfig", "autodiscover"], CF_PROXY_OFF), ··· 194 1, 195 443, 196 "autodiscover.migadu.com.", 197 + EMAIL_TTL(), 198 ), 199 + SRV("_submissions._tcp", 0, 1, 465, "smtp.migadu.com.", EMAIL_TTL()), 200 + SRV("_imaps._tcp", 0, 1, 993, "imap.migadu.com.", EMAIL_TTL()), 201 + SRV("_pop3s._tcp", 0, 1, 995, "pop.migadu.com.", EMAIL_TTL()), 202 203 IGNORE_ACME(), 204 );
+1 -4
hosts/trimounts/modules/nginx.nix
··· 44 defaults = { 45 group = "nginx"; 46 email = (import "${inputs.self}/personal.nix").emails.primary; 47 - dnsProvider = "bunny"; 48 - credentialFiles = { 49 - BUNNY_API_KEY_FILE = config.age.secrets.bunnyApiKey.path; 50 - }; 51 }; 52 certs."poor.dog" = { }; 53 certs."ptr.pet" = { };
··· 44 defaults = { 45 group = "nginx"; 46 email = (import "${inputs.self}/personal.nix").emails.primary; 47 + webroot = "/var/lib/acme/acme-challenge"; 48 }; 49 certs."poor.dog" = { }; 50 certs."ptr.pet" = { };