▄▄ ▄▄▄▄ ██ ▄▄▄▄
██ ██ ██▀▀▀ ▀▀ ▀▀██
▄███▄██ ▄████▄ ███████ ███████ ████ ██ ▄████▄ ▄▄█████▄
██▀ ▀██ ██▀ ▀██ ██ ██ ██ ██ ██▄▄▄▄██ ██▄▄▄▄ ▀
██ ██ ██ ██ ██ ██ ██ ██ ██▀▀▀▀▀▀ ▀▀▀▀██▄
▀██▄▄███ ▀██▄▄██▀ ██▄▄▄ ██ ▄▄▄██▄▄▄ ██▄▄▄ ▀██▄▄▄▄█ █▄▄▄▄▄██
▀▀▀ ▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀ ▀▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀▀
Welcome to my dotfile repo! More documentation to come.
The dotfiles pertaining to the keyboard driven desktop environment have moved locations! Read more about that on my website here. Going forward, this repo will contain dotfiles agnostic of any specific desktop environment.
These dotfiles provide a reproducible, cross-platform development environment that can be set up on any new machine in minutes. Whether you're switching between macOS and Linux, setting up a new work laptop, or just want a solid foundation for your terminal workflow, these configurations give you:
- Reproducibility: Identical setup across all your machines
- Automation: One command to install and configure everything
- Flexibility: Machine profiles for different contexts (personal, work, etc.)
- Power: Keyboard-driven workflow with tmux, vim, and modern shell tools
- Speed: Optimized for fast shell startup and efficient terminal navigation
Key technologies:
- Chezmoi dotfile manager
- Ansible to automate setup
- Hammerspoon on mac for desktop automation
- VsCode with vim keybinds is my main editor, I no longer use emacs.
- Neovim is my terminal editor
- lazy.nvim for vim plugin management
- tmux for terminal multiplexing
- tmux-tea for tmux session management
- ZSH for my shell
- Zplug for ZSH plugins
- Initial Setup - New machine setup and configuration
- Usage - Common commands and daily usage
- Claude Code Configuration - Managing Claude Code global configuration
- Tmux Session Management - How tmux, tmuxinator, sesh, and fzf work together to provide powerful session management and layouts
- Performance Testing - Benchmarking shell startup time