nix machine / user configurations

feat(wolumonde): ptr.pet

ptr.pet 6ad8137e a6fec244

verified
Changed files
+40 -15
dns
hosts
wolumonde
secrets
+13
dns/dnsconfig.js
···
TXT("@", "v=spf1 -all"),
TXT("_dmarc", "v=DMARC1; p=reject;"),
);
+
+
D(
+
"ptr.pet",
+
REG_NONE,
+
DnsProvider(DSP_CLOUDFLARE),
+
DefaultTTL(1),
+
A("@", WOLUMONDE_IP, CF_PROXY_OFF),
+
A("nil", WOLUMONDE_IP, CF_PROXY_OFF),
+
TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"),
+
TXT("_atproto.nil", "did=did:web:dawn.gaze.systems"),
+
TXT("@", "v=spf1 -all"),
+
TXT("_dmarc", "v=DMARC1; p=reject;"),
+
);
+15 -15
hosts/wolumonde/modules/atproto.nix
···
}) files
);
};
+
mkHandleCfg = rootDomain: did: (mkWellKnownCfg {
+
"atproto-did" = pkgs.writeText "server" did;
+
})
+
// {
+
useACMEHost = rootDomain;
+
forceSSL = true;
+
quic = true;
+
kTLS = true;
+
};
mkDidWebCfg = domain: {
"${domain}" =
(mkWellKnownCfg {
···
// (lib.optionalAttrs (lib.hasSuffix "gaze.systems" domain) {
useACMEHost = "gaze.systems";
forceSSL = true;
+
quic = true;
+
kTLS = true;
});
};
dawnDid = "dawn.gaze.systems";
···
dawnDid guestbookDid "drew.gaze.systems"
];
services.nginx.virtualHosts = {
-
# "gaze.systems" = mkWellKnownCfg {
-
# "atproto-did" = pkgs.writeText "server" "did:plc:dfl62fgb7wtjj3fcbb72naae";
-
# };
-
"poor.dog" = mkWellKnownCfg {
-
"atproto-did" = pkgs.writeText "server" "did:plc:dfl62fgb7wtjj3fcbb72naae";
-
};
-
# "9.0.0.0.8.e.f.1.5.0.7.4.0.1.0.0.2.ip6.arpa" = mkWellKnownCfg {
-
# "atproto-did" = pkgs.writeText "server" "did:plc:dfl62fgb7wtjj3fcbb72naae";
-
# };
-
"drew.gaze.systems" = (mkWellKnownCfg {
-
"atproto-did" = pkgs.writeText "server" "did:plc:vo6ie3kd6xvpjlof4pnb2zzp";
-
}) // {
-
useACMEHost = "gaze.systems";
-
forceSSL = true;
-
};
+
"poor.dog" = mkHandleCfg "poor.dog" "did:plc:dfl62fgb7wtjj3fcbb72naae";
+
"ptr.pet" = mkHandleCfg "ptr.pet" "did:plc:dfl62fgb7wtjj3fcbb72naae";
+
"nil.ptr.pet" = mkHandleCfg "ptr.pet" "did:web:dawn.gaze.systems";
+
"drew.gaze.systems" = mkHandleCfg "gaze.systems" "did:plc:vo6ie3kd6xvpjlof4pnb2zzp";
}
// (mkDidWebCfg dawnDid)
// (mkDidWebCfg guestbookDid);
+4
hosts/wolumonde/modules/blog.nix
···
services.nginx.virtualHosts."poor.dog" = {
locations."/".return = "301 https://gaze.systems$request_uri";
};
+
+
services.nginx.virtualHosts."ptr.pet" = {
+
locations."/".return = "301 https://gaze.systems$request_uri";
+
};
}
+7
hosts/wolumonde/modules/nginx.nix
···
defaults.email = (import "${inputs.self}/personal.nix").emails.primary;
defaults.webroot = "/var/lib/acme/acme-challenge";
certs."poor.dog" = { };
+
certs."ptr.pet" = { };
certs."gaze.systems" = { };
};
services.nginx.virtualHosts."gaze.systems" = {
···
quic = true;
kTLS = true;
useACMEHost = "poor.dog";
+
forceSSL = true;
+
};
+
services.nginx.virtualHosts."ptr.pet" = {
+
quic = true;
+
kTLS = true;
+
useACMEHost = "ptr.pet";
forceSSL = true;
};
+1
secrets/dawn.gaze.systems.did
···
],
"id": "did:web:dawn.gaze.systems",
"alsoKnownAs": [
+
"at://nil.ptr.pet",
"at://dawn.gaze.systems"
],
"verificationMethod": [