Files
nix-config/darwin/yabari.nix
2025-09-27 16:18:13 +02:00

71 lines
2.1 KiB
Nix

{ ... }:
{
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="~"
'';
};
}