Flake for my NixOS devices

Update, split groups, nu_plugin_dbus graphics only

bwc9876.dev 9295a464 799d27af

verified
+124 -30
+101 -23
flake.lock
··· 22 22 }, 23 23 "crane": { 24 24 "locked": { 25 + "lastModified": 1738652123, 26 + "narHash": "sha256-zdZek5FXK/k95J0vnLF0AMnYuZl4AjARq83blKuJBYY=", 27 + "owner": "ipetkov", 28 + "repo": "crane", 29 + "rev": "c7e015a5fcefb070778c7d91734768680188a9cd", 30 + "type": "github" 31 + }, 32 + "original": { 33 + "owner": "ipetkov", 34 + "repo": "crane", 35 + "type": "github" 36 + } 37 + }, 38 + "crane_2": { 39 + "locked": { 25 40 "lastModified": 1731098351, 26 41 "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", 27 42 "owner": "ipetkov", ··· 153 168 ] 154 169 }, 155 170 "locked": { 156 - "lastModified": 1738586370, 157 - "narHash": "sha256-oNDm2sfLm9jdfOskRq2ABn85gwXusbsHEOC181peno4=", 171 + "lastModified": 1739191238, 172 + "narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=", 158 173 "owner": "nix-community", 159 174 "repo": "flakelight", 160 - "rev": "d05bcabfc1efb84a7d8689de6e50b84d7f23b427", 175 + "rev": "5656e7f5fda93676642d199fd9eb47b970d6139e", 161 176 "type": "github" 162 177 }, 163 178 "original": { ··· 166 181 "type": "github" 167 182 } 168 183 }, 184 + "flakelight-rust": { 185 + "inputs": { 186 + "crane": "crane", 187 + "flakelight": "flakelight_2" 188 + }, 189 + "locked": { 190 + "lastModified": 1738672886, 191 + "narHash": "sha256-YLRn2bceMuePfimgfqfic4jce3b/GqDfB2vbrNFuRlg=", 192 + "owner": "accelbread", 193 + "repo": "flakelight-rust", 194 + "rev": "fda5c9b4a7f3d78cf21e5f1010d6a3f16ad946e1", 195 + "type": "github" 196 + }, 197 + "original": { 198 + "owner": "accelbread", 199 + "repo": "flakelight-rust", 200 + "type": "github" 201 + } 202 + }, 169 203 "flakelight_2": { 170 204 "inputs": { 171 205 "nixpkgs": [ 206 + "gh-grader-preview", 207 + "nixpkgs" 208 + ] 209 + }, 210 + "locked": { 211 + "lastModified": 1739191238, 212 + "narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=", 213 + "owner": "nix-community", 214 + "repo": "flakelight", 215 + "rev": "5656e7f5fda93676642d199fd9eb47b970d6139e", 216 + "type": "github" 217 + }, 218 + "original": { 219 + "owner": "nix-community", 220 + "repo": "flakelight", 221 + "type": "github" 222 + } 223 + }, 224 + "flakelight_3": { 225 + "inputs": { 226 + "nixpkgs": [ 172 227 "nu_plugin_dbus", 173 228 "nixpkgs" 174 229 ] ··· 187 242 "type": "github" 188 243 } 189 244 }, 245 + "flakelight_4": { 246 + "inputs": { 247 + "nixpkgs": [ 248 + "wayland-mpris-idle-inhibit", 249 + "nixpkgs" 250 + ] 251 + }, 252 + "locked": { 253 + "lastModified": 1739191238, 254 + "narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=", 255 + "owner": "nix-community", 256 + "repo": "flakelight", 257 + "rev": "5656e7f5fda93676642d199fd9eb47b970d6139e", 258 + "type": "github" 259 + }, 260 + "original": { 261 + "owner": "nix-community", 262 + "repo": "flakelight", 263 + "type": "github" 264 + } 265 + }, 190 266 "gh-grader-preview": { 191 267 "inputs": { 268 + "flakelight-rust": "flakelight-rust", 192 269 "nixpkgs": [ 193 270 "nixpkgs" 194 271 ] 195 272 }, 196 273 "locked": { 197 - "lastModified": 1738957558, 198 - "narHash": "sha256-LrsAvqQZPyFCQkcjpiJsUAmobxM5Xartbo4OMO+T63k=", 274 + "lastModified": 1739201967, 275 + "narHash": "sha256-BGiazIhRhPEf6XjzisD2b0ZdNzVTdlm06BLVPSeSWqA=", 199 276 "owner": "Bwc9876", 200 277 "repo": "gh-grader-preview", 201 - "rev": "ce471fcc8a6f4e786db709abacbd3b39cecd0e74", 278 + "rev": "0cfb80ac492931b33e56f6261807861df398aebc", 202 279 "type": "github" 203 280 }, 204 281 "original": { ··· 284 361 ] 285 362 }, 286 363 "locked": { 287 - "lastModified": 1739051380, 288 - "narHash": "sha256-p1QSLO8DJnANY+ppK7fjD8GqfCrEIDjso1CSRHsXL7Y=", 364 + "lastModified": 1739198052, 365 + "narHash": "sha256-fvAgCGK2phagbKv2S4YH4AIM566TKasfWMqYl3c3mPQ=", 289 366 "owner": "nix-community", 290 367 "repo": "home-manager", 291 - "rev": "5af1b9a0f193ab6138b89a8e0af8763c21bbf491", 368 + "rev": "b0bd29bb4b8df265b13bbb4a6639afa74faaa831", 292 369 "type": "github" 293 370 }, 294 371 "original": { ··· 342 419 }, 343 420 "lanzaboote": { 344 421 "inputs": { 345 - "crane": "crane", 422 + "crane": "crane_2", 346 423 "flake-compat": "flake-compat", 347 424 "flake-parts": "flake-parts", 348 425 "nixpkgs": [ ··· 352 429 "rust-overlay": "rust-overlay" 353 430 }, 354 431 "locked": { 355 - "lastModified": 1737639419, 356 - "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", 432 + "lastModified": 1739186342, 433 + "narHash": "sha256-2j+sln9RwQn+g7J4GmdFFgvqXnLkvWBNMaUzONlkzUE=", 357 434 "owner": "nix-community", 358 435 "repo": "lanzaboote", 359 - "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", 436 + "rev": "3bdeebbc484a09391c4f0ec8a37bb77809426660", 360 437 "type": "github" 361 438 }, 362 439 "original": { ··· 470 547 "treefmt-nix": "treefmt-nix" 471 548 }, 472 549 "locked": { 473 - "lastModified": 1738966895, 474 - "narHash": "sha256-OXOh35rTEnFSO4vj/SDMIlDvFPGW0ba1XhZkfx+AlL0=", 550 + "lastModified": 1739121491, 551 + "narHash": "sha256-BEmyAozR3Pc2qwPtC4rgUglzi3cw4nv4fXEY23NxOrQ=", 475 552 "owner": "nix-community", 476 553 "repo": "nixvim", 477 - "rev": "e7f20a602f6e08a70045f36c531bc44ba1baed07", 554 + "rev": "13341a4c1238b7974e7bad9c7a6d5c51ca3cf81a", 478 555 "type": "github" 479 556 }, 480 557 "original": { ··· 485 562 }, 486 563 "nu_plugin_dbus": { 487 564 "inputs": { 488 - "flakelight": "flakelight_2", 565 + "flakelight": "flakelight_3", 489 566 "nixpkgs": [ 490 567 "nixpkgs" 491 568 ] ··· 599 676 ] 600 677 }, 601 678 "locked": { 602 - "lastModified": 1739068147, 603 - "narHash": "sha256-3DtLkjQFlIUOXw3TBH+iP0jglpqO6Lv2KaQc+ADg39I=", 679 + "lastModified": 1739154531, 680 + "narHash": "sha256-QGeN6e0nMJlNLzm3Y2A7P6riXhQXMeCXLZ7yajZYFQM=", 604 681 "owner": "oxalica", 605 682 "repo": "rust-overlay", 606 - "rev": "f61820fa2c3844d6940cce269a6afdec30aa2e6c", 683 + "rev": "035dac86ab7ce5c1e8a4d59dfe85e6911a3526ea", 607 684 "type": "github" 608 685 }, 609 686 "original": { ··· 650 727 }, 651 728 "wayland-mpris-idle-inhibit": { 652 729 "inputs": { 730 + "flakelight": "flakelight_4", 653 731 "nixpkgs": [ 654 732 "nixpkgs" 655 733 ] 656 734 }, 657 735 "locked": { 658 - "lastModified": 1738957449, 659 - "narHash": "sha256-12ix4EuQ8f6DxBbJ8bCVUqYTBnFi474OVHaVBXgiLMI=", 736 + "lastModified": 1739201677, 737 + "narHash": "sha256-HNI/49TdnVPNcVqREBw8/Ycv6yAehUF+YLYHO5qelXI=", 660 738 "owner": "Bwc9876", 661 739 "repo": "wayland-mpris-idle-inhibit", 662 - "rev": "0085e928fcd3186fd3c4066e8c90288bd70fde9e", 740 + "rev": "0195d10eec2339571cc3de5ab0329768d533e8f1", 663 741 "type": "github" 664 742 }, 665 743 "original": {
-3
nixosModules/base/nushell.nix
··· 73 73 } 74 74 75 75 source ${init-starship} 76 - 77 - plugin add ${pkgs.nu_plugin_dbus}/bin/nu_plugin_dbus 78 - 79 76 ''; 80 77 }; 81 78 home-manager.users.root.programs.nushell = with home-manager.users.bean.programs.nushell; {
+1 -1
nixosModules/base/personal.nix
··· 12 12 isNormalUser = true; 13 13 description = "Benjamin Crocker"; 14 14 autoSubUidGidRange = true; 15 - extraGroups = ["libvirtd" "networkmanager" "wheel" "video" "lpadmin" "wireshark"]; # TODO: Break up groups across files? 15 + extraGroups = ["wheel"]; # For sudo 16 16 }; 17 17 18 18 home-manager.users.root = {
+2
nixosModules/graphics/printing.nix
··· 4 4 stateless = true; 5 5 }; 6 6 7 + users.users.bean.extraGroups = ["lpadmin"]; 8 + 7 9 hardware.printers = { 8 10 ensurePrinters = [ 9 11 {
+5
nixosModules/graphics/shell.nix
··· 5 5 lib, 6 6 ... 7 7 }: { 8 + users.users.bean.extraGroups = ["video"]; 9 + 8 10 environment.systemPackages = with pkgs; [ 9 11 # Shell Components 10 12 hyprlock ··· 111 113 }; 112 114 location = "center"; 113 115 }; 116 + nushell.extraConfig = '' 117 + plugin add ${pkgs.nu_plugin_dbus}/bin/nu_plugin_dbus 118 + ''; 114 119 }; 115 120 116 121 wayland.windowManager.hyprland.settings = {
+2
nixosModules/hypervisor.nix
··· 3 3 inputs, 4 4 ... 5 5 }: { 6 + users.users.bean.extraGroups = ["libvirtd"]; 7 + 6 8 virtualisation.libvirtd = { 7 9 enable = true; 8 10 onBoot = "ignore"; # I don't want VMs to start again on reboot
+7
nixosModules/ssh.nix
··· 10 10 beanPubkey 11 11 ]; 12 12 13 + environment = { 14 + enableAllTerminfo = true; 15 + systemPackages = with pkgs; [ 16 + kitty # Needed for terminfo to work over ssh 17 + ]; 18 + }; 19 + 13 20 services.openssh = { 14 21 enable = true; 15 22 openFirewall = true;
+2
nixosModules/wireless.nix
··· 1 1 {pkgs, ...}: { 2 2 networking.networkmanager.enable = true; 3 3 4 + users.users.bean.extraGroups = ["networkmanager"]; 5 + 4 6 hardware.bluetooth = { 5 7 enable = true; 6 8 settings = {
+1 -1
systemConfigs/installer.nix
··· 33 33 initrd.systemd.enable = false; 34 34 supportedFilesystems = { 35 35 btrfs = true; 36 - reiserfs = true; 36 + reiserfs = lib.mkForce false; 37 37 vfat = true; 38 38 f2fs = true; 39 39 xfs = true;
+3 -2
systemConfigs/mann-co.nix
··· 7 7 8 8 modules = [ 9 9 (outputs.lib.applyRoles ["base" "ssh"]) 10 - { 10 + ({pkgs, ...}: { 11 + boot.kernelPackages = pkgs.linuxPackages_rpi4; 11 12 system.stateVersion = "25.05"; 12 13 networking.hostName = "mann-co"; 13 14 nixpkgs.overlays = [ ··· 16 17 super.makeModulesClosure (x // {allowMissing = true;}); 17 18 }) 18 19 ]; 19 - } 20 + }) 20 21 "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" 21 22 {disabledModules = ["${inputs.nixpkgs}/nixos/modules/profiles/base.nix"];} 22 23 inputs.nixos-hardware.nixosModules.raspberry-pi-4