Personal configuration files for git, tig, tmux, vim, zsh, and ghostty.
- Powerlevel10k - Fast, customizable prompt with git status and context info
- Requires a Nerd Font for icons
- Instant prompt for zero-lag experience
- oh-my-zsh with curated plugins (git, colored-man-pages, python)
- zsh-claude-code-shell - Translate natural language to shell commands (
#?) or get explanations (#??) via Claude Code - fzf - Fuzzy finder for command history, files, and directories
- Integrated with fd for faster file searching
- Smart previews using bat (files) and eza (directories)
- fd - Fast file finder (replaces
find) - bat - Syntax-highlighted file viewer (replaces
cat) - eza - Modern ls replacement with icons and git integration
- zsh-autosuggestions - Command suggestions based on history
- zsh-syntax-highlighting - Real-time syntax highlighting
- Cross-platform support (macOS and Linux)
- Optimized for performance (lazy loading patterns for less often used tools like gcloud)
- Prefix:
Ctrl+A(instead of default Ctrl+B) - Vi-mode navigation and copy mode
- Ergonomic keybindings:
h/j/k/l- Navigate panesCtrl+h/j/k/l- Resize panes (keep Ctrl pressed after prefix)v- Vertical splits- Horizontal split
- True color support
- New windows/panes open in current directory
- tig - ncurses git browser, main view trimmed to match
git xl(hash + graph + refs + subject). Toggle date/author withD/A.
- delta - Syntax-highlighted diffs with side-by-side view
- Helpful aliases:
xl/xlc- Pretty graph log (all branches / current branch only)xls-xlwith a header showing staged/unstaged/untracked countsst,co,sw/swc,br,ci/cm/cam- Common shortcutsamend(no-edit) /reword(edit message only)undo/uncommit- Soft reset HEAD by onepushf-push --force-with-lease
- Better diff algorithm (histogram),
zdiff3conflict style,colorMoved=zebra - Auto-prune on fetch
- Rebase by default on pull, with
autoStashandupdateRefsfor stacked branches - Rerere enabled for conflict resolution
push.autoSetupRemotesogit pushJust Works on new branches
-
Install oh-my-zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" -
Install dependencies (macOS):
brew install stow fzf fd bat eza git-delta tig zsh-autosuggestions zsh-syntax-highlighting powerlevel10k font-meslo-lg-nerd-font
On Linux (warning - yet untested):
# Debian/Ubuntu sudo apt install stow fzf fd-find bat git-delta # Install eza (not in default repos) # See: https://github.com/eza-community/eza/blob/main/INSTALL.md # Install zsh plugins git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting # Install Powerlevel10k git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k # Install MesloLGS Nerd Font # Download from: https://github.com/romkatv/powerlevel10k#fonts # Or install via your distro's package manager if available
Note: On some Linux distributions, tools have different names:
batis installed asbatcatfdis installed asfd-find
Create symlinks if needed:
mkdir -p ~/.local/bin ln -s /usr/bin/batcat ~/.local/bin/bat ln -s /usr/bin/fdfind ~/.local/bin/fd
-
Clone this repository:
git clone https://github.com/leochatain/dotfiles.git ~/.dotfiles cd ~/.dotfiles
-
Backup existing configs and create symlinks:
# Stow individual packages stow git tig tmux vim zsh # Or stow everything stow */
-
(Optional) Ghostty terminal emulator (macOS instructions):
Ghostty is a modern, GPU-accelerated terminal emulator. If you use it:
brew install --cask ghostty stow ghostty
Note: The ghostty config is pre-configured to use MesloLGS Nerd Font for optimal display with Powerlevel10k.
-
Reload shell:
source ~/.zshrc
Configurations automatically detect and adapt to:
- macOS - Uses Homebrew paths, native clipboard
- Linux - Uses standard paths, X11/Wayland clipboard