Server NixOS configs
0
fork

Configure Feed

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

feat: tangled

+331 -3
+262 -1
flake.lock
··· 1 1 { 2 2 "nodes": { 3 + "actor-typeahead-src": { 4 + "flake": false, 5 + "locked": { 6 + "lastModified": 1762835797, 7 + "narHash": "sha256-heizoWUKDdar6ymfZTnj3ytcEv/L4d4fzSmtr0HlXsQ=", 8 + "ref": "refs/heads/main", 9 + "rev": "677fe7f743050a4e7f09d4a6f87bbf1325a06f6b", 10 + "revCount": 6, 11 + "type": "git", 12 + "url": "https://tangled.org/@jakelazaroff.com/actor-typeahead" 13 + }, 14 + "original": { 15 + "type": "git", 16 + "url": "https://tangled.org/@jakelazaroff.com/actor-typeahead" 17 + } 18 + }, 3 19 "easy-hosts": { 4 20 "locked": { 5 21 "lastModified": 1755470564, ··· 15 31 "type": "github" 16 32 } 17 33 }, 34 + "fenix": { 35 + "inputs": { 36 + "nixpkgs": [ 37 + "tangled", 38 + "nixpkgs" 39 + ], 40 + "rust-analyzer-src": "rust-analyzer-src" 41 + }, 42 + "locked": { 43 + "lastModified": 1772176312, 44 + "narHash": "sha256-Yjo/QCJvY9GUhAzwac/m6Rx3oxvRyEaiT5DQ5o+T6g4=", 45 + "owner": "nix-community", 46 + "repo": "fenix", 47 + "rev": "92d91250c1acd59beabc51208192adc92f31aeb5", 48 + "type": "github" 49 + }, 50 + "original": { 51 + "owner": "nix-community", 52 + "repo": "fenix", 53 + "type": "github" 54 + } 55 + }, 56 + "flake-compat": { 57 + "flake": false, 58 + "locked": { 59 + "lastModified": 1751685974, 60 + "narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=", 61 + "rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1", 62 + "type": "tarball", 63 + "url": "https://git.lix.systems/api/v1/repos/lix-project/flake-compat/archive/549f2762aebeff29a2e5ece7a7dc0f955281a1d1.tar.gz?rev=549f2762aebeff29a2e5ece7a7dc0f955281a1d1" 64 + }, 65 + "original": { 66 + "type": "tarball", 67 + "url": "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz" 68 + } 69 + }, 18 70 "flake-parts": { 19 71 "inputs": { 20 72 "nixpkgs-lib": "nixpkgs-lib" ··· 33 85 "type": "github" 34 86 } 35 87 }, 88 + "flake-utils": { 89 + "inputs": { 90 + "systems": "systems" 91 + }, 92 + "locked": { 93 + "lastModified": 1731533236, 94 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 95 + "owner": "numtide", 96 + "repo": "flake-utils", 97 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 98 + "type": "github" 99 + }, 100 + "original": { 101 + "owner": "numtide", 102 + "repo": "flake-utils", 103 + "type": "github" 104 + } 105 + }, 106 + "gomod2nix": { 107 + "inputs": { 108 + "flake-utils": "flake-utils", 109 + "nixpkgs": [ 110 + "tangled", 111 + "nixpkgs" 112 + ] 113 + }, 114 + "locked": { 115 + "lastModified": 1763982521, 116 + "narHash": "sha256-ur4QIAHwgFc0vXiaxn5No/FuZicxBr2p0gmT54xZkUQ=", 117 + "owner": "nix-community", 118 + "repo": "gomod2nix", 119 + "rev": "02e63a239d6eabd595db56852535992c898eba72", 120 + "type": "github" 121 + }, 122 + "original": { 123 + "owner": "nix-community", 124 + "repo": "gomod2nix", 125 + "type": "github" 126 + } 127 + }, 128 + "htmx-src": { 129 + "flake": false, 130 + "locked": { 131 + "narHash": "sha256-nm6avZuEBg67SSyyZUhjpXVNstHHgUxrtBHqJgowU08=", 132 + "type": "file", 133 + "url": "https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js" 134 + }, 135 + "original": { 136 + "type": "file", 137 + "url": "https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js" 138 + } 139 + }, 140 + "htmx-ws-src": { 141 + "flake": false, 142 + "locked": { 143 + "narHash": "sha256-2fg6KyEJoO24q0fQqbz9RMaYNPQrMwpZh29tkSqdqGY=", 144 + "type": "file", 145 + "url": "https://cdn.jsdelivr.net/npm/htmx-ext-ws@2.0.2" 146 + }, 147 + "original": { 148 + "type": "file", 149 + "url": "https://cdn.jsdelivr.net/npm/htmx-ext-ws@2.0.2" 150 + } 151 + }, 152 + "ibm-plex-mono-src": { 153 + "flake": false, 154 + "locked": { 155 + "lastModified": 1731402384, 156 + "narHash": "sha256-OwUmrPfEehLDz0fl2ChYLK8FQM2p0G1+EMrGsYEq+6g=", 157 + "type": "tarball", 158 + "url": "https://github.com/IBM/plex/releases/download/@ibm%2Fplex-mono@1.1.0/ibm-plex-mono.zip" 159 + }, 160 + "original": { 161 + "type": "tarball", 162 + "url": "https://github.com/IBM/plex/releases/download/@ibm%2Fplex-mono@1.1.0/ibm-plex-mono.zip" 163 + } 164 + }, 165 + "indigo": { 166 + "flake": false, 167 + "locked": { 168 + "lastModified": 1753693716, 169 + "narHash": "sha256-DMIKnCJRODQXEHUxA+7mLzRALmnZhkkbHlFT2rCQYrE=", 170 + "owner": "oppiliappan", 171 + "repo": "indigo", 172 + "rev": "5f170569da9360f57add450a278d73538092d8ca", 173 + "type": "github" 174 + }, 175 + "original": { 176 + "owner": "oppiliappan", 177 + "repo": "indigo", 178 + "type": "github" 179 + } 180 + }, 181 + "inter-fonts-src": { 182 + "flake": false, 183 + "locked": { 184 + "lastModified": 1731687360, 185 + "narHash": "sha256-5vdKKvHAeZi6igrfpbOdhZlDX2/5+UvzlnCQV6DdqoQ=", 186 + "type": "tarball", 187 + "url": "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip" 188 + }, 189 + "original": { 190 + "type": "tarball", 191 + "url": "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip" 192 + } 193 + }, 194 + "lucide-src": { 195 + "flake": false, 196 + "locked": { 197 + "lastModified": 1754044466, 198 + "narHash": "sha256-+exBR2OToB1iv7ZQI2S4B0lXA/QRvC9n6U99UxGpJGs=", 199 + "type": "tarball", 200 + "url": "https://github.com/lucide-icons/lucide/releases/download/0.536.0/lucide-icons-0.536.0.zip" 201 + }, 202 + "original": { 203 + "type": "tarball", 204 + "url": "https://github.com/lucide-icons/lucide/releases/download/0.536.0/lucide-icons-0.536.0.zip" 205 + } 206 + }, 207 + "mermaid-src": { 208 + "flake": false, 209 + "locked": { 210 + "narHash": "sha256-/YOdECG2V5c3kJ1QfGvhziTT6K/Dx/4mOk2mr3Fs/do=", 211 + "type": "file", 212 + "url": "https://cdn.jsdelivr.net/npm/mermaid@11.12.3/dist/mermaid.min.js" 213 + }, 214 + "original": { 215 + "type": "file", 216 + "url": "https://cdn.jsdelivr.net/npm/mermaid@11.12.3/dist/mermaid.min.js" 217 + } 218 + }, 36 219 "nixpkgs": { 37 220 "locked": { 38 221 "lastModified": 1777268161, ··· 68 251 "inputs": { 69 252 "easy-hosts": "easy-hosts", 70 253 "flake-parts": "flake-parts", 71 - "nixpkgs": "nixpkgs" 254 + "nixpkgs": "nixpkgs", 255 + "tangled": "tangled" 256 + } 257 + }, 258 + "rust-analyzer-src": { 259 + "flake": false, 260 + "locked": { 261 + "lastModified": 1772094427, 262 + "narHash": "sha256-TiVs6OUBJEvajHdJZ5nIq0KognNJooUWuLGPFfQacSw=", 263 + "owner": "rust-lang", 264 + "repo": "rust-analyzer", 265 + "rev": "56b59a832858329c2f947f9b7bdf1a49da39c981", 266 + "type": "github" 267 + }, 268 + "original": { 269 + "owner": "rust-lang", 270 + "ref": "nightly", 271 + "repo": "rust-analyzer", 272 + "type": "github" 273 + } 274 + }, 275 + "sqlite-lib-src": { 276 + "flake": false, 277 + "locked": { 278 + "lastModified": 1706631843, 279 + "narHash": "sha256-bJoMjirsBjm2Qk9KPiy3yV3+8b/POlYe76/FQbciHro=", 280 + "type": "tarball", 281 + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" 282 + }, 283 + "original": { 284 + "type": "tarball", 285 + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" 286 + } 287 + }, 288 + "systems": { 289 + "locked": { 290 + "lastModified": 1681028828, 291 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 292 + "owner": "nix-systems", 293 + "repo": "default", 294 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 295 + "type": "github" 296 + }, 297 + "original": { 298 + "owner": "nix-systems", 299 + "repo": "default", 300 + "type": "github" 301 + } 302 + }, 303 + "tangled": { 304 + "inputs": { 305 + "actor-typeahead-src": "actor-typeahead-src", 306 + "fenix": "fenix", 307 + "flake-compat": "flake-compat", 308 + "gomod2nix": "gomod2nix", 309 + "htmx-src": "htmx-src", 310 + "htmx-ws-src": "htmx-ws-src", 311 + "ibm-plex-mono-src": "ibm-plex-mono-src", 312 + "indigo": "indigo", 313 + "inter-fonts-src": "inter-fonts-src", 314 + "lucide-src": "lucide-src", 315 + "mermaid-src": "mermaid-src", 316 + "nixpkgs": [ 317 + "nixpkgs" 318 + ], 319 + "sqlite-lib-src": "sqlite-lib-src" 320 + }, 321 + "locked": { 322 + "lastModified": 1777466123, 323 + "narHash": "sha256-CbPDCP22rSA37SZNgYByg8cleB1QvjPe5zHOpD+tlz4=", 324 + "ref": "refs/heads/master", 325 + "rev": "496f5f4e2092868b0f3326a5c21e04130ce54d7e", 326 + "revCount": 2297, 327 + "type": "git", 328 + "url": "https://tangled.org/tangled.org/core.git" 329 + }, 330 + "original": { 331 + "type": "git", 332 + "url": "https://tangled.org/tangled.org/core.git" 72 333 } 73 334 } 74 335 },
+3
flake.nix
··· 18 18 inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; 19 19 inputs.easy-hosts.url = "github:tgirlcloud/easy-hosts"; 20 20 21 + inputs.tangled.url = "git+https://tangled.org/tangled.org/core.git"; 22 + inputs.tangled.inputs.nixpkgs.follows = "nixpkgs"; 23 + 21 24 outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { 22 25 systems = ["x86_64-linux"]; 23 26 imports = [
+4 -2
hosts/default.nix
··· 1 - { ... }: 1 + { inputs, ... }: 2 2 { 3 3 easy-hosts = { 4 4 shared = { ··· 11 11 tethys = { 12 12 deployable = true; 13 13 tags = ["server" "hetzner"]; 14 - modules = []; 14 + modules = [ 15 + inputs.tangled.nixosModules.knot 16 + ]; 15 17 }; 16 18 }; 17 19 };
+11
hosts/tethys/default.nix
··· 1 1 { pkgs, ... }: 2 2 { 3 3 imports = [ 4 + ./services/knot.nix 5 + ./services/nginx.nix 4 6 ./hardware.nix 5 7 ./networking.nix 6 8 ]; ··· 28 30 users.users.root.openssh.authorizedKeys.keys = [ 29 31 "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDkhuhfzyg7R+O62XSktHufGmmhy6FNDi/NuPPJt7bI+" 30 32 ]; 33 + 34 + users.users.git = { 35 + home = "/home/git"; 36 + createHome = true; 37 + isSystemUser = true; 38 + group = "git"; 39 + }; 40 + 41 + users.groups.git = {}; 31 42 32 43 nixpkgs.config.allowUnfree = true; 33 44
+16
hosts/tethys/services/knot.nix
··· 1 + { config, ... }: 2 + { 3 + services.tangled.knot = { 4 + enable = true; 5 + stateDir = "/home/git"; 6 + server = { 7 + listenAddr = "127.0.0.1:5555"; 8 + owner = "did:plc:puvaym5ytsvejx3rwjrnxhvb"; 9 + hostname = "git.hayden.moe"; 10 + }; 11 + }; 12 + 13 + systemd.tmpfiles.rules = [ 14 + "L /usr/local/bin/knot - - - - ${config.services.tangled.knot.package}/bin/knot" 15 + ]; 16 + }
+35
hosts/tethys/services/nginx.nix
··· 1 + { 2 + services.nginx = { 3 + enable = true; 4 + virtualHosts = { 5 + "git.hayden.moe" = { 6 + forceSSL = false; 7 + enableACME = false; 8 + locations."/" = { 9 + proxyPass = "http://127.0.0.1:5555"; 10 + 11 + extraConfig = '' 12 + proxy_set_header X-Forwarded-For $remote_addr; 13 + proxy_set_header Host $host; 14 + proxy_set_header X-Real-IP $remote_addr; 15 + proxy_set_header X-Forwarded-Proto $scheme; 16 + ''; 17 + }; 18 + locations."/events" = { 19 + proxyPass = "http://127.0.0.1:5555"; 20 + extraConfig = '' 21 + proxy_set_header X-Forwarded-For $remote_addr; 22 + proxy_set_header Host $host; 23 + proxy_set_header Upgrade $http_upgrade; 24 + proxy_set_header Connection "upgrade"; 25 + ''; 26 + }; 27 + }; 28 + }; 29 + }; 30 + security.acme = { 31 + acceptTerms = true; 32 + defaults.email = "hayden@hayden.moe"; 33 + }; 34 + networking.firewall.allowedTCPPorts = [ 80 443 ]; 35 + }