this repo has no description
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: add guestbook did

dusk 217fe05d cb13ca76

+47 -26
+20 -26
hosts/wolumonde/modules/atproto.nix
··· 1 - {pkgs, ...}: let 2 - in { 3 - services.nginx.virtualHosts."gaze.systems" = let 4 - _wellKnownFile = 5 - pkgs.writeText "server" "did:plc:dfl62fgb7wtjj3fcbb72naae"; 6 - wellKnownDir = pkgs.runCommand "well-known" {} '' 7 - mkdir -p $out 8 - cp ${_wellKnownFile} $out/atproto-did 9 - ''; 10 - in { 11 - locations."/.well-known/".extraConfig = '' 12 - add_header content-type text/plain; 13 - add_header access-control-allow-origin *; 14 - alias ${wellKnownDir}/; 15 - ''; 16 - }; 17 - services.nginx.virtualHosts."dawn.gaze.systems" = let 18 - _atprotoDidFile = 19 - pkgs.writeText "server" "did:web:dawn.gaze.systems"; 20 - _didFile = ../../../secrets/dawn.did; 21 - wellKnownDir = pkgs.runCommand "well-known" {} '' 22 - mkdir -p $out 23 - cp ${_didFile} $out/did.json 24 - cp ${_atprotoDidFile} $out/atproto-did 1 + {pkgs, lib, ...}: let 2 + mkFileCopy = name: file: "cp ${file} $out/${name}"; 3 + mkWellKnownDir = files: pkgs.runCommand "well-known" {} '' 4 + mkdir -p $out 5 + ${lib.concatStringsSep "\n" (lib.mapAttrsToList mkFileCopy files)} 25 6 ''; 26 - in { 7 + mkWellKnownCfg = files: { 27 8 useACMEHost = "gaze.systems"; 28 9 forceSSL = true; 29 10 locations."/.well-known/".extraConfig = '' 30 11 add_header content-type text/plain; 31 12 add_header access-control-allow-origin *; 32 - alias ${wellKnownDir}/; 13 + alias ${mkWellKnownDir files}/; 33 14 ''; 34 15 }; 16 + mkDidWebCfg = domain: { 17 + "${domain}" = mkWellKnownCfg { 18 + "did.json" = ../../../secrets/${domain}.did; 19 + "atproto-did" = pkgs.writeText "server" "did:web:${domain}"; 20 + }; 21 + }; 22 + in { 23 + services.nginx.virtualHosts = { 24 + "gaze.systems" = mkWellKnownCfg { 25 + "atproto-did" = pkgs.writeText "server" "did:plc:dfl62fgb7wtjj3fcbb72naae"; 26 + }; 27 + } // (mkDidWebCfg "dawn.gaze.systems") 28 + // (mkDidWebCfg "guestbook.gaze.systems"); 35 29 }
+1
hosts/wolumonde/modules/nginx.nix
··· 24 24 "limbus.gaze.systems" 25 25 # "bsky.gaze.systems" 26 26 "dawn.gaze.systems" 27 + "guestbook.gaze.systems" 27 28 ]; 28 29 }; 29 30 };
secrets/dawn.did secrets/dawn.gaze.systems.did
+26
secrets/guestbook.gaze.systems.did
··· 1 + { 2 + "@context": [ 3 + "https://www.w3.org/ns/did/v1", 4 + "https://w3id.org/security/multikey/v1", 5 + "https://w3id.org/security/suites/secp256k1-2019/v1" 6 + ], 7 + "id": "did:web:guestbook.gaze.systems", 8 + "alsoKnownAs": [ 9 + "at://guestbook.gaze.systems" 10 + ], 11 + "verificationMethod": [ 12 + { 13 + "id": "did:web:guestbook.gaze.systems#atproto", 14 + "type": "Multikey", 15 + "controller": "did:web:guestbook.gaze.systems", 16 + "publicKeyMultibase": "zQ3shSiLsnqpyQ4SfDTT1D8qzFEoeYT8rSDXW6o8pVY7VcRBJ" 17 + } 18 + ], 19 + "service": [ 20 + { 21 + "id": "#atproto_pds", 22 + "type": "AtprotoPersonalDataServer", 23 + "serviceEndpoint": "https://gaze.systems" 24 + } 25 + ] 26 + }