nix machine / user configurations

host nucleus on dzwonek

ptr.pet caa8877a cc868952

verified
Changed files
+80 -1
_sources
dns
hosts
dzwonek
modules
+20
_sources/generated.json
··· 246 }, 247 "version": "2683e619932808b8aa78ec7100de6324c8216daf" 248 }, 249 "stylix": { 250 "cargoLocks": null, 251 "date": "2025-10-28",
··· 246 }, 247 "version": "2683e619932808b8aa78ec7100de6324c8216daf" 248 }, 249 + "nucleus": { 250 + "cargoLocks": null, 251 + "date": "2025-10-31", 252 + "extract": null, 253 + "name": "nucleus", 254 + "passthru": null, 255 + "pinned": false, 256 + "src": { 257 + "deepClone": false, 258 + "fetchSubmodules": false, 259 + "leaveDotGit": false, 260 + "name": null, 261 + "rev": "424bd6cfb7aaa5f178dc32e79a997d229c7bd823", 262 + "sha256": "sha256-jK+4I2WT60bFQaq6ItlPFzvDj9P3pu386m1AtrzUmc4=", 263 + "sparseCheckout": [], 264 + "type": "git", 265 + "url": "https://tangled.org/@ptr.pet/nucleus" 266 + }, 267 + "version": "424bd6cfb7aaa5f178dc32e79a997d229c7bd823" 268 + }, 269 "stylix": { 270 "cargoLocks": null, 271 "date": "2025-10-28",
+14
_sources/generated.nix
··· 155 }; 156 date = "2025-09-11"; 157 }; 158 stylix = { 159 pname = "stylix"; 160 version = "f8f4e3c3658ee962f8f332a56720c8dfc2836f7a";
··· 155 }; 156 date = "2025-09-11"; 157 }; 158 + nucleus = { 159 + pname = "nucleus"; 160 + version = "424bd6cfb7aaa5f178dc32e79a997d229c7bd823"; 161 + src = fetchgit { 162 + url = "https://tangled.org/@ptr.pet/nucleus"; 163 + rev = "424bd6cfb7aaa5f178dc32e79a997d229c7bd823"; 164 + fetchSubmodules = false; 165 + deepClone = false; 166 + leaveDotGit = false; 167 + sparseCheckout = [ ]; 168 + sha256 = "sha256-jK+4I2WT60bFQaq6ItlPFzvDj9P3pu386m1AtrzUmc4="; 169 + }; 170 + date = "2025-10-31"; 171 + }; 172 stylix = { 173 pname = "stylix"; 174 version = "f8f4e3c3658ee962f8f332a56720c8dfc2836f7a";
+3 -1
dns/dnsconfig.js
··· 20 A("spindle", WOLUMONDE_IP, CF_PROXY_OFF), 21 A("skeetdeck", WOLUMONDE_IP, CF_PROXY_OFF), 22 A("likes", WOLUMONDE_IP, CF_PROXY_OFF), 23 - A("vpn", DZWONEK_IP, CF_PROXY_OFF), 24 A("id", WOLUMONDE_IP, CF_PROXY_OFF), 25 A("test", WOLUMONDE_IP, CF_PROXY_OFF), 26 // atp handles 27 A("dawn", WOLUMONDE_IP, CF_PROXY_OFF), 28 A("guestbook", WOLUMONDE_IP, CF_PROXY_OFF), 29 A("drew", WOLUMONDE_IP, CF_PROXY_OFF), 30 // A("meow", WOLUMONDE_IP, CF_PROXY_OFF), 31 // thing 32 // TXT("id", "a data endpoint for entity with serial id /90008/."), ··· 97 DefaultTTL(1), 98 A("@", WOLUMONDE_IP, CF_PROXY_OFF), 99 A("test", WOLUMONDE_IP, CF_PROXY_OFF), 100 // atproto 101 TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"), 102 A("nil", WOLUMONDE_IP, CF_PROXY_OFF),
··· 20 A("spindle", WOLUMONDE_IP, CF_PROXY_OFF), 21 A("skeetdeck", WOLUMONDE_IP, CF_PROXY_OFF), 22 A("likes", WOLUMONDE_IP, CF_PROXY_OFF), 23 A("id", WOLUMONDE_IP, CF_PROXY_OFF), 24 A("test", WOLUMONDE_IP, CF_PROXY_OFF), 25 // atp handles 26 A("dawn", WOLUMONDE_IP, CF_PROXY_OFF), 27 A("guestbook", WOLUMONDE_IP, CF_PROXY_OFF), 28 A("drew", WOLUMONDE_IP, CF_PROXY_OFF), 29 + // dzwonek 30 + A("vpn", DZWONEK_IP, CF_PROXY_OFF), 31 // A("meow", WOLUMONDE_IP, CF_PROXY_OFF), 32 // thing 33 // TXT("id", "a data endpoint for entity with serial id /90008/."), ··· 98 DefaultTTL(1), 99 A("@", WOLUMONDE_IP, CF_PROXY_OFF), 100 A("test", WOLUMONDE_IP, CF_PROXY_OFF), 101 + A("nucleus", DZWONEK_IP, CF_PROXY_OFF), 102 // atproto 103 TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"), 104 A("nil", WOLUMONDE_IP, CF_PROXY_OFF),
+1
hosts/dzwonek/default.nix
··· 11 "${inputs.home}/nixos" 12 "${inputs.disko}/module.nix" 13 ../../modules 14 ../../users/root 15 ./disk-config.nix 16 ]
··· 11 "${inputs.home}/nixos" 12 "${inputs.disko}/module.nix" 13 ../../modules 14 + ../../modules/stylix-null.nix 15 ../../users/root 16 ./disk-config.nix 17 ]
+22
hosts/dzwonek/modules/nucleus.nix
···
··· 1 + {pkgs, inputs, ...}: 2 + let 3 + rootDomain = "vpn.gaze.systems"; 4 + domain = "nucleus.ptr.pet"; 5 + pkg = pkgs.callPackage "${inputs.nucleus}/nix" { 6 + nucleus-modules = pkgs.callPackage "${inputs.nucleus}/nix/modules.nix" {}; 7 + PUBLIC_DOMAIN = "https://${domain}"; 8 + }; 9 + in 10 + { 11 + security.acme.certs.${rootDomain}.extraDomainNames = [domain]; 12 + services.nginx.virtualHosts.${domain} = { 13 + useACMEHost = rootDomain; 14 + forceSSL = true; 15 + quic = true; 16 + kTLS = true; 17 + locations."/" = { 18 + root = pkg; 19 + tryFiles = "$uri $uri/ /index.html"; 20 + }; 21 + }; 22 + }
+16
modules/stylix-null.nix
···
··· 1 + {lib, ...}: 2 + let 3 + options = { 4 + stylix = lib.mkOption { 5 + type = lib.types.raw; 6 + }; 7 + }; 8 + in 9 + { 10 + inherit options; 11 + config = { 12 + home-manager.sharedModules = [{ 13 + inherit options; 14 + }]; 15 + }; 16 + }
+4
nvfetcher.toml
··· 40 src.git = "https://tangled.org/@ptr.pet/nsid-tracker" 41 fetch.git = "https://tangled.org/@ptr.pet/nsid-tracker" 42 43 ## TANGLED ## 44 45 [tangled]
··· 40 src.git = "https://tangled.org/@ptr.pet/nsid-tracker" 41 fetch.git = "https://tangled.org/@ptr.pet/nsid-tracker" 42 43 + [nucleus] 44 + src.git = "https://tangled.org/@ptr.pet/nucleus" 45 + fetch.git = "https://tangled.org/@ptr.pet/nucleus" 46 + 47 ## TANGLED ## 48 49 [tangled]