My dotfiles
The following is my dotfiles configuration on my 2021 MacBook Pro 14 inch. It also includes Dynamic Island plugin I made for SketchyBar. Overall my desktop is themed using Catppuccin or Gruvbox Material. These two themes can be toggled by replacing catppuccin config with gruvbox config. I'm fan of vim bindings, so I'm using HJKL keys to navigate between windows (see (SKHD)[#skhd]), etc.
If you plan on using my dotfiles, I highly suggest you to fork the repository. As this is my personal dotfiles, some changes I make might be drastic.
Yabai Neovim SKHD Sketchybar Karabiner Alacritty Credits
Yabai is a tiling window manager. I find it difficult to navigate between windows on Mac, especially because it doensn't have advanced window snapping built-in. By using a tiling window manager, I can control all of my windows just by using a keyboard in combination with SKHD.
Some of the apps are ignored by Yabai's tiling window manager system, as they were causing trouble when used with Yabai. E.g. Unity.
I use Yabai with SIP enabled.
I have dual monitor configuration with following workspace setup (mostly for game development):
1 - Mail
2 - Browser
3 - Music
4 - Discord
z - Terminal
a - Unity
s - Neovim for Unity scripting
d - Everything else / Browser
f - Everything else
I primarily use neovim as my code editor and IDE. My neovim configuration supports following languages:
- Java
- C# (works with Unity)
- Lua
See nvim/lua/user/keymap.lua
for all keymaps.
The following are configured key bindings I have configured:
the key hyper
is capslock key. See (Karabiner)[#karabiner]
hyper - u
- Start yabai
hyper - y
- Start yabai
hyper - shift - h/j/k/l
- Focus window
hyper - control - h/j/k/l
- Resize window
hyper - alt - h/j/k/l
- Move window in current monitor
hyper - alt - n
- Move window to left monitor
hyper - alt - m
- Move window to right monitor
hyper - r
- Rotate windows by 90 degrees
hyper - w
- Flip window positions vertically
hyper - g
- Toggle floating window
hyper - o
- Fill screen with floating window
hyper - return
- Fill screen with non-floating window
hyper - z/a/s/d/f/1/2/3/4
- Focus desktop
hyper - alt - z/a/s/d/f/1/2/3/4
- Move current window to another desktop
hyper - left/right/up/down (arrow keys)
- Window stacking
hyper - tab
- Next stacked window
hyper - shift - tab
- Previous stacked window
hyper - t
- Open new OS terminal window (kitty)
hyper - e
- Open finder
hyper - q
- killall Dock <-- this is sometimes needed, because after a while switching space animation becomes odd for some reason.
coming soon
Required for SKHD setup. Tab + Q (simultaeneously) acts as a Hyper
key when it's being pressed with another key.
The only noticeable karabiner modification is Hyper + HJKL
(Tab + Q + HJKL), which act as arrow keys.
Alacritty is my weapon of choice. Nothing much has been configured to Alacritty, apart from catppuccin theme and disabling the window decorations.
Part of my SKHD configuration and Yabai configuration (and their custom scripts) are from Jesse Skelton
.zshrc config by Luke Smith
The majority of the sketchybar config is from Felix Kratz