diff --git a/flake.nix b/flake.nix index 902a5a3..a8b0626 100755 --- a/flake.nix +++ b/flake.nix @@ -127,6 +127,7 @@ nix-homebrew.darwinModules.nix-homebrew ./modules/darwin/homebrew.nix ./modules/darwin/yabai.nix + ./modules/darwin/skhd.nix ]; }; }; diff --git a/modules/darwin/skhd.nix b/modules/darwin/skhd.nix new file mode 100644 index 0000000..465f2de --- /dev/null +++ b/modules/darwin/skhd.nix @@ -0,0 +1,69 @@ +{ + services.skhd = { + enable = true; + skhdConfig = '' + # 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 dae736f..d4dcbaf 100755 --- a/modules/darwin/yabai.nix +++ b/modules/darwin/yabai.nix @@ -21,10 +21,11 @@ mouse_drop_action = "swap"; }; }; - services.skhd = { enable = true; }; services.jankyborders = { enable = true; hidpi = true; + inactive_color = "gradient(top_right=0x9992B3F5,bottom_left=0x9992B3F5)"; + blur_radius = 5.0; }; } diff --git a/users/youwen/darwin/darwin-home.nix b/users/youwen/darwin/darwin-home.nix index e5dd989..d364e04 100755 --- a/users/youwen/darwin/darwin-home.nix +++ b/users/youwen/darwin/darwin-home.nix @@ -53,6 +53,22 @@ programs.bash.enable = true; programs.zsh.enable = true; + programs.kitty = { + enable = true; + theme = "Tokyo Night"; + font.name = "CaskaydiaCove Nerd Font"; + settings = { + font_size = 13; + window_padding_width = "8 8 0"; + confirm_os_window_close = -1; + shell_integration = "enabled"; + enable_audio_bell = "no"; + background_opacity = "0.8"; + hide_window_decorations = "titlebar-only"; + background_blur = 32; + }; + }; + # This value determines the home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new home Manager release introduces backwards