80 lines
2.5 KiB
Nix
80 lines
2.5 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
|
# Enable yabai service
|
|
# Caution: at the very least yabai requires Accessibility permissions to be granted
|
|
# https://github.com/koekeishiya/yabai/issues/2688
|
|
services.yabai = {
|
|
enable = true;
|
|
config = {
|
|
layout = "bsp";
|
|
focus_follows_mouse = "autoraise";
|
|
|
|
window_placement = "second_child";
|
|
window_topmost = "on";
|
|
window_shadow = "float";
|
|
|
|
# by default, set balanced split ratio and auto balance => three windows will be evenly spaced on an ultrawide monitor
|
|
split_ratio = "0.50";
|
|
auto_balance = "on";
|
|
|
|
mouse_modifier = "alt";
|
|
mouse_action1 = "move";#
|
|
mouse_action2 = "resize";
|
|
|
|
window_opacity = "on";
|
|
normal_window_opacity = 0.9;
|
|
|
|
top_padding = 0;
|
|
bottom_padding = 0;
|
|
left_padding = 0;
|
|
right_padding = 0;
|
|
window_gap = 10;
|
|
};
|
|
|
|
extraConfig = ''
|
|
# Example: rules for floating windows
|
|
yabai -m rule --add app="System Preferences" manage=off
|
|
'';
|
|
};
|
|
|
|
# # Enable skhd service
|
|
# services.skhd = {
|
|
# enable = true;
|
|
# package = pkgs.skhd;
|
|
# skhdConfig = ''
|
|
# # Focus windows with Command + Arrow keys
|
|
# 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
|
|
|
|
# # Swap windows with Command + Shift + Arrow keys
|
|
# cmd + shift - left : yabai -m window --swap west
|
|
# cmd + shift - right : yabai -m window --swap east
|
|
# cmd + shift - up : yabai -m window --swap north
|
|
# cmd + shift - down : yabai -m window --swap south
|
|
|
|
# # Move windows with Command + Control + Arrow keys
|
|
# cmd + ctrl - left : yabai -m window --warp west
|
|
# cmd + ctrl - right : yabai -m window --warp east
|
|
# cmd + ctrl - up : yabai -m window --warp north
|
|
# cmd + ctrl - down : yabai -m window --warp south
|
|
|
|
# # Resize windows with Command + Option + Arrow keys
|
|
# cmd + alt - left : yabai -m window --resize left:-50:0
|
|
# cmd + alt - right : yabai -m window --resize right:50:0
|
|
# cmd + alt - up : yabai -m window --resize top:0:-50
|
|
# cmd + alt - down : yabai -m window --resize bottom:0:50
|
|
|
|
# # Toggle window float with Command + F
|
|
# cmd - f : yabai -m window --toggle float
|
|
|
|
# # Toggle window fullscreen with Command + Enter
|
|
# cmd - return : yabai -m window --toggle zoom-fullscreen
|
|
|
|
# '';
|
|
# };
|
|
|
|
}
|