{ pkgs, ... }: { services = { yabai = { enable = true; config = { external_bar = "main:40:0"; menubar_opacity = 1.0; mouse_follows_focus = "on"; focus_follows_mouse = "on"; display_arrangement_order = "default"; window_origin_display = "default"; window_placement = "second_child"; window_insertion_point = "focused"; window_zoom_persist = "on"; window_shadow = "off"; window_animation_duration = 0.0; window_animation_easing = "ease_out_circ"; window_opacity_duration = 0.0; active_window_opacity = 1.0; normal_window_opacity = 0.9; window_opacity = "off"; insert_feedback_color = "0xffd75f5f"; split_ratio = 0.5; split_type = "auto"; auto_balance = "off"; top_padding = 2; bottom_padding = 2; left_padding = 2; right_padding = 2; window_gap = 2; layout = "bsp"; mouse_modifier = "fn"; mouse_action1 = "move"; mouse_action2 = "resize"; mouse_drop_action = "swap"; }; }; skhd = { enable = true; skhdConfig = '' # Application Bindings cmd - q : open -a kitty cmd - e : ${pkgs.kitty}/bin/kitty yazi cmd - o : open -a "Obsidian" cmd - i : open -a "Floorp" cmd - g : open -a "Mail" # Window Management (using yabai if installed, otherwise basic macOS) cmd + shift - c : yabai -m window --close || osascript -e 'tell application "System Events" to keystroke "w" using command down' cmd + shift - v : yabai -m window --toggle float # Focus windows (vim-like) cmd - left : yabai -m window --focus west cmd - right : yabai -m window --focus east cmd - up : yabai -m window --focus north cmd - down : yabai -m window --focus south # Move windows to spaces (workspaces) cmd + shift - 1 : yabai -m window --space 1 cmd + shift - 2 : yabai -m window --space 2 cmd + shift - 3 : yabai -m window --space 3 cmd + shift - 4 : yabai -m window --space 4 cmd + shift - 5 : yabai -m window --space 5 cmd + shift - 6 : yabai -m window --space 6 cmd + shift - 7 : yabai -m window --space 7 cmd + shift - 8 : yabai -m window --space 8 cmd + shift - 9 : yabai -m window --space 9 cmd + shift - 0 : yabai -m window --space 10 # Switch to spaces (workspaces) cmd - 1 : yabai -m space --focus 1 cmd - 2 : yabai -m space --focus 2 cmd - 3 : yabai -m space --focus 3 cmd - 4 : yabai -m space --focus 4 cmd - 5 : yabai -m space --focus 5 cmd - 6 : yabai -m space --focus 6 cmd - 7 : yabai -m space --focus 7 cmd - 8 : yabai -m space --focus 8 cmd - 9 : yabai -m space --focus 9 cmd - 0 : yabai -m space --focus 10 # Screenshot (macOS native) cmd - z : screencapture -i ~/Pictures/Screenshots/$(date +%s).png cmd - u : screencapture ~/Pictures/Screenshots/$(date +%s).png # Launcher (using Raycast or Spotlight as Rofi alternative) cmd - r : open -a "Raycast" || osascript -e 'tell application "System Events" to keystroke space using command down' # Lock screen cmd - m : pmset displaysleepnow # Toggle layout (if using yabai) cmd - j : yabai -m space --layout $(yabai -m query --spaces --space | jq -r 'if .type == "bsp" then "float" else "bsp" end') cmd - p : yabai -m window --toggle split # Reload skhd config cmd + shift - r : skhd --reload ''; }; }; }