Tangled infrastructure definitions in Nix

add spindle to nixery box

Changed files
+181 -14
hosts
+169 -13
flake.lock
··· 29 29 ] 30 30 }, 31 31 "locked": { 32 - "lastModified": 1750040002, 33 - "narHash": "sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84=", 32 + "lastModified": 1751854533, 33 + "narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=", 34 34 "owner": "nix-community", 35 35 "repo": "disko", 36 - "rev": "7f1857b31522062a6a00f88cbccf86b43acceed1", 36 + "rev": "16b74a1e304197248a1bc663280f2548dbfcae3c", 37 37 "type": "github" 38 38 }, 39 39 "original": { ··· 73 73 "type": "github" 74 74 } 75 75 }, 76 + "gitignore": { 77 + "inputs": { 78 + "nixpkgs": [ 79 + "tangled", 80 + "nixpkgs" 81 + ] 82 + }, 83 + "locked": { 84 + "lastModified": 1709087332, 85 + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", 86 + "owner": "hercules-ci", 87 + "repo": "gitignore.nix", 88 + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", 89 + "type": "github" 90 + }, 91 + "original": { 92 + "owner": "hercules-ci", 93 + "repo": "gitignore.nix", 94 + "type": "github" 95 + } 96 + }, 97 + "htmx-src": { 98 + "flake": false, 99 + "locked": { 100 + "narHash": "sha256-nm6avZuEBg67SSyyZUhjpXVNstHHgUxrtBHqJgowU08=", 101 + "type": "file", 102 + "url": "https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js" 103 + }, 104 + "original": { 105 + "type": "file", 106 + "url": "https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js" 107 + } 108 + }, 109 + "htmx-ws-src": { 110 + "flake": false, 111 + "locked": { 112 + "narHash": "sha256-2fg6KyEJoO24q0fQqbz9RMaYNPQrMwpZh29tkSqdqGY=", 113 + "type": "file", 114 + "url": "https://cdn.jsdelivr.net/npm/htmx-ext-ws@2.0.2" 115 + }, 116 + "original": { 117 + "type": "file", 118 + "url": "https://cdn.jsdelivr.net/npm/htmx-ext-ws@2.0.2" 119 + } 120 + }, 121 + "ibm-plex-mono-src": { 122 + "flake": false, 123 + "locked": { 124 + "lastModified": 1731402384, 125 + "narHash": "sha256-OwUmrPfEehLDz0fl2ChYLK8FQM2p0G1+EMrGsYEq+6g=", 126 + "type": "tarball", 127 + "url": "https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip" 128 + }, 129 + "original": { 130 + "type": "tarball", 131 + "url": "https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip" 132 + } 133 + }, 134 + "indigo": { 135 + "flake": false, 136 + "locked": { 137 + "lastModified": 1745333930, 138 + "narHash": "sha256-83fIHqDE+dfnZ88HaNuwfKFO+R0RKAM1WxMfNh/Matk=", 139 + "owner": "oppiliappan", 140 + "repo": "indigo", 141 + "rev": "e4e59280737b8676611fc077a228d47b3e8e9491", 142 + "type": "github" 143 + }, 144 + "original": { 145 + "owner": "oppiliappan", 146 + "repo": "indigo", 147 + "type": "github" 148 + } 149 + }, 150 + "inter-fonts-src": { 151 + "flake": false, 152 + "locked": { 153 + "lastModified": 1731687360, 154 + "narHash": "sha256-5vdKKvHAeZi6igrfpbOdhZlDX2/5+UvzlnCQV6DdqoQ=", 155 + "type": "tarball", 156 + "url": "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip" 157 + }, 158 + "original": { 159 + "type": "tarball", 160 + "url": "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip" 161 + } 162 + }, 163 + "lucide-src": { 164 + "flake": false, 165 + "locked": { 166 + "lastModified": 1742302029, 167 + "narHash": "sha256-OyPVtpnC4/AAmPq84Wt1r1Gcs48d9KG+UBCtZK87e9k=", 168 + "type": "tarball", 169 + "url": "https://github.com/lucide-icons/lucide/releases/download/0.483.0/lucide-icons-0.483.0.zip" 170 + }, 171 + "original": { 172 + "type": "tarball", 173 + "url": "https://github.com/lucide-icons/lucide/releases/download/0.483.0/lucide-icons-0.483.0.zip" 174 + } 175 + }, 76 176 "nixery-flake": { 77 177 "flake": false, 78 178 "locked": { ··· 91 191 }, 92 192 "nixpkgs": { 93 193 "locked": { 94 - "lastModified": 1746461020, 95 - "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=", 194 + "lastModified": 1683408522, 195 + "narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", 96 196 "owner": "NixOS", 97 197 "repo": "nixpkgs", 98 - "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae", 198 + "rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", 99 199 "type": "github" 100 200 }, 101 201 "original": { ··· 107 207 }, 108 208 "nixpkgs_2": { 109 209 "locked": { 110 - "lastModified": 1750134718, 111 - "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", 210 + "lastModified": 1751792365, 211 + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", 112 212 "owner": "nixos", 113 213 "repo": "nixpkgs", 114 - "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", 214 + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", 215 + "type": "github" 216 + }, 217 + "original": { 218 + "owner": "nixos", 219 + "ref": "nixos-unstable", 220 + "repo": "nixpkgs", 221 + "type": "github" 222 + } 223 + }, 224 + "nixpkgs_3": { 225 + "locked": { 226 + "lastModified": 1746904237, 227 + "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", 228 + "owner": "nixos", 229 + "repo": "nixpkgs", 230 + "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", 115 231 "type": "github" 116 232 }, 117 233 "original": { ··· 126 242 "colmena": "colmena", 127 243 "disko": "disko", 128 244 "nixery-flake": "nixery-flake", 129 - "nixpkgs": "nixpkgs_2" 245 + "nixpkgs": "nixpkgs_2", 246 + "tangled": "tangled" 247 + } 248 + }, 249 + "sqlite-lib-src": { 250 + "flake": false, 251 + "locked": { 252 + "lastModified": 1706631843, 253 + "narHash": "sha256-bJoMjirsBjm2Qk9KPiy3yV3+8b/POlYe76/FQbciHro=", 254 + "type": "tarball", 255 + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" 256 + }, 257 + "original": { 258 + "type": "tarball", 259 + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" 130 260 } 131 261 }, 132 262 "stable": { 133 263 "locked": { 134 - "lastModified": 1688392541, 135 - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", 264 + "lastModified": 1669735802, 265 + "narHash": "sha256-qtG/o/i5ZWZLmXw108N2aPiVsxOcidpHJYNkT45ry9Q=", 136 266 "owner": "NixOS", 137 267 "repo": "nixpkgs", 138 - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", 268 + "rev": "731cc710aeebecbf45a258e977e8b68350549522", 139 269 "type": "github" 140 270 }, 141 271 "original": { ··· 143 273 "ref": "nixos-22.11", 144 274 "repo": "nixpkgs", 145 275 "type": "github" 276 + } 277 + }, 278 + "tangled": { 279 + "inputs": { 280 + "gitignore": "gitignore", 281 + "htmx-src": "htmx-src", 282 + "htmx-ws-src": "htmx-ws-src", 283 + "ibm-plex-mono-src": "ibm-plex-mono-src", 284 + "indigo": "indigo", 285 + "inter-fonts-src": "inter-fonts-src", 286 + "lucide-src": "lucide-src", 287 + "nixpkgs": "nixpkgs_3", 288 + "sqlite-lib-src": "sqlite-lib-src" 289 + }, 290 + "locked": { 291 + "lastModified": 1751894783, 292 + "narHash": "sha256-kVsDo+VW3eOJFwRGUept/ik+o9qN8MJY0m+ijDaL/BY=", 293 + "ref": "refs/heads/master", 294 + "rev": "2d6f048f4a81ab5a542d18029a54d342a2c5b47e", 295 + "revCount": 881, 296 + "type": "git", 297 + "url": "https://tangled.sh/@tangled.sh/core" 298 + }, 299 + "original": { 300 + "type": "git", 301 + "url": "https://tangled.sh/@tangled.sh/core" 146 302 } 147 303 } 148 304 },
+4 -1
flake.nix
··· 2 2 description = "nix infra for tangled"; 3 3 inputs = { 4 4 nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; 5 + tangled.url = "git+https://tangled.sh/@tangled.sh/core"; 5 6 colmena.url = "github:zhaofengli/colmena/release-0.4.x"; 6 7 disko = { 7 8 url = "github:nix-community/disko"; ··· 16 17 }; 17 18 18 19 outputs = 19 - { nixpkgs, disko, colmena, nixery-flake, ... }: 20 + { nixpkgs, disko, colmena, nixery-flake, tangled, ... }: 20 21 { 21 22 nixosConfigurations.nixery = nixpkgs.lib.nixosSystem { 22 23 system = "x86_64-linux"; 23 24 modules = [ 24 25 disko.nixosModules.disko 26 + tangled.nixosModules.spindle 25 27 ./hosts/nixery/configuration.nix 26 28 ]; 27 29 }; ··· 52 54 53 55 imports = [ 54 56 disko.nixosModules.disko 57 + tangled.nixosModules.spindle 55 58 ./hosts/nixery/configuration.nix 56 59 ./hosts/nixery/services/nginx.nix 57 60 ./hosts/nixery/services/nixery.nix
+8
hosts/nixery/configuration.nix
··· 19 19 networking.hostName = "nixery"; 20 20 services = { 21 21 openssh.enable = true; 22 + tangled-spindle = { 23 + enable = true; 24 + server = { 25 + owner = "did:plc:hwevmowznbiukdf6uk5dwrrq"; 26 + hostname = "spindle.tangled.sh"; 27 + listenAddr = "0.0.0.0:6555"; 28 + }; 29 + }; 22 30 }; 23 31 24 32 virtualisation.docker = {