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 256 }, 257 257 "nixpkgs_2": { 258 258 "locked": { 259 - "lastModified": 1767634882, 260 - "narHash": "sha256-2GffSfQxe3sedHzK+sTKlYo/NTIAGzbFCIsNMUPAAnk=", 259 + "lastModified": 1767379071, 260 + "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", 261 261 "owner": "nixos", 262 262 "repo": "nixpkgs", 263 - "rev": "3c9db02515ef1d9b6b709fc60ba9a540957f661c", 263 + "rev": "fb7944c166a3b630f177938e478f0378e64ce108", 264 264 "type": "github" 265 265 }, 266 266 "original": { 267 267 "owner": "nixos", 268 - "ref": "nixos-25.11", 268 + "ref": "nixos-unstable", 269 269 "repo": "nixpkgs", 270 270 "type": "github" 271 271 } ··· 354 354 "sqlite-lib-src": "sqlite-lib-src" 355 355 }, 356 356 "locked": { 357 - "lastModified": 1767767073, 358 - "narHash": "sha256-BSZJ1TY5lGt7xNgFRtcKwYcSOI6VC2CHLfm7y/GgHwU=", 357 + "lastModified": 1767683698, 358 + "narHash": "sha256-MFrfNmTKTdOOsyXUvvqPwH6zqvDZZpURnd7QdJkVOgU=", 359 359 "ref": "refs/heads/master", 360 - "rev": "6dc86ffbed5a290ca6a4890caa2dadea5c8b8a81", 361 - "revCount": 1792, 360 + "rev": "b31a2a3590fefc4c70817f94a20076df2428b4d3", 361 + "revCount": 1791, 362 362 "type": "git", 363 - "url": "https://tangled.org/tangled.org/core" 363 + "url": "https://tangled.org/@tangled.org/core" 364 364 }, 365 365 "original": { 366 366 "type": "git", 367 - "url": "https://tangled.org/tangled.org/core" 367 + "url": "https://tangled.org/@tangled.org/core" 368 368 } 369 369 } 370 370 },
+2 -2
flake.nix
··· 2 2 description = "nix infra for tangled"; 3 3 4 4 inputs = { 5 - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; 6 - tangled.url = "git+https://tangled.org/tangled.org/core"; 5 + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; 6 + tangled.url = "git+https://tangled.org/@tangled.org/core"; 7 7 colmena.url = "github:zhaofengli/colmena/release-0.4.x"; 8 8 disko = { 9 9 url = "github:nix-community/disko";
-17
hosts/appview/services/nginx.nix
··· 7 7 recommendedOptimisation = true; 8 8 recommendedGzipSettings = true; 9 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 10 streamConfig = '' 24 11 upstream knot-sailor { 25 12 server 94.237.110.185:22; ··· 69 56 enableACME = true; 70 57 71 58 extraConfig = '' 72 - if ($block_bot) { 73 - return 403; 74 - } 75 - 76 59 # Redirect www → bare domain 77 60 if ($host = www.tangled.org) { 78 61 return 301 https://tangled.org$request_uri;
-11
hosts/nixery/services/nginx.nix
··· 1 - { tangled-pkgs, pkgs, ... }: 2 - 3 1 { 4 2 services.nginx = { 5 3 enable = true; 6 4 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 5 "nixery.tangled.sh" = { 17 6 forceSSL = true; 18 7 enableACME = true;