My XDG-compliant configuration files for macOS.
# Clone to ~/.config
git clone https://github.com/aleiton/.config.git ~/.config
# Run setup (installs dependencies, creates symlinks)
~/.config/setup.sh| Path | Description |
|---|---|
setup.sh |
One-command setup script |
Brewfile |
Homebrew dependencies |
alacritty/ |
Terminal emulator (OneDark, FiraCode) |
bat/ |
Cat with syntax highlighting |
git/ |
Git config and global ignore |
irb/ |
Ruby REPL with custom prompt |
mise/ |
Runtime version manager |
neofetch/ |
System info display |
readline/ |
Input line editing |
starship.toml |
Cross-shell prompt |
claude/ |
Claude Code global instructions |
tmux/ |
Terminal multiplexer |
zsh/ |
Zsh shell config |
nvim/- Uses LazyVim - see docs/nvim-setup.mddocker/- Contains local credentials
Using zsh with full XDG Base Directory support.
Files:
~/.zshenv- Only file in $HOME, sets ZDOTDIRzsh/.zshenv- XDG variables, cargo envzsh/.zprofile- PATH, mise, nvmzsh/.zshrc- Interactive config, fzf, autosuggestions
Symlinks:
~/.tmux.conf->~/.config/tmux/tmux.conf~/.claude/CLAUDE.md->~/.config/claude/CLAUDE.md
| Key | Action |
|---|---|
prefix + r |
Reload config |
prefix + h/j/k/l |
Navigate panes |
prefix + | |
Split vertical |
prefix + - |
Split horizontal |
prefix + [ |
Copy mode (vi keys) |
y (copy mode) |
Copy to clipboard |
Global instructions for Claude Code live in claude/CLAUDE.md and are symlinked to ~/.claude/CLAUDE.md by setup.sh. Edit that file to set preferences that apply across all projects (commit conventions, communication style, etc.).
After running setup.sh:
- Restart terminal or run
exec zsh - In tmux, press
prefix + Ito install plugins - Run
neofetchto verify setup