From 5c35fda9718df689d162be6d94d4a91b979f5291 Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Mon, 5 Aug 2024 18:46:25 -0700 Subject: [PATCH] feat: add skhd keybinds for yabai --- modules/darwin/skhd.nix | 69 ++++++++++++++++++++++++++++++++++++++++ modules/darwin/yabai.nix | 1 - 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 modules/darwin/skhd.nix diff --git a/modules/darwin/skhd.nix b/modules/darwin/skhd.nix new file mode 100644 index 0000000..0b41257 --- /dev/null +++ b/modules/darwin/skhd.nix @@ -0,0 +1,69 @@ +{ + services.skhd = { + enable = true; + config = '' + # opens iTerm2 + alt - return : kitty + + # Navigation + alt - y : yabai -m window --focus west + alt - u : yabai -m window --focus south + alt - i : yabai -m window --focus north + alt - o : yabai -m window --focus east + + # Moving windows + shift + alt - y : yabai -m window --warp west + shift + alt - u : yabai -m window --warp south + shift + alt - i : yabai -m window --warp north + shift + alt - o : yabai -m window --warp east + + # Move focus container to workspace + shift + alt - m : yabai -m window --space last; yabai -m space --focus last + shift + alt - p : yabai -m window --space prev; yabai -m space --focus prev + shift + alt - n : yabai -m window --space next; yabai -m space --focus next + shift + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1 + shift + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2 + shift + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3 + shift + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4 + + # Resize windows + lctrl + alt - y : yabai -m window --resize left:-50:0; \ + yabai -m window --resize right:-50:0 + lctrl + alt - u : yabai -m window --resize bottom:0:50; \ + yabai -m window --resize top:0:50 + lctrl + alt - i : yabai -m window --resize top:0:-50; \ + yabai -m window --resize bottom:0:-50 + lctrl + alt - o : yabai -m window --resize right:50:0; \ + yabai -m window --resize left:50:0 + + # Equalize size of windows + lctrl + alt - e : yabai -m space --balance + + # Enable / Disable gaps in current workspace + lctrl + alt - g : yabai -m space --toggle padding; yabai -m space --toggle gap + + # Rotate windows clockwise and anticlockwise + alt - r : yabai -m space --rotate 270 + shift + alt - r : yabai -m space --rotate 90 + + # Rotate on X and Y Axis + shift + alt - x : yabai -m space --mirror x-axis + shift + alt - y : yabai -m space --mirror y-axis + + # Set insertion point for focused container + shift + lctrl + alt - h : yabai -m window --insert west + shift + lctrl + alt - j : yabai -m window --insert south + shift + lctrl + alt - k : yabai -m window --insert north + shift + lctrl + alt - l : yabai -m window --insert east + + # Float / Unfloat window + shift + alt - space : \ + yabai -m window --toggle float; \ + yabai -m window --toggle border + + # Make window native fullscreen + alt - f : yabai -m window --toggle zoom-fullscreen + shift + alt - f : yabai -m window --toggle native-fullscreen + ''; + }; +} diff --git a/modules/darwin/yabai.nix b/modules/darwin/yabai.nix index ec5df38..81a6627 100644 --- a/modules/darwin/yabai.nix +++ b/modules/darwin/yabai.nix @@ -21,7 +21,6 @@ mouse_drop_action = "swap"; }; }; - services.skhd = { enable = true; }; services.jankyborders = { enable = true; hidpi = true;