diff --git a/home-manager/wayland/hyprland.nix b/home-manager/wayland/hyprland.nix index 80c91d9..c98db15 100644 --- a/home-manager/wayland/hyprland.nix +++ b/home-manager/wayland/hyprland.nix @@ -129,33 +129,18 @@ in { "$mod, E, hy3:changegroup, opposite" "$mod, A, hy3:changefocus, raise" - # Workspaces - "$mod, 1, workspace, 1" - "$mod, 2, workspace, 2" - "$mod, 3, workspace, 3" - "$mod, 4, workspace, 4" - "$mod, 5, workspace, 5" - "$mod, 6, workspace, 6" - "$mod, 7, workspace, 7" - "$mod, 8, workspace, 8" - "$mod, 9, workspace, 9" - "$mod, 0, workspace, 10" - - # Workspace Movement - "$mod Shift, 1, hy3:movetoworkspace, 1" - "$mod Shift, 2, hy3:movetoworkspace, 2" - "$mod Shift, 3, hy3:movetoworkspace, 3" - "$mod Shift, 4, hy3:movetoworkspace, 4" - "$mod Shift, 5, hy3:movetoworkspace, 5" - "$mod Shift, 6, hy3:movetoworkspace, 6" - "$mod Shift, 7, hy3:movetoworkspace, 7" - "$mod Shift, 8, hy3:movetoworkspace, 8" - "$mod Shift, 9, hy3:movetoworkspace, 9" - "$mod Shift, 0, hy3:movetoworkspace, 10" - # Screenshot "$mod, P, exec, ${scripts}/screenshot-save" - ]; + ] ++ + # Workspace manipulation + builtins.concatMap (n: + let + wsp = builtins.toString n; + key = if n == 10 then "0" else wsp; + in [ + "$mod, ${key}, workspace, ${wsp}" + "$mod Shift, ${key}, hy3:movetoworkspace, ${wsp}" + ]) (lib.range 1 10); bindn = [ ", mouse:272, hy3:focustab, mouse"