Tangled infrastructure definitions in Nix

Compare changes

Choose any two refs to compare.

Changed files
+12 -40
hosts
appview
services
nixery
services
+10 -10
flake.lock
··· 256 }, 257 "nixpkgs_2": { 258 "locked": { 259 - "lastModified": 1767634882, 260 - "narHash": "sha256-2GffSfQxe3sedHzK+sTKlYo/NTIAGzbFCIsNMUPAAnk=", 261 "owner": "nixos", 262 "repo": "nixpkgs", 263 - "rev": "3c9db02515ef1d9b6b709fc60ba9a540957f661c", 264 "type": "github" 265 }, 266 "original": { 267 "owner": "nixos", 268 - "ref": "nixos-25.11", 269 "repo": "nixpkgs", 270 "type": "github" 271 } ··· 354 "sqlite-lib-src": "sqlite-lib-src" 355 }, 356 "locked": { 357 - "lastModified": 1767767073, 358 - "narHash": "sha256-BSZJ1TY5lGt7xNgFRtcKwYcSOI6VC2CHLfm7y/GgHwU=", 359 "ref": "refs/heads/master", 360 - "rev": "6dc86ffbed5a290ca6a4890caa2dadea5c8b8a81", 361 - "revCount": 1792, 362 "type": "git", 363 - "url": "https://tangled.org/tangled.org/core" 364 }, 365 "original": { 366 "type": "git", 367 - "url": "https://tangled.org/tangled.org/core" 368 } 369 } 370 },
··· 256 }, 257 "nixpkgs_2": { 258 "locked": { 259 + "lastModified": 1767379071, 260 + "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", 261 "owner": "nixos", 262 "repo": "nixpkgs", 263 + "rev": "fb7944c166a3b630f177938e478f0378e64ce108", 264 "type": "github" 265 }, 266 "original": { 267 "owner": "nixos", 268 + "ref": "nixos-unstable", 269 "repo": "nixpkgs", 270 "type": "github" 271 } ··· 354 "sqlite-lib-src": "sqlite-lib-src" 355 }, 356 "locked": { 357 + "lastModified": 1767683698, 358 + "narHash": "sha256-MFrfNmTKTdOOsyXUvvqPwH6zqvDZZpURnd7QdJkVOgU=", 359 "ref": "refs/heads/master", 360 + "rev": "b31a2a3590fefc4c70817f94a20076df2428b4d3", 361 + "revCount": 1791, 362 "type": "git", 363 + "url": "https://tangled.org/@tangled.org/core" 364 }, 365 "original": { 366 "type": "git", 367 + "url": "https://tangled.org/@tangled.org/core" 368 } 369 } 370 },
+2 -2
flake.nix
··· 2 description = "nix infra for tangled"; 3 4 inputs = { 5 - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; 6 - tangled.url = "git+https://tangled.org/tangled.org/core"; 7 colmena.url = "github:zhaofengli/colmena/release-0.4.x"; 8 disko = { 9 url = "github:nix-community/disko";
··· 2 description = "nix infra for tangled"; 3 4 inputs = { 5 + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; 6 + tangled.url = "git+https://tangled.org/@tangled.org/core"; 7 colmena.url = "github:zhaofengli/colmena/release-0.4.x"; 8 disko = { 9 url = "github:nix-community/disko";
-17
hosts/appview/services/nginx.nix
··· 7 recommendedOptimisation = true; 8 recommendedGzipSettings = true; 9 10 - # bot blocking 11 - appendHttpConfig = '' 12 - map $http_user_agent $block_bot { 13 - default 0; 14 - ~*PerplexityBot 1; 15 - ~*GPTBot 1; 16 - ~*ChatGPT-User 1; 17 - ~*CCBot 1; 18 - ~*anthropic-ai 1; 19 - ~*Claude-Web 1; 20 - } 21 - ''; 22 - 23 streamConfig = '' 24 upstream knot-sailor { 25 server 94.237.110.185:22; ··· 69 enableACME = true; 70 71 extraConfig = '' 72 - if ($block_bot) { 73 - return 403; 74 - } 75 - 76 # Redirect www → bare domain 77 if ($host = www.tangled.org) { 78 return 301 https://tangled.org$request_uri;
··· 7 recommendedOptimisation = true; 8 recommendedGzipSettings = true; 9 10 streamConfig = '' 11 upstream knot-sailor { 12 server 94.237.110.185:22; ··· 56 enableACME = true; 57 58 extraConfig = '' 59 # Redirect www → bare domain 60 if ($host = www.tangled.org) { 61 return 301 https://tangled.org$request_uri;
-11
hosts/nixery/services/nginx.nix
··· 1 - { tangled-pkgs, pkgs, ... }: 2 - 3 { 4 services.nginx = { 5 enable = true; 6 virtualHosts = { 7 - "docs.tangled.org" = { 8 - forceSSL = true; 9 - enableACME = true; 10 - root = "${tangled-pkgs.docs}"; 11 - locations."/" = { 12 - tryFiles = "$uri $uri/ =404"; 13 - index = "index.html"; 14 - }; 15 - }; 16 "nixery.tangled.sh" = { 17 forceSSL = true; 18 enableACME = true;
··· 1 { 2 services.nginx = { 3 enable = true; 4 virtualHosts = { 5 "nixery.tangled.sh" = { 6 forceSSL = true; 7 enableACME = true;