{ config, pkgs, lib, ... }: { services.skhd = { enable = true; skhdConfig = '' shift + alt - 1: yabai -m window --space 1 shift + alt - 2: yabai -m window --space 2 shift + alt - 3: yabai -m window --space 3 shift + alt - 4: yabai -m window --space 4 shift + alt - 5: yabai -m window --space 5 shift + alt - 6: yabai -m window --space 6 shift + alt - 7: yabai -m window --space 7 shift + alt - 8: yabai -m window --space 8 shift + alt - 9: yabai -m window --space 9 shift + alt - 0: yabai -m window --space 10 # focus window alt - h : yabai -m window --focus west alt - j : yabai -m window --focus south alt - k : yabai -m window --focus north alt - l : yabai -m window --focus east # move window shift + alt - h : yabai -m window --warp west shift + alt - j : yabai -m window --warp south shift + alt - k : yabai -m window --warp north shift + alt - l : yabai -m window --warp east # Float / Unfloat window alt - space : \ yabai -m window --toggle float; \ yabai -m window --toggle border # cmd - d : yabai -m space --layout $(yabai -m query --spaces --space | jq -r 'if .type == "bsp" then "stack" else "bsp" end') cmd - return: open -a Kitty -n # Linux-style word navigation and deletion ctrl - backspace [ @native_apps ~ # Terminal apps handle natively * | alt - backspace # Other apps: delete word ] ctrl - left [ @native_apps ~ # Terminal apps handle natively * | alt - left # Other apps: move word left ] ctrl - right [ @native_apps ~ # Terminal apps handle natively * | alt - right # Other apps: move word right ] # Home/End key behavior (with shift for selection) home [ @native_apps ~ # Terminal apps handle natively * | cmd - left # Other apps: line start ] shift - home [ @native_apps ~ # Terminal apps handle natively * | cmd + shift - left # Other apps: select to line start ] # Ctrl+Home/End for document navigation ctrl - home [ @native_apps ~ # Terminal apps handle natively * | cmd - up # Other apps: document start ] ctrl - end [ @native_apps ~ # Terminal apps handle natively * | cmd - down # Other apps: document end ] ''; }; }