config/
├─ alacritty/ # GPU‑accelerated terminal (fast startup, ligatures off by default)
├─ fish/ # Shell functions, abbreviations, completions
├─ karabiner/ # Complex mods (Hyper, layer keys, ergonomic arrows)
├─ kitty/ # Kitty terminal theme + keymaps parity with Alacritty
├─ lf/ # File manager (image/video preview via kitty icat)
├─ nvim/ # Neovim — LSP, Treesitter, Telescope, cmp, custom JDTLS fmt
├─ obsidian/ # Vault‑friendly tweaks
├─ skhd/ # Hotkeys orchestrator for Yabai + app layers
├─ starship/ # Prompt tuned for signal‑over‑noise
├─ tmux/ # Session glue — zero flicker, sane italics, truecolor
├─ yabai/ # WM rules (stacks, float rules, borders, spaces)
└─ README.md
System | Development | Utilities |
---|---|---|
Tiling WM, zero-lag |
LSP, custom formatter |
Fast file previews |
Optimized hotkeys |
Session management |
Precise captures |
Advanced remaps |
Intuitive shell |
Clean status bar |
Vibrant terminal |
Custom prompt |
Dynamic links |
GPU terminal |
Git TUI |
Markdown preview |
macOS automation |
Notes & PKM |
Area | What you get | Folder |
---|---|---|
Shell | Fast fish startup, helpful abbreviations, zero noise | fish/ |
Editor | Neovim with LSP/cmp/TS, curated plugins | nvim/ |
Terminal | Alacritty & Kitty parity; ligatures optional | alacritty/ , kitty/ |
WM | Yabai rules, borders, gaps; Skhd layers | yabai/ , skhd/ |
Input | Karabiner Hyper + nav layers | karabiner/ |
Prompt | Starship minimal signal | starship/ |
Multiplexer | Tmux with smooth updates | tmux/ |
Legend: Hyper = ⌃⌥⇧⌘
· ⎵ = Space
· ⌥ = Option
· ⌘ = Command
Karabiner (layers)
Caps → Hyper (⌃⌥⇧⌘)
- (Optional, if you enable) Hyper layer for nav/stack ops via skhd.
skhd · Yabai (bindings)
Focus (move between windows)
⌥h / ⌥j / ⌥k / ⌥l → focus west / south / north / east
Swap (reorder in BSP/Stack)
Hyper h / j / k / l → swap west / south / north / east
Stack view (iterate inside a stack)
Hyper [ → focus stack.prev (or stack.last)
Hyper ] → focus stack.next (or stack.first)
Hyper k → focus stack.prev (or stack.last)
Hyper j → focus stack.next (or stack.first)
Insertion hints (where the next split will land)
⌥⇧h / ⌥⇧j / ⌥⇧k / ⌥⇧l → set insert west / south / north / east
Layout & transform
Hyper r → rotate space 90°
Hyper x → mirror X-axis
Hyper y → mirror Y-axis
Hyper e → toggle split type
Float / center / zoom / borders
Hyper t → toggle float, then center (grid 4x4:1:1:2:2)
Hyper z → toggle fullscreen zoom
Right ⌘ + b → toggle window border
Launchers & scripts (excerpt)
Right ⇧ + a → Alacritty
Right ⇧ + k → Kitty
Right ⇧ + v → Vivaldi
Right ⇧ + g → Chrome (new window)
Right ⇧ + f → Finder
Right ⇧ + d → Discord
Hyper b → toggle_blur.py (Alacritty script)
Yabai runtime defaults (from your yabai
config)
layout stack # default space layout (bsp|float|stack)
window_placement second_child
window_topmost on
auto_balance off
split_ratio 0.50
# MacBook padding
top/bottom/left/right_padding: 0 / 20 / 20 / 20
window_gap: 20
# manage=off rules: System Settings, Finder, Activity Monitor, Disk Utility, Calculator, Console,
# System Information, Font Book, Keychain Access, Screenshot, Migration Assistant, Audio MIDI Setup,
# ColorSync Utility, VoiceOver Utility, Bluetooth File Exchange, QuickTime Player, Simulator…
tmux (session glue)
- Terminal/truecolor:
default-terminal "tmux-256color"
·terminal-overrides ",xterm-256color:Tc"
- Quality of life:
base-index 1
·escape-time 0
·mouse on
·aggressive-resize on
·set-clipboard on
- Copy-mode (vi):
q
cancel ·y
→pbcopy
- Pane moves:
prefix + h/j/k/l
- Splits (rebound):
prefix + -
(horizontal) ·prefix + v
(vertical) - Windows:
prefix + t
new window (cwd) ·prefix + c
kill pane - Reload:
prefix + r
→source-file ~/.config/tmux/tmux.conf
- Extras:
prefix + e
captures pane into a temp Neovim buffer - Plugins: TPM, tmux-resurrect, tmux-continuum, vim-tmux-navigator (Prefix remains default unless you set it elsewhere.)
Neovim (leader ops)
- Leader:
<Space>
- Search:
<leader>ff
files ·<leader>fg
live grep - LSP:
gd
goto def ·gr
refs ·<leader>ca
code action ·<leader>rn
rename - Buffers/Windows:
<S-h>/<S-l>
prev/next ·<leader>bc
close ·<leader>bsv
v-split ·<leader>bsh
h-split ·<leader>bwc
close - Save/Quit:
<leader>w
save ·<leader>x
save+quit ·<leader>q
quit ·<leader>Q
quit all - Clipboard:
<leader>y
yank → system ·<leader>p
/P
paste ·<leader>d
delete (black-hole) - Terminal:
<leader>tt
toggle float ·<Esc>
closes (in terminal mode) - Paths:
gp
copy file path ·gP
reveal in Finder/Explorer - Java: JDTLS formatter profile included in
nvim
.
Use Hyper (Caps) as your single muscle-memory layer. Alt (
⌥
) focus keys remain as portable fallbacks.
Found something that could be even more beautiful or performant? I'm always looking to push the boundaries of what's possible with desktop environments.