mirror of
https://github.com/Ahwxorg/nixos-config.git
synced 2026-02-22 21:05:14 +08:00
81 lines
2.5 KiB
Nix
81 lines
2.5 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
{
|
|
services.yabai = {
|
|
enable = true;
|
|
enableScriptingAddition = true;
|
|
config = {
|
|
# external_bar = "all:0:0";
|
|
layout = "bsp";
|
|
auto_balance = "on";
|
|
window_placement = "second_child";
|
|
window_opacity = "off";
|
|
window_border = "on";
|
|
window_border_placement = "inset";
|
|
window_border_width = 8;
|
|
window_border_radius = 3;
|
|
window_shadow = "float";
|
|
active_window_opacity = "1.0";
|
|
normal_window_opacity = "0.7";
|
|
|
|
mouse_modifier = "alt";
|
|
# set modifier + right-click drag to resize window (default: resize)
|
|
mouse_action2 = "resize";
|
|
# set modifier + left-click drag to resize window (default: move)
|
|
mouse_action1 = "move";
|
|
|
|
mouse_follows_focus = "on";
|
|
focus_follows_mouse = "autofocus";
|
|
mouse_drop_action = "swap";
|
|
|
|
# gaps
|
|
top_padding = 12;
|
|
bottom_padding = 12;
|
|
left_padding = 12;
|
|
right_padding = 12;
|
|
window_gap = 16;
|
|
};
|
|
|
|
extraConfig = ''
|
|
# workspace management
|
|
yabai -m space 1 --label web
|
|
yabai -m space 2 --label terminal
|
|
yabai -m space 6 --label config
|
|
yabai -m space 7 --label notes
|
|
yabai -m space 8 --label chat
|
|
yabai -m space 9 --label music
|
|
yabai -m space 10 --label mail
|
|
|
|
yabai -m rule --add app="Element" space=chat
|
|
yabai -m rule --add app="Signal" space=chat
|
|
yabai -m rule --add app="Spotify" space=music
|
|
yabai -m rule --add app="Calendar" space=mail
|
|
yabai -m rule --add app="Mail" space=mail
|
|
|
|
yabai -m rule --add app='About This Mac' manage=off
|
|
yabai -m rule --add app='System Information' manage=off
|
|
yabai -m rule --add app='System Preferences' manage=off
|
|
yabai -m rule --add label="Select file to save to" app="^Gimp$" title="Select file to save to" manage=off
|
|
yabai -m rule --add app=".*" sub-layer=normal
|
|
yabai -m rule --add app="^System Settings$" manage=off
|
|
yabai -m rule --add app="^System Information$" manage=off
|
|
yabai -m rule --add app="^System Preferences$" manage=off
|
|
yabai -m rule --add title="Preferences$" manage=off
|
|
yabai -m rule --add title="Settings$" manage=off
|
|
yabai -m rule --add app="Finder$" manage=off
|
|
|
|
yabai -m signal --add event=dock_did_restart \
|
|
action="sudo yabai --load-sa"
|
|
sudo yabai --load-sa
|
|
|
|
yabai -m config external_bar all:34:0
|
|
exec ~/.config/borders/bordersrc &
|
|
spacebar &
|
|
'';
|
|
};
|
|
|
|
}
|