my nix configs for my servers and desktop

maintainence

Changed files
+600 -14
common
hosts
focalor
valefar
+1
common/services.nix
··· 16 16 nixos-generators 17 17 sqlite 18 18 bun 19 + unzip 19 20 ]; 20 21 21 22 services.openssh.enable = true;
+598
flake.lock
··· 1 + { 2 + "nodes": { 3 + "agenix": { 4 + "inputs": { 5 + "darwin": "darwin", 6 + "home-manager": "home-manager", 7 + "nixpkgs": "nixpkgs", 8 + "systems": "systems" 9 + }, 10 + "locked": { 11 + "lastModified": 1760836749, 12 + "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", 13 + "owner": "ryantm", 14 + "repo": "agenix", 15 + "rev": "2f0f812f69f3eb4140157fe15e12739adf82e32a", 16 + "type": "github" 17 + }, 18 + "original": { 19 + "owner": "ryantm", 20 + "repo": "agenix", 21 + "type": "github" 22 + } 23 + }, 24 + "catppuccin": { 25 + "inputs": { 26 + "nixpkgs": "nixpkgs_2" 27 + }, 28 + "locked": { 29 + "lastModified": 1760953099, 30 + "narHash": "sha256-sOKx2YcHa+lWEvaEOIGqLN2WWk1Wf5z6KM02tdfhMtw=", 31 + "owner": "catppuccin", 32 + "repo": "nix", 33 + "rev": "f5b21876888265d2fee7fb0640d1b66a1c1c6503", 34 + "type": "github" 35 + }, 36 + "original": { 37 + "owner": "catppuccin", 38 + "repo": "nix", 39 + "type": "github" 40 + } 41 + }, 42 + "darwin": { 43 + "inputs": { 44 + "nixpkgs": [ 45 + "agenix", 46 + "nixpkgs" 47 + ] 48 + }, 49 + "locked": { 50 + "lastModified": 1744478979, 51 + "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", 52 + "owner": "lnl7", 53 + "repo": "nix-darwin", 54 + "rev": "43975d782b418ebf4969e9ccba82466728c2851b", 55 + "type": "github" 56 + }, 57 + "original": { 58 + "owner": "lnl7", 59 + "ref": "master", 60 + "repo": "nix-darwin", 61 + "type": "github" 62 + } 63 + }, 64 + "disko": { 65 + "inputs": { 66 + "nixpkgs": "nixpkgs_3" 67 + }, 68 + "locked": { 69 + "lastModified": 1736864502, 70 + "narHash": "sha256-ItkIZyebGvNH2dK9jVGzJHGPtb6BSWLN8Gmef16NeY0=", 71 + "owner": "nix-community", 72 + "repo": "disko", 73 + "rev": "0141aabed359f063de7413f80d906e1d98c0c123", 74 + "type": "github" 75 + }, 76 + "original": { 77 + "owner": "nix-community", 78 + "ref": "v1.11.0", 79 + "repo": "disko", 80 + "type": "github" 81 + } 82 + }, 83 + "flake-compat": { 84 + "locked": { 85 + "lastModified": 1696426674, 86 + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 87 + "owner": "edolstra", 88 + "repo": "flake-compat", 89 + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 90 + "type": "github" 91 + }, 92 + "original": { 93 + "owner": "edolstra", 94 + "repo": "flake-compat", 95 + "type": "github" 96 + } 97 + }, 98 + "flake-utils": { 99 + "inputs": { 100 + "systems": "systems_2" 101 + }, 102 + "locked": { 103 + "lastModified": 1731533236, 104 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 105 + "owner": "numtide", 106 + "repo": "flake-utils", 107 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 108 + "type": "github" 109 + }, 110 + "original": { 111 + "owner": "numtide", 112 + "repo": "flake-utils", 113 + "type": "github" 114 + } 115 + }, 116 + "flake-utils_2": { 117 + "inputs": { 118 + "systems": "systems_3" 119 + }, 120 + "locked": { 121 + "lastModified": 1731533236, 122 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 123 + "owner": "numtide", 124 + "repo": "flake-utils", 125 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 126 + "type": "github" 127 + }, 128 + "original": { 129 + "owner": "numtide", 130 + "repo": "flake-utils", 131 + "type": "github" 132 + } 133 + }, 134 + "flake-utils_3": { 135 + "inputs": { 136 + "systems": "systems_5" 137 + }, 138 + "locked": { 139 + "lastModified": 1681202837, 140 + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", 141 + "owner": "numtide", 142 + "repo": "flake-utils", 143 + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", 144 + "type": "github" 145 + }, 146 + "original": { 147 + "owner": "numtide", 148 + "repo": "flake-utils", 149 + "type": "github" 150 + } 151 + }, 152 + "flakey-profile": { 153 + "locked": { 154 + "lastModified": 1712898590, 155 + "narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=", 156 + "owner": "lf-", 157 + "repo": "flakey-profile", 158 + "rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d", 159 + "type": "github" 160 + }, 161 + "original": { 162 + "owner": "lf-", 163 + "repo": "flakey-profile", 164 + "type": "github" 165 + } 166 + }, 167 + "home-manager": { 168 + "inputs": { 169 + "nixpkgs": [ 170 + "agenix", 171 + "nixpkgs" 172 + ] 173 + }, 174 + "locked": { 175 + "lastModified": 1745494811, 176 + "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", 177 + "owner": "nix-community", 178 + "repo": "home-manager", 179 + "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", 180 + "type": "github" 181 + }, 182 + "original": { 183 + "owner": "nix-community", 184 + "repo": "home-manager", 185 + "type": "github" 186 + } 187 + }, 188 + "home-manager_2": { 189 + "inputs": { 190 + "nixpkgs": [ 191 + "nixpkgs" 192 + ] 193 + }, 194 + "locked": { 195 + "lastModified": 1761235135, 196 + "narHash": "sha256-cux9xeceLIER1lBxUa1gMafkz7gg5ntcUmJBynWdBWI=", 197 + "owner": "nix-community", 198 + "repo": "home-manager", 199 + "rev": "0adf9ba3f567da2d53af581a857aacf671aaa547", 200 + "type": "github" 201 + }, 202 + "original": { 203 + "owner": "nix-community", 204 + "repo": "home-manager", 205 + "type": "github" 206 + } 207 + }, 208 + "home-manager_3": { 209 + "inputs": { 210 + "nixpkgs": [ 211 + "zen-browser", 212 + "nixpkgs" 213 + ] 214 + }, 215 + "locked": { 216 + "lastModified": 1752603129, 217 + "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", 218 + "owner": "nix-community", 219 + "repo": "home-manager", 220 + "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", 221 + "type": "github" 222 + }, 223 + "original": { 224 + "owner": "nix-community", 225 + "repo": "home-manager", 226 + "type": "github" 227 + } 228 + }, 229 + "lix": { 230 + "flake": false, 231 + "locked": { 232 + "lastModified": 1753223229, 233 + "narHash": "sha256-tkT4aCZZE6IEmjYotOzKKa2rV3pGpH3ZREeQn7ACgdU=", 234 + "rev": "7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a", 235 + "type": "tarball", 236 + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a.tar.gz?rev=7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a" 237 + }, 238 + "original": { 239 + "type": "tarball", 240 + "url": "https://git.lix.systems/lix-project/lix/archive/release-2.93.tar.gz" 241 + } 242 + }, 243 + "lix-module": { 244 + "inputs": { 245 + "flake-utils": "flake-utils", 246 + "flakey-profile": "flakey-profile", 247 + "lix": "lix", 248 + "nixpkgs": [ 249 + "nixpkgs" 250 + ] 251 + }, 252 + "locked": { 253 + "lastModified": 1753282722, 254 + "narHash": "sha256-KYMUrTV7H/RR5/HRnjV5R3rRIuBXMemyJzTLi50NFTs=", 255 + "rev": "46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873", 256 + "type": "tarball", 257 + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873.tar.gz?rev=46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873" 258 + }, 259 + "original": { 260 + "type": "tarball", 261 + "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz" 262 + } 263 + }, 264 + "microvm": { 265 + "inputs": { 266 + "flake-utils": "flake-utils_2", 267 + "nixpkgs": [ 268 + "nixpkgs" 269 + ], 270 + "spectrum": "spectrum" 271 + }, 272 + "locked": { 273 + "lastModified": 1760574296, 274 + "narHash": "sha256-S3gIp6Wd9vQ2RYDxcbHM2CIYgDtogbwzSdu38WABKaQ=", 275 + "owner": "astro", 276 + "repo": "microvm.nix", 277 + "rev": "42628f7c61b02d385ce2cb1f66f9be333ac20140", 278 + "type": "github" 279 + }, 280 + "original": { 281 + "owner": "astro", 282 + "repo": "microvm.nix", 283 + "type": "github" 284 + } 285 + }, 286 + "nixos-hardware": { 287 + "locked": { 288 + "lastModified": 1760958188, 289 + "narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=", 290 + "owner": "nixos", 291 + "repo": "nixos-hardware", 292 + "rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc", 293 + "type": "github" 294 + }, 295 + "original": { 296 + "owner": "nixos", 297 + "ref": "master", 298 + "repo": "nixos-hardware", 299 + "type": "github" 300 + } 301 + }, 302 + "nixpkgs": { 303 + "locked": { 304 + "lastModified": 1754028485, 305 + "narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=", 306 + "owner": "NixOS", 307 + "repo": "nixpkgs", 308 + "rev": "59e69648d345d6e8fef86158c555730fa12af9de", 309 + "type": "github" 310 + }, 311 + "original": { 312 + "owner": "NixOS", 313 + "ref": "nixos-25.05", 314 + "repo": "nixpkgs", 315 + "type": "github" 316 + } 317 + }, 318 + "nixpkgs-stable": { 319 + "locked": { 320 + "lastModified": 1748437600, 321 + "narHash": "sha256-hYKMs3ilp09anGO7xzfGs3JqEgUqFMnZ8GMAqI6/k04=", 322 + "owner": "NixOS", 323 + "repo": "nixpkgs", 324 + "rev": "7282cb574e0607e65224d33be8241eae7cfe0979", 325 + "type": "github" 326 + }, 327 + "original": { 328 + "id": "nixpkgs", 329 + "ref": "nixos-25.05", 330 + "type": "indirect" 331 + } 332 + }, 333 + "nixpkgs-unstable": { 334 + "locked": { 335 + "lastModified": 1723637854, 336 + "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", 337 + "owner": "NixOS", 338 + "repo": "nixpkgs", 339 + "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", 340 + "type": "github" 341 + }, 342 + "original": { 343 + "id": "nixpkgs", 344 + "ref": "nixos-unstable", 345 + "type": "indirect" 346 + } 347 + }, 348 + "nixpkgs_2": { 349 + "locked": { 350 + "lastModified": 1760524057, 351 + "narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=", 352 + "owner": "NixOS", 353 + "repo": "nixpkgs", 354 + "rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5", 355 + "type": "github" 356 + }, 357 + "original": { 358 + "owner": "NixOS", 359 + "ref": "nixos-unstable", 360 + "repo": "nixpkgs", 361 + "type": "github" 362 + } 363 + }, 364 + "nixpkgs_3": { 365 + "locked": { 366 + "lastModified": 1736241350, 367 + "narHash": "sha256-CHd7yhaDigUuJyDeX0SADbTM9FXfiWaeNyY34FL1wQU=", 368 + "owner": "NixOS", 369 + "repo": "nixpkgs", 370 + "rev": "8c9fd3e564728e90829ee7dbac6edc972971cd0f", 371 + "type": "github" 372 + }, 373 + "original": { 374 + "owner": "NixOS", 375 + "ref": "nixpkgs-unstable", 376 + "repo": "nixpkgs", 377 + "type": "github" 378 + } 379 + }, 380 + "nixpkgs_4": { 381 + "locked": { 382 + "lastModified": 1761016216, 383 + "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", 384 + "owner": "nixos", 385 + "repo": "nixpkgs", 386 + "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", 387 + "type": "github" 388 + }, 389 + "original": { 390 + "owner": "nixos", 391 + "ref": "nixos-25.05", 392 + "repo": "nixpkgs", 393 + "type": "github" 394 + } 395 + }, 396 + "nixpkgs_5": { 397 + "locked": { 398 + "lastModified": 1682134069, 399 + "narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=", 400 + "owner": "NixOS", 401 + "repo": "nixpkgs", 402 + "rev": "fd901ef4bf93499374c5af385b2943f5801c0833", 403 + "type": "github" 404 + }, 405 + "original": { 406 + "id": "nixpkgs", 407 + "type": "indirect" 408 + } 409 + }, 410 + "proxmox-nixos": { 411 + "inputs": { 412 + "flake-compat": "flake-compat", 413 + "nixpkgs-stable": "nixpkgs-stable", 414 + "nixpkgs-unstable": "nixpkgs-unstable", 415 + "utils": "utils" 416 + }, 417 + "locked": { 418 + "lastModified": 1758650077, 419 + "narHash": "sha256-ZeRtJimtk0Faiq7DPZEQNGipda3TaR4QXp0TAzu934Q=", 420 + "owner": "SaumonNet", 421 + "repo": "proxmox-nixos", 422 + "rev": "ce8768f43b4374287cd8b88d8fa9c0061e749d9a", 423 + "type": "github" 424 + }, 425 + "original": { 426 + "owner": "SaumonNet", 427 + "repo": "proxmox-nixos", 428 + "type": "github" 429 + } 430 + }, 431 + "root": { 432 + "inputs": { 433 + "agenix": "agenix", 434 + "catppuccin": "catppuccin", 435 + "disko": "disko", 436 + "home-manager": "home-manager_2", 437 + "lix-module": "lix-module", 438 + "microvm": "microvm", 439 + "nixos-hardware": "nixos-hardware", 440 + "nixpkgs": "nixpkgs_4", 441 + "proxmox-nixos": "proxmox-nixos", 442 + "vscode-server": "vscode-server", 443 + "zen-browser": "zen-browser" 444 + } 445 + }, 446 + "spectrum": { 447 + "flake": false, 448 + "locked": { 449 + "lastModified": 1759482047, 450 + "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=", 451 + "ref": "refs/heads/main", 452 + "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9", 453 + "revCount": 996, 454 + "type": "git", 455 + "url": "https://spectrum-os.org/git/spectrum" 456 + }, 457 + "original": { 458 + "type": "git", 459 + "url": "https://spectrum-os.org/git/spectrum" 460 + } 461 + }, 462 + "systems": { 463 + "locked": { 464 + "lastModified": 1681028828, 465 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 466 + "owner": "nix-systems", 467 + "repo": "default", 468 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 469 + "type": "github" 470 + }, 471 + "original": { 472 + "owner": "nix-systems", 473 + "repo": "default", 474 + "type": "github" 475 + } 476 + }, 477 + "systems_2": { 478 + "locked": { 479 + "lastModified": 1681028828, 480 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 481 + "owner": "nix-systems", 482 + "repo": "default", 483 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 484 + "type": "github" 485 + }, 486 + "original": { 487 + "owner": "nix-systems", 488 + "repo": "default", 489 + "type": "github" 490 + } 491 + }, 492 + "systems_3": { 493 + "locked": { 494 + "lastModified": 1681028828, 495 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 496 + "owner": "nix-systems", 497 + "repo": "default", 498 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 499 + "type": "github" 500 + }, 501 + "original": { 502 + "owner": "nix-systems", 503 + "repo": "default", 504 + "type": "github" 505 + } 506 + }, 507 + "systems_4": { 508 + "locked": { 509 + "lastModified": 1681028828, 510 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 511 + "owner": "nix-systems", 512 + "repo": "default", 513 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 514 + "type": "github" 515 + }, 516 + "original": { 517 + "owner": "nix-systems", 518 + "repo": "default", 519 + "type": "github" 520 + } 521 + }, 522 + "systems_5": { 523 + "locked": { 524 + "lastModified": 1681028828, 525 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 526 + "owner": "nix-systems", 527 + "repo": "default", 528 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 529 + "type": "github" 530 + }, 531 + "original": { 532 + "owner": "nix-systems", 533 + "repo": "default", 534 + "type": "github" 535 + } 536 + }, 537 + "utils": { 538 + "inputs": { 539 + "systems": "systems_4" 540 + }, 541 + "locked": { 542 + "lastModified": 1710146030, 543 + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", 544 + "owner": "numtide", 545 + "repo": "flake-utils", 546 + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", 547 + "type": "github" 548 + }, 549 + "original": { 550 + "owner": "numtide", 551 + "repo": "flake-utils", 552 + "type": "github" 553 + } 554 + }, 555 + "vscode-server": { 556 + "inputs": { 557 + "flake-utils": "flake-utils_3", 558 + "nixpkgs": "nixpkgs_5" 559 + }, 560 + "locked": { 561 + "lastModified": 1753541826, 562 + "narHash": "sha256-foGgZu8+bCNIGeuDqQ84jNbmKZpd+JvnrL2WlyU4tuU=", 563 + "owner": "nix-community", 564 + "repo": "nixos-vscode-server", 565 + "rev": "6d5f074e4811d143d44169ba4af09b20ddb6937d", 566 + "type": "github" 567 + }, 568 + "original": { 569 + "owner": "nix-community", 570 + "repo": "nixos-vscode-server", 571 + "type": "github" 572 + } 573 + }, 574 + "zen-browser": { 575 + "inputs": { 576 + "home-manager": "home-manager_3", 577 + "nixpkgs": [ 578 + "nixpkgs" 579 + ] 580 + }, 581 + "locked": { 582 + "lastModified": 1761180075, 583 + "narHash": "sha256-V4WLeUQ4gCGZiVihlXWBOZ/1FNcL0jM4zgTY1haJLvY=", 584 + "owner": "0xc000022070", 585 + "repo": "zen-browser-flake", 586 + "rev": "771a2604606905d8c0ffe3b818dc2cc5bd1405d8", 587 + "type": "github" 588 + }, 589 + "original": { 590 + "owner": "0xc000022070", 591 + "repo": "zen-browser-flake", 592 + "type": "github" 593 + } 594 + } 595 + }, 596 + "root": "root", 597 + "version": 7 598 + }
+1 -1
flake.nix
··· 1 1 # flake.nix 2 2 { 3 3 inputs = { 4 - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; 4 + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; 5 5 nixos-hardware.url = "github:nixos/nixos-hardware/master"; 6 6 7 7 proxmox-nixos.url = "github:SaumonNet/proxmox-nixos";
-3
hosts/focalor/default.nix
··· 136 136 virtualisation.docker = { 137 137 enable = true; 138 138 enableOnBoot = true; 139 - package = pkgs.docker.override { 140 - buildGoModule = pkgs.buildGo123Module; 141 - }; 142 139 }; 143 140 144 141 # =============================================================================
-7
hosts/focalor/vfio.nix
··· 9 9 package = pkgs.qemu_kvm; 10 10 runAsRoot = true; 11 11 swtpm.enable = true; 12 - ovmf = { 13 - enable = true; 14 - packages = [(pkgs.OVMF.override { 15 - secureBoot = true; 16 - tpmSupport = true; 17 - }).fd]; 18 - }; 19 12 }; 20 13 hooks.qemu = { 21 14 win11 = ./scripts/vm-win11-hook.sh;
-3
hosts/valefar/default.nix
··· 257 257 virtualisation.docker = { 258 258 enable = true; 259 259 enableOnBoot = true; 260 - package = pkgs.docker.override { 261 - buildGoModule = pkgs.buildGo123Module; 262 - }; 263 260 }; 264 261 265 262 services.fail2ban = {