Flake for my NixOS devices

Update, add gh-grader-preview

bwc9876.dev 9c093525 bb8d380d

verified
+118 -31
+105 -28
flake.lock
··· 31 ] 32 }, 33 "locked": { 34 - "lastModified": 1756741629, 35 - "narHash": "sha256-n+mgH3NoQf8d1jd8cDp/9Mt++hhyuE3LO3ZAxzjWRZw=", 36 "owner": "catppuccin", 37 "repo": "nix", 38 - "rev": "cd22197da06df1eb6fabdaa2fc22c170c4f67382", 39 "type": "github" 40 }, 41 "original": { ··· 45 } 46 }, 47 "crane": { 48 "locked": { 49 "lastModified": 1754269165, 50 "narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=", ··· 143 ] 144 }, 145 "locked": { 146 - "lastModified": 1754487366, 147 - "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", 148 "owner": "hercules-ci", 149 "repo": "flake-parts", 150 - "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", 151 "type": "github" 152 }, 153 "original": { ··· 195 "type": "github" 196 } 197 }, 198 "flakelight_2": { 199 "inputs": { 200 "nixpkgs": [ ··· 216 } 217 }, 218 "flakelight_3": { 219 "inputs": { 220 "nixpkgs": [ 221 "nu_plugin_dbus", ··· 236 "type": "github" 237 } 238 }, 239 - "flakelight_4": { 240 "inputs": { 241 "nixpkgs": [ 242 "wayland-mpris-idle-inhibit", ··· 257 "type": "github" 258 } 259 }, 260 "gitignore": { 261 "inputs": { 262 "nixpkgs": [ ··· 286 ] 287 }, 288 "locked": { 289 - "lastModified": 1757075491, 290 - "narHash": "sha256-a+NMGl5tcvm+hyfSG2DlVPa8nZLpsumuRj1FfcKb2mQ=", 291 "owner": "nix-community", 292 "repo": "home-manager", 293 - "rev": "f56bf065f9abedc7bc15e1f2454aa5c8edabaacf", 294 "type": "github" 295 }, 296 "original": { ··· 344 }, 345 "lanzaboote": { 346 "inputs": { 347 - "crane": "crane", 348 "flake-compat": "flake-compat", 349 "flake-parts": "flake-parts", 350 "nixpkgs": [ ··· 374 ] 375 }, 376 "locked": { 377 - "lastModified": 1756612744, 378 - "narHash": "sha256-/glV6VAq8Va3ghIbmhET3S1dzkbZqicsk5h+FtvwiPE=", 379 "owner": "nix-community", 380 "repo": "nix-index-database", 381 - "rev": "3fe768e1f058961095b4a0d7a2ba15dc9736bdc6", 382 "type": "github" 383 }, 384 "original": { ··· 404 }, 405 "nixpkgs": { 406 "locked": { 407 - "lastModified": 1756787288, 408 - "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=", 409 "owner": "NixOS", 410 "repo": "nixpkgs", 411 - "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1", 412 "type": "github" 413 }, 414 "original": { ··· 428 "systems": "systems_2" 429 }, 430 "locked": { 431 - "lastModified": 1757176284, 432 - "narHash": "sha256-j4SBmYsARwNG0DHljZ1uzZlGqCIU5fzCMA2g+GjD0xw=", 433 "owner": "nix-community", 434 "repo": "nixvim", 435 - "rev": "7afdd40b96c9168aa4cb49b86fc67eccd441cae5", 436 "type": "github" 437 }, 438 "original": { ··· 443 }, 444 "nu_plugin_dbus": { 445 "inputs": { 446 - "flakelight": "flakelight_3", 447 "nixpkgs": [ 448 "nixpkgs" 449 ] ··· 472 ] 473 }, 474 "locked": { 475 - "lastModified": 1755555503, 476 - "narHash": "sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY=", 477 "owner": "NuschtOS", 478 "repo": "search", 479 - "rev": "6f3efef888b92e6520f10eae15b86ff537e1d2ea", 480 "type": "github" 481 }, 482 "original": { ··· 566 "bingus": "bingus", 567 "catppuccin": "catppuccin", 568 "flakelight": "flakelight_2", 569 "hm": "hm", 570 "imperm": "imperm", 571 "lanzaboote": "lanzaboote", ··· 607 ] 608 }, 609 "locked": { 610 - "lastModified": 1757125853, 611 - "narHash": "sha256-noKkYHKpT5lpvNSYrlH56d8cedthZfs010Uv6vTqLT4=", 612 "owner": "oxalica", 613 "repo": "rust-overlay", 614 - "rev": "8b70793a6be183536a5d562056dac10b7b36820d", 615 "type": "github" 616 }, 617 "original": { ··· 740 }, 741 "wayland-mpris-idle-inhibit": { 742 "inputs": { 743 - "flakelight": "flakelight_4", 744 "nixpkgs": [ 745 "nixpkgs" 746 ]
··· 31 ] 32 }, 33 "locked": { 34 + "lastModified": 1757320803, 35 + "narHash": "sha256-7PUIQOMQSJLkNtV42SAYUDw0mRdbBNl6q8pLN8GViwM=", 36 "owner": "catppuccin", 37 "repo": "nix", 38 + "rev": "d75e3fe67f49728cb5035bc791f4b9065ff3a2c9", 39 "type": "github" 40 }, 41 "original": { ··· 45 } 46 }, 47 "crane": { 48 + "locked": { 49 + "lastModified": 1756705356, 50 + "narHash": "sha256-dpBFe8SqYKr7W6KN5QOVCr8N76SBKwTslzjw+4BVBVs=", 51 + "owner": "ipetkov", 52 + "repo": "crane", 53 + "rev": "305707bbc27d83aa1039378e91d7dd816f4cac10", 54 + "type": "github" 55 + }, 56 + "original": { 57 + "owner": "ipetkov", 58 + "repo": "crane", 59 + "type": "github" 60 + } 61 + }, 62 + "crane_2": { 63 "locked": { 64 "lastModified": 1754269165, 65 "narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=", ··· 158 ] 159 }, 160 "locked": { 161 + "lastModified": 1756770412, 162 + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", 163 "owner": "hercules-ci", 164 "repo": "flake-parts", 165 + "rev": "4524271976b625a4a605beefd893f270620fd751", 166 "type": "github" 167 }, 168 "original": { ··· 210 "type": "github" 211 } 212 }, 213 + "flakelight-rust": { 214 + "inputs": { 215 + "crane": "crane", 216 + "flakelight": "flakelight_3" 217 + }, 218 + "locked": { 219 + "lastModified": 1756817437, 220 + "narHash": "sha256-O8xyYYBJucwHMnqjoaNFEDYPJQ5nzwnuXjPoW2TCvYo=", 221 + "owner": "accelbread", 222 + "repo": "flakelight-rust", 223 + "rev": "af3cc6a17c210efb85d99ed3ea601f5d0b55b50f", 224 + "type": "github" 225 + }, 226 + "original": { 227 + "owner": "accelbread", 228 + "repo": "flakelight-rust", 229 + "type": "github" 230 + } 231 + }, 232 "flakelight_2": { 233 "inputs": { 234 "nixpkgs": [ ··· 250 } 251 }, 252 "flakelight_3": { 253 + "inputs": { 254 + "nixpkgs": [ 255 + "gh-grader-preview", 256 + "nixpkgs" 257 + ] 258 + }, 259 + "locked": { 260 + "lastModified": 1756730985, 261 + "narHash": "sha256-Uv5lLUZfFxQv6RHi1TqLTKso0j0eUVMQQwud29LTV/s=", 262 + "owner": "nix-community", 263 + "repo": "flakelight", 264 + "rev": "950121d809b75c32e73684b32ccba8d4e8a67703", 265 + "type": "github" 266 + }, 267 + "original": { 268 + "owner": "nix-community", 269 + "repo": "flakelight", 270 + "type": "github" 271 + } 272 + }, 273 + "flakelight_4": { 274 "inputs": { 275 "nixpkgs": [ 276 "nu_plugin_dbus", ··· 291 "type": "github" 292 } 293 }, 294 + "flakelight_5": { 295 "inputs": { 296 "nixpkgs": [ 297 "wayland-mpris-idle-inhibit", ··· 312 "type": "github" 313 } 314 }, 315 + "gh-grader-preview": { 316 + "inputs": { 317 + "flakelight-rust": "flakelight-rust", 318 + "nixpkgs": [ 319 + "nixpkgs" 320 + ] 321 + }, 322 + "locked": { 323 + "lastModified": 1757088556, 324 + "narHash": "sha256-l2cBwf1ERYy77IXUoaB9KDWoEwwA4SUNUZ5/0CTufZ0=", 325 + "owner": "Bwc9876", 326 + "repo": "gh-grader-preview", 327 + "rev": "c4da97ef8e7bced77cdc859ad980491391de9ee0", 328 + "type": "github" 329 + }, 330 + "original": { 331 + "owner": "Bwc9876", 332 + "repo": "gh-grader-preview", 333 + "type": "github" 334 + } 335 + }, 336 "gitignore": { 337 "inputs": { 338 "nixpkgs": [ ··· 362 ] 363 }, 364 "locked": { 365 + "lastModified": 1757256385, 366 + "narHash": "sha256-WK7tOhWwr15mipcckhDg2no/eSpM1nIh4C9le8HgHhk=", 367 "owner": "nix-community", 368 "repo": "home-manager", 369 + "rev": "f35703b412c67b48e97beb6e27a6ab96a084cd37", 370 "type": "github" 371 }, 372 "original": { ··· 420 }, 421 "lanzaboote": { 422 "inputs": { 423 + "crane": "crane_2", 424 "flake-compat": "flake-compat", 425 "flake-parts": "flake-parts", 426 "nixpkgs": [ ··· 450 ] 451 }, 452 "locked": { 453 + "lastModified": 1757218147, 454 + "narHash": "sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk=", 455 "owner": "nix-community", 456 "repo": "nix-index-database", 457 + "rev": "9b144dc3ef6e42b888c4190e02746aab13b0e97f", 458 "type": "github" 459 }, 460 "original": { ··· 480 }, 481 "nixpkgs": { 482 "locked": { 483 + "lastModified": 1757068644, 484 + "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", 485 "owner": "NixOS", 486 "repo": "nixpkgs", 487 + "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9", 488 "type": "github" 489 }, 490 "original": { ··· 504 "systems": "systems_2" 505 }, 506 "locked": { 507 + "lastModified": 1757327900, 508 + "narHash": "sha256-eQE1fpafP31ovR77C3X2e/xIDGk/+iOF1ck1Q7+D0aQ=", 509 "owner": "nix-community", 510 "repo": "nixvim", 511 + "rev": "cf170ed677fa595ec0370e83278c0d40c6c2638c", 512 "type": "github" 513 }, 514 "original": { ··· 519 }, 520 "nu_plugin_dbus": { 521 "inputs": { 522 + "flakelight": "flakelight_4", 523 "nixpkgs": [ 524 "nixpkgs" 525 ] ··· 548 ] 549 }, 550 "locked": { 551 + "lastModified": 1756738487, 552 + "narHash": "sha256-8QX7Ab5CcICp7zktL47VQVS+QeaU4YDNAjzty7l7TQE=", 553 "owner": "NuschtOS", 554 "repo": "search", 555 + "rev": "5feeaeefb571e6ca2700888b944f436f7c05149b", 556 "type": "github" 557 }, 558 "original": { ··· 642 "bingus": "bingus", 643 "catppuccin": "catppuccin", 644 "flakelight": "flakelight_2", 645 + "gh-grader-preview": "gh-grader-preview", 646 "hm": "hm", 647 "imperm": "imperm", 648 "lanzaboote": "lanzaboote", ··· 684 ] 685 }, 686 "locked": { 687 + "lastModified": 1757298987, 688 + "narHash": "sha256-yuFSw6fpfjPtVMmym51ozHYpJQ7SzVOTkk7tUv2JA0U=", 689 "owner": "oxalica", 690 "repo": "rust-overlay", 691 + "rev": "cfd63776bde44438ff2936f0c9194c79dd407a5f", 692 "type": "github" 693 }, 694 "original": { ··· 817 }, 818 "wayland-mpris-idle-inhibit": { 819 "inputs": { 820 + "flakelight": "flakelight_5", 821 "nixpkgs": [ 822 "nixpkgs" 823 ]
+3
flake.nix
··· 23 imperm.url = "github:nix-community/impermanence"; 24 nu_plugin_dbus.url = "github:Bwc9876/nu_plugin_dbus"; 25 nu_plugin_dbus.inputs.nixpkgs.follows = "nixpkgs"; 26 bingus.url = "github:Bwc9876/bingus-bot"; 27 bingus.inputs.nixpkgs.follows = "nixpkgs"; 28 ··· 51 nu_plugin_dbus, 52 bingus, 53 spoon, 54 }: 55 flakelight ./. { 56 imports = [
··· 23 imperm.url = "github:nix-community/impermanence"; 24 nu_plugin_dbus.url = "github:Bwc9876/nu_plugin_dbus"; 25 nu_plugin_dbus.inputs.nixpkgs.follows = "nixpkgs"; 26 + gh-grader-preview.url = "github:Bwc9876/gh-grader-preview"; 27 + gh-grader-preview.inputs.nixpkgs.follows = "nixpkgs"; 28 bingus.url = "github:Bwc9876/bingus-bot"; 29 bingus.inputs.nixpkgs.follows = "nixpkgs"; 30 ··· 53 nu_plugin_dbus, 54 bingus, 55 spoon, 56 + gh-grader-preview, 57 }: 58 flakelight ./. { 59 imports = [
+6 -1
nixosModules/dev/misc.nix
··· 1 - {pkgs, ...}: { 2 environment.systemPackages = with pkgs; [ 3 # Build Tools 4 pkg-config ··· 18 19 # Debug 20 wev 21 ]; 22 23 users.users.bean.extraGroups = ["wireshark"];
··· 1 + { 2 + pkgs, 3 + inputs', 4 + ... 5 + }: { 6 environment.systemPackages = with pkgs; [ 7 # Build Tools 8 pkg-config ··· 22 23 # Debug 24 wev 25 + inputs'.gh-grader-preview.packages.default 26 ]; 27 28 users.users.bean.extraGroups = ["wireshark"];
+3 -1
res/custom_waybar_modules/newsboat.nu
··· 1 #!/usr/bin/env nu 2 3 let NB_DB = $"($env.HOME)/.local/share/newsboat/cache.db"; 4 5 let nb_running = (pidof "newsboat" | complete).exit_code == 0; 6 7 - let need_cooldown = ((date now) - (ls $NB_DB | first | get modified)) < 1min; 8 9 if (not $need_cooldown and not $nb_running) { 10 let refreshing = {
··· 1 #!/usr/bin/env nu 2 3 + const WAIT: duration = 30min; 4 + 5 let NB_DB = $"($env.HOME)/.local/share/newsboat/cache.db"; 6 7 let nb_running = (pidof "newsboat" | complete).exit_code == 0; 8 9 + let need_cooldown = ((date now) - (ls $NB_DB | first | get modified)) < $WAIT; 10 11 if (not $need_cooldown and not $nb_running) { 12 let refreshing = {
+1 -1
systemConfigs/installer.nix
··· 1 {outputs, ...}: { 2 system = "x86_64-linux"; 3 modules = [ 4 - (outputs.lib.applyRoles ["base" "latest-linux" "black-mesa-cache"]) 5 ({ 6 pkgs, 7 lib,
··· 1 {outputs, ...}: { 2 system = "x86_64-linux"; 3 modules = [ 4 + (outputs.lib.applyRoles ["base" "latest-linux"]) 5 ({ 6 pkgs, 7 lib,