{ ... }: { services.yabai = { enable = true; enableScriptingAddition = true; config = { focus_follows_mouse = "autoraise"; mouse_follows_focus = "on"; window_placement = "second_child"; window_opacity = "off"; window_opacity_duration = "0.0"; active_window_opacity = "1.0"; normal_window_opacity = "1.0"; split_ratio = "0.50"; auto_balance = "off"; mouse_modifier = "fn"; mouse_action1 = "move"; mouse_action2 = "resize"; layout = "bsp"; top_padding = 5; bottom_padding = 5; left_padding = 5; right_padding = 5; window_gap = 5; }; extraConfig = '' yabai -m space 1 --label main yabai -m space 2 --label browser yabai -m space 3 --label terminal ''; }; services.skhd = { enable = true; skhdConfig = '' # Focus workspace 1-9 with alt + number alt - 1 : yabai -m space --focus main alt - 2 : yabai -m space --focus browser alt - 3 : yabai -m space --focus terminal alt - 4 : yabai -m space --focus 4 alt - 5 : yabai -m space --focus 5 alt - 6 : yabai -m space --focus 6 alt - 7 : yabai -m space --focus 7 alt - 8 : yabai -m space --focus 8 alt - 9 : yabai -m space --focus 9 # Move focused window to workspace 1-9 with alt + shift + number alt + shift - 1 : yabai -m window --space 1 alt + shift - 2 : yabai -m window --space 2 alt + shift - 3 : yabai -m window --space 3 alt + shift - 4 : yabai -m window --space 4 alt + shift - 5 : yabai -m window --space 5 alt + shift - 6 : yabai -m window --space 6 alt + shift - 7 : yabai -m window --space 7 alt + shift - 8 : yabai -m window --space 8 alt + shift - 9 : yabai -m window --space 9 # Focus windows alt + arrow keys alt - left : yabai -m window --focus west alt - right : yabai -m window --focus east # Close focused window with alt + c alt - c : yabai -m window --close # App Shortcuts ctrl - q : open -a kitty --args --directory="~" ''; }; }