Flake for my NixOS devices

Re-add waybar binds, switch over screenrec.nu

bwc9876.dev 6c5b70f4 f66ede5e

verified
+208 -35
+202 -25
flake.lock
··· 74 74 "type": "github" 75 75 } 76 76 }, 77 + "dankMaterialShell": { 78 + "inputs": { 79 + "dgop": "dgop", 80 + "dms-cli": "dms-cli", 81 + "nixpkgs": [ 82 + "spoon", 83 + "nixpkgs" 84 + ] 85 + }, 86 + "locked": { 87 + "lastModified": 1762812757, 88 + "narHash": "sha256-VPmzq5tYJIwIV9LQyn+wCiNRHiVHO8wrqoM7pz6LVPs=", 89 + "owner": "AvengeMedia", 90 + "repo": "DankMaterialShell", 91 + "rev": "37a10bd453da057fb4e69cf600c413eb4467bd72", 92 + "type": "github" 93 + }, 94 + "original": { 95 + "owner": "AvengeMedia", 96 + "repo": "DankMaterialShell", 97 + "type": "github" 98 + } 99 + }, 77 100 "deploy-rs": { 78 101 "inputs": { 79 102 "flake-compat": "flake-compat_2", ··· 84 107 "utils": "utils" 85 108 }, 86 109 "locked": { 87 - "lastModified": 1756719547, 88 - "narHash": "sha256-N9gBKUmjwRKPxAafXEk1EGadfk2qDZPBQp4vXWPHINQ=", 110 + "lastModified": 1762286984, 111 + "narHash": "sha256-9I2H9x5We6Pl+DBYHjR1s3UT8wgwcpAH03kn9CqtdQc=", 89 112 "owner": "serokell", 90 113 "repo": "deploy-rs", 91 - "rev": "125ae9e3ecf62fb2c0fd4f2d894eb971f1ecaed2", 114 + "rev": "9c870f63e28ec1e83305f7f6cb73c941e699f74f", 92 115 "type": "github" 93 116 }, 94 117 "original": { ··· 97 120 "type": "github" 98 121 } 99 122 }, 123 + "dgop": { 124 + "inputs": { 125 + "nixpkgs": [ 126 + "spoon", 127 + "dankMaterialShell", 128 + "nixpkgs" 129 + ] 130 + }, 131 + "locked": { 132 + "lastModified": 1762435535, 133 + "narHash": "sha256-QhzRn7pYN35IFpKjjxJAj3GPJECuC+VLhoGem3ezycc=", 134 + "owner": "AvengeMedia", 135 + "repo": "dgop", 136 + "rev": "6cf638dde818f9f8a2e26d0243179c43cb3458d7", 137 + "type": "github" 138 + }, 139 + "original": { 140 + "owner": "AvengeMedia", 141 + "repo": "dgop", 142 + "type": "github" 143 + } 144 + }, 145 + "dms-cli": { 146 + "inputs": { 147 + "nixpkgs": [ 148 + "spoon", 149 + "dankMaterialShell", 150 + "nixpkgs" 151 + ] 152 + }, 153 + "locked": { 154 + "lastModified": 1762491516, 155 + "narHash": "sha256-oGLH5Gje/p2Hc1kO3m8P5eAZ7JldBI30EmwzEET4cNU=", 156 + "owner": "AvengeMedia", 157 + "repo": "danklinux", 158 + "rev": "050cf28a2963a7698ed4759736fe5fe77eee7cc2", 159 + "type": "github" 160 + }, 161 + "original": { 162 + "owner": "AvengeMedia", 163 + "repo": "danklinux", 164 + "type": "github" 165 + } 166 + }, 100 167 "fenix": { 101 168 "inputs": { 102 169 "nixpkgs": [ ··· 128 195 "rust-analyzer-src": "rust-analyzer-src_2" 129 196 }, 130 197 "locked": { 131 - "lastModified": 1761460927, 132 - "narHash": "sha256-9BUyZfPBh3mh58fmpseqfMAB73PNm+iwl8UpjCbThk0=", 198 + "lastModified": 1762757174, 199 + "narHash": "sha256-i2CZAiJNQsC7Wwk8fUZHS130W8HHLbmYqgT6ErYp5Zw=", 133 200 "owner": "nix-community", 134 201 "repo": "fenix", 135 - "rev": "0f19d25425626ea42bded065029f45ca5f526ca1", 202 + "rev": "9ada5aa8ebd5062c8c399ae59c3f77f266216a24", 136 203 "type": "github" 137 204 }, 138 205 "original": { ··· 503 570 "xwayland-satellite-unstable": "xwayland-satellite-unstable" 504 571 }, 505 572 "locked": { 506 - "lastModified": 1762857797, 507 - "narHash": "sha256-puoFJGlbL6khrQKozCO6Wgpq/IhA2Sfnz+ui/87lbQQ=", 573 + "lastModified": 1762938849, 574 + "narHash": "sha256-ltM04Wy+vMm/EAwhGTl2BYjCgF+Kq4lltpDH9NEh264=", 575 + "owner": "sodiboo", 576 + "repo": "niri-flake", 577 + "rev": "ea9b76cfa921d42a7502260b2d1296798089dfe6", 578 + "type": "github" 579 + }, 580 + "original": { 581 + "owner": "sodiboo", 582 + "repo": "niri-flake", 583 + "type": "github" 584 + } 585 + }, 586 + "niri-flake": { 587 + "inputs": { 588 + "niri-stable": "niri-stable_2", 589 + "niri-unstable": "niri-unstable_2", 590 + "nixpkgs": [ 591 + "spoon", 592 + "nixpkgs" 593 + ], 594 + "nixpkgs-stable": "nixpkgs-stable_2", 595 + "xwayland-satellite-stable": "xwayland-satellite-stable_2", 596 + "xwayland-satellite-unstable": "xwayland-satellite-unstable_2" 597 + }, 598 + "locked": { 599 + "lastModified": 1762810134, 600 + "narHash": "sha256-eu8Gkb/y/5pRS3Ml/sg3oeUtFFzlJMpDrJRgPgOXz38=", 508 601 "owner": "sodiboo", 509 602 "repo": "niri-flake", 510 - "rev": "2ff3443b4226f6721a43b75e76b6ca59caa34fec", 603 + "rev": "44c5a2c19b7b22d1b2375ef95f656291a0af3a1b", 511 604 "type": "github" 512 605 }, 513 606 "original": { ··· 533 626 "type": "github" 534 627 } 535 628 }, 629 + "niri-stable_2": { 630 + "flake": false, 631 + "locked": { 632 + "lastModified": 1756556321, 633 + "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", 634 + "owner": "YaLTeR", 635 + "repo": "niri", 636 + "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", 637 + "type": "github" 638 + }, 639 + "original": { 640 + "owner": "YaLTeR", 641 + "ref": "v25.08", 642 + "repo": "niri", 643 + "type": "github" 644 + } 645 + }, 536 646 "niri-unstable": { 537 647 "flake": false, 538 648 "locked": { 539 - "lastModified": 1762854265, 540 - "narHash": "sha256-iykTzCzU8hI7b8LvAquYY4Asl2xj3AcLzWZv6rm8MGY=", 649 + "lastModified": 1762881062, 650 + "narHash": "sha256-j0Gxopn4jGYQae/90V2v4u4+Ec+gFLq3UbSaGfczpOM=", 651 + "owner": "YaLTeR", 652 + "repo": "niri", 653 + "rev": "5b77107161c504376b962107913bf74b575703e7", 654 + "type": "github" 655 + }, 656 + "original": { 657 + "owner": "YaLTeR", 658 + "repo": "niri", 659 + "type": "github" 660 + } 661 + }, 662 + "niri-unstable_2": { 663 + "flake": false, 664 + "locked": { 665 + "lastModified": 1762804232, 666 + "narHash": "sha256-LCddK36/6u73jed1yuqbu6JKWIITsc42qoM883DgwJg=", 541 667 "owner": "YaLTeR", 542 668 "repo": "niri", 543 - "rev": "fb2f67c8a036f674e9101e15a7bb1cf61524ebde", 669 + "rev": "978c4e6c8afc0199e2cbd9037bdc7c41fbbab2a3", 544 670 "type": "github" 545 671 }, 546 672 "original": { ··· 586 712 }, 587 713 "nixpkgs": { 588 714 "locked": { 589 - "lastModified": 1762596750, 590 - "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=", 715 + "lastModified": 1762844143, 716 + "narHash": "sha256-SlybxLZ1/e4T2lb1czEtWVzDCVSTvk9WLwGhmxFmBxI=", 591 717 "owner": "NixOS", 592 718 "repo": "nixpkgs", 593 - "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e", 719 + "rev": "9da7f1cf7f8a6e2a7cb3001b048546c92a8258b4", 594 720 "type": "github" 595 721 }, 596 722 "original": { ··· 616 742 "type": "github" 617 743 } 618 744 }, 745 + "nixpkgs-stable_2": { 746 + "locked": { 747 + "lastModified": 1762756533, 748 + "narHash": "sha256-HiRDeUOD1VLklHeOmaKDzf+8Hb7vSWPVFcWwaTrpm+U=", 749 + "owner": "NixOS", 750 + "repo": "nixpkgs", 751 + "rev": "c2448301fb856e351aab33e64c33a3fc8bcf637d", 752 + "type": "github" 753 + }, 754 + "original": { 755 + "owner": "NixOS", 756 + "ref": "nixos-25.05", 757 + "repo": "nixpkgs", 758 + "type": "github" 759 + } 760 + }, 619 761 "nixvim": { 620 762 "inputs": { 621 763 "flake-parts": "flake-parts_2", ··· 626 768 "systems": "systems_2" 627 769 }, 628 770 "locked": { 629 - "lastModified": 1762865386, 630 - "narHash": "sha256-2hkqfvY2wH+78M85X/ZApyZURnFc926b2mAHiyHcGDE=", 771 + "lastModified": 1762904125, 772 + "narHash": "sha256-+T9oUulnXOQmy37GGOivHSvEyViA4gQ41mFZEPEDuOA=", 631 773 "owner": "nix-community", 632 774 "repo": "nixvim", 633 - "rev": "9e556e752505263eef8c0d0f982e2ab9029cc512", 775 + "rev": "84902b354fd0f122c40880b90dc8ac89d4d0daea", 634 776 "type": "github" 635 777 }, 636 778 "original": { ··· 799 941 "rust-analyzer-src_2": { 800 942 "flake": false, 801 943 "locked": { 802 - "lastModified": 1761412493, 803 - "narHash": "sha256-Ig2yUk5ek3vSFR+m+rtmg0kJyRLPYol55QgsYsoSGI4=", 944 + "lastModified": 1762722525, 945 + "narHash": "sha256-cM1u88yehAW7S4Y4t7+fDHwmtXSOZUh24ELmAtYH37c=", 804 946 "owner": "rust-lang", 805 947 "repo": "rust-analyzer", 806 - "rev": "daf1cd953fe878226e3a5b0356468f5a61995bf0", 948 + "rev": "21f8445ea523e83cd4f11b0a67a3a5ced2b1f56f", 807 949 "type": "github" 808 950 }, 809 951 "original": { ··· 836 978 }, 837 979 "spoon": { 838 980 "inputs": { 981 + "dankMaterialShell": "dankMaterialShell", 839 982 "deploy-rs": "deploy-rs", 840 983 "fenix": "fenix_2", 841 984 "flakelight": [ ··· 847 990 "impermanence": [ 848 991 "imperm" 849 992 ], 993 + "niri-flake": "niri-flake", 850 994 "nixpkgs": [ 851 995 "nixpkgs" 852 996 ] 853 997 }, 854 998 "locked": { 855 - "lastModified": 1762836691, 856 - "narHash": "sha256-4g00XF3VcjC2WkX+DQHhsL6Sv7OHK3PzzGOjh2m1uPo=", 999 + "lastModified": 1762901396, 1000 + "narHash": "sha256-Vq6TAdLR5Owo1N/6HGI01BUplqdGD6IzL44WFMZG4Pw=", 857 1001 "ref": "refs/heads/main", 858 - "rev": "06976dab800f19002798fe5be33733cb5a0ca835", 859 - "revCount": 294, 1002 + "rev": "ed08c933f9d2e121ae737378526b03722ecddc37", 1003 + "revCount": 299, 860 1004 "type": "git", 861 1005 "url": "https://codeberg.org/spoonbaker/mono" 862 1006 }, ··· 991 1135 "type": "github" 992 1136 } 993 1137 }, 1138 + "xwayland-satellite-stable_2": { 1139 + "flake": false, 1140 + "locked": { 1141 + "lastModified": 1755491097, 1142 + "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", 1143 + "owner": "Supreeeme", 1144 + "repo": "xwayland-satellite", 1145 + "rev": "388d291e82ffbc73be18169d39470f340707edaa", 1146 + "type": "github" 1147 + }, 1148 + "original": { 1149 + "owner": "Supreeeme", 1150 + "ref": "v0.7", 1151 + "repo": "xwayland-satellite", 1152 + "type": "github" 1153 + } 1154 + }, 994 1155 "xwayland-satellite-unstable": { 1156 + "flake": false, 1157 + "locked": { 1158 + "lastModified": 1762747449, 1159 + "narHash": "sha256-Z1TKiux8K09a93w4PFDFsj8HFugXNy3iCC3Z8MpR5Rk=", 1160 + "owner": "Supreeeme", 1161 + "repo": "xwayland-satellite", 1162 + "rev": "6338574bc5c036487486acde264f38f39ea15fad", 1163 + "type": "github" 1164 + }, 1165 + "original": { 1166 + "owner": "Supreeeme", 1167 + "repo": "xwayland-satellite", 1168 + "type": "github" 1169 + } 1170 + }, 1171 + "xwayland-satellite-unstable_2": { 995 1172 "flake": false, 996 1173 "locked": { 997 1174 "lastModified": 1762747449,
+5 -1
homeModules/gdi.nix
··· 136 136 move-column-to-workspace = n: { move-column-to-workspace = [ n ]; }; 137 137 terminal = pkgs.wezterm; 138 138 spawnTerm = spawnPkg terminal; 139 - spawnNu = spawnPkg pkgs.nushell; 140 139 spawnPlayerctl = spawnPkg pkgs.playerctl; 141 140 spawnRofi = spawn "rofi"; 142 141 spawnSh = spawn "sh" "-c"; ··· 210 209 allow-inhibiting = false; 211 210 }; 212 211 212 + "Mod+W".action = spawn "systemctl" "--user" "restart" "waybar.service"; 213 + "Mod+Shift+W".action = spawn "systemctl" "--user" "stop" "waybar.service"; 214 + 215 + "Mod+Shift+R".action = 216 + spawnSh "pkill wf-recorder --signal SIGINT ||${pkgs.nushell}/bin/nu ${../res/screenrec.nu}"; 213 217 "Mod+Shift+S".action = { 214 218 screenshot = [ ]; 215 219 };
-4
homeModules/waybar.nix
··· 17 17 }; 18 18 in 19 19 lib.mkIf config.cow.waybar.enable { 20 - wayland.windowManager.hyprland.settings.bind = [ 21 - "SUPER,W,exec,systemctl restart --user waybar" 22 - "SUPER SHIFT,W,exec,systemctl stop --user waybar" 23 - ]; 24 20 programs.waybar = { 25 21 enable = true; 26 22 systemd.enable = true;
+1 -5
res/screenrec.nu
··· 10 10 11 11 let out_name = date now | format date $"($captures_folder)/($date_format).mp4" 12 12 13 - let workspaces = hyprctl monitors -j | from json | get activeWorkspace.id 14 - let windows = hyprctl clients -j | from json | where workspace.id in $workspaces 15 - let geom = $windows | each { |w| $"($w.at.0),($w.at.1) ($w.size.0)x($w.size.1)" } | str join "\n" 16 - 17 - let stat = do { echo $geom | slurp -d } | complete 13 + let stat = do { slurp -d } | complete 18 14 19 15 if $stat.exit_code == 1 { 20 16 echo "No selection made"