Initial dotfiles setup with GNU stow

Centralize dotfiles from ~ into stow packages:
- zsh: .zshrc, .zshenv
- git: .gitconfig
- nvim: init.lua, lua/, plugin/, after/, lazy-lock.json
- tmux: tmux.conf, session-list.sh
- karabiner: karabiner.json
- ghostty: config.ghostty
- claude: CLAUDE.md, settings.json, settings.local.json, statusline.sh, 30 commands
This commit is contained in:
Harivansh Rathi 2026-02-14 14:45:58 -05:00
commit 44176e60f9
68 changed files with 6529 additions and 0 deletions

View file

@ -0,0 +1,86 @@
theme=Gruvbox Material Dark
font-family = "Berkeley Mono"
background-opacity = 1
# background-blur = macos-glass-regular
font-size=17
window-padding-y = 0
window-padding-x = 0
window-padding-color = extend
# settings
mouse-scroll-multiplier = 1
keybind = global:alt+space=toggle_visibility
keybind = shift+enter=text:\n
mouse-hide-while-typing = true
# macOS-specific settingss
macos-titlebar-style = hidden
macos-option-as-alt = true
# window controls
confirm-close-surface = true
window-title-font-family = VictorMono NFM Italic
window-padding-balance = true
window-save-state = always
# extras
shell-integration-features = true
copy-on-select = clipboard
focus-follows-mouse = true
link-url = true
# Vim-mode keybindings for Ghostty.
#
# Note: We're missing a number of actions to produce a better vim experience.
# This is what is possible today! But we plan on adding more actions to make
# this even better in the future.
# Entry point
keybind = alt+v=activate_key_table:vim
# Key table definition
keybind = vim/
# Line movement
keybind = vim/j=scroll_page_lines:1
keybind = vim/k=scroll_page_lines:-1
# Page movement
keybind = vim/ctrl+d=scroll_page_down
keybind = vim/ctrl+u=scroll_page_up
keybind = vim/ctrl+f=scroll_page_down
keybind = vim/ctrl+b=scroll_page_up
keybind = vim/shift+j=scroll_page_down
keybind = vim/shift+k=scroll_page_up
# Jump to top/bottom
keybind = vim/g>g=scroll_to_top
keybind = vim/shift+g=scroll_to_bottom
# Search (if you want vim-style search entry)
keybind = vim/slash=start_search
keybind = vim/n=navigate_search:next
# Copy mode / selection
# Note we're missing a lot of actions here to make this more full featured.
keybind = vim/v=copy_to_clipboard
keybind = vim/y=copy_to_clipboard
# Command Palette
keybind = vim/shift+semicolon=toggle_command_palette
# Exit
keybind = vim/escape=deactivate_key_table
keybind = vim/q=deactivate_key_table
keybind = vim/i=deactivate_key_table
# Catch unbound keys
keybind = vim/catch_all=ignore