Flake for my NixOS devices

Add my module to black-mesa, add flake modules

1. Adds my module to `black-mesa`
2. `just r[epl]` starts a repl for debugging nix expressions
3. `just c[heck]` works without needing emulatedSystems

Spoonbaker b1cef87f 3bbc21dc

+59 -2
+35
flake.lock
··· 612 "nixvim": "nixvim", 613 "nu_plugin_dbus": "nu_plugin_dbus", 614 "rust-overlay": "rust-overlay_2", 615 "wayland-mpris-idle-inhibit": "wayland-mpris-idle-inhibit" 616 } 617 }, ··· 654 "owner": "oxalica", 655 "repo": "rust-overlay", 656 "type": "github" 657 } 658 }, 659 "systems": {
··· 612 "nixvim": "nixvim", 613 "nu_plugin_dbus": "nu_plugin_dbus", 614 "rust-overlay": "rust-overlay_2", 615 + "spoon": "spoon", 616 "wayland-mpris-idle-inhibit": "wayland-mpris-idle-inhibit" 617 } 618 }, ··· 655 "owner": "oxalica", 656 "repo": "rust-overlay", 657 "type": "github" 658 + } 659 + }, 660 + "spoon": { 661 + "inputs": { 662 + "flakelight": [ 663 + "flakelight" 664 + ], 665 + "home-manager": [ 666 + "hm" 667 + ], 668 + "impermanence": [ 669 + "imperm" 670 + ], 671 + "nix-index-database": [ 672 + "nix-index-db" 673 + ], 674 + "nixpkgs": [ 675 + "nixpkgs" 676 + ] 677 + }, 678 + "locked": { 679 + "dir": "nixos-config", 680 + "lastModified": 1746468574, 681 + "narHash": "sha256-zcYPT4WLhJYZoMVMTHX2nX0Y7zv77+ZfCyYAgTYO67I=", 682 + "ref": "refs/heads/main", 683 + "rev": "4e4891620f7532e32d2d7976f62505ee2bda044a", 684 + "revCount": 134, 685 + "type": "git", 686 + "url": "https://codeberg.org/spoonbaker/mono" 687 + }, 688 + "original": { 689 + "dir": "nixos-config", 690 + "type": "git", 691 + "url": "https://codeberg.org/spoonbaker/mono" 692 } 693 }, 694 "systems": {
+14
flake.nix
··· 27 nu_plugin_dbus.inputs.nixpkgs.follows = "nixpkgs"; 28 bingus.url = "github:Bwc9876/bingus-bot"; 29 bingus.inputs.nixpkgs.follows = "nixpkgs"; 30 }; 31 32 outputs = inputs @ { ··· 45 imperm, 46 nu_plugin_dbus, 47 bingus, 48 }: 49 flakelight ./. { 50 inherit inputs; 51 formatters = pkgs: { 52 "*.nix" = "alejandra .";
··· 27 nu_plugin_dbus.inputs.nixpkgs.follows = "nixpkgs"; 28 bingus.url = "github:Bwc9876/bingus-bot"; 29 bingus.inputs.nixpkgs.follows = "nixpkgs"; 30 + 31 + spoon.url = "git+https://codeberg.org/spoonbaker/mono?dir=nixos-config"; 32 + spoon.inputs = { 33 + nixpkgs.follows = "nixpkgs"; 34 + flakelight.follows = "flakelight"; 35 + home-manager.follows = "hm"; 36 + impermanence.follows = "imperm"; 37 + nix-index-database.follows = "nix-index-db"; 38 + }; 39 }; 40 41 outputs = inputs @ { ··· 54 imperm, 55 nu_plugin_dbus, 56 bingus, 57 + spoon, 58 }: 59 flakelight ./. { 60 + imports = [ 61 + spoon.flakelightModules.repl 62 + spoon.flakelightModules.ubercheck 63 + ]; 64 inherit inputs; 65 formatters = pkgs: { 66 "*.nix" = "alejandra .";
+8 -2
justfile
··· 27 28 [private] 29 alias c := check 30 - # c: run all flake checks, including making sure all system configs evaluate 31 check: 32 - nix flake check .# --show-trace 33 34 [private] 35 alias f := format 36 # f: format this flake 37 format: 38 nix fmt 39 40 [private] 41 alias gc := garbage-collect
··· 27 28 [private] 29 alias c := check 30 + # c: run all checks for the current system 31 check: 32 + nix build --show-trace .#uberCheck.$(nix eval --impure --raw --expr 'builtins.currentSystem') 33 34 [private] 35 alias f := format 36 # f: format this flake 37 format: 38 nix fmt 39 + 40 + [private] 41 + alias r := repl 42 + # r: start a debugging repl 43 + repl: 44 + nix repl .#repl 45 46 [private] 47 alias gc := garbage-collect
+2
systemConfigs/black-mesa.nix
··· 4 ... 5 }: { 6 system = "x86_64-linux"; 7 8 modules = [ 9 (outputs.lib.applyRoles ["base" "latest-linux" "wireless" "ssh" "graphics" "games" "fun" "dev" "normalboot" "mc-server"]) 10 { 11 imports = [inputs.bingus.nixosModules.default];
··· 4 ... 5 }: { 6 system = "x86_64-linux"; 7 + specialArgs.inputs = inputs // inputs.spoon.inputs // {inherit (inputs) self;}; 8 9 modules = [ 10 + inputs.spoon.nixosModules.black-mesa 11 (outputs.lib.applyRoles ["base" "latest-linux" "wireless" "ssh" "graphics" "games" "fun" "dev" "normalboot" "mc-server"]) 12 { 13 imports = [inputs.bingus.nixosModules.default];