Personal development environment for macOS and Linux.
- Ghostty - GPU-accelerated terminal (renderer only, titlebar hidden)
- tmux - Window/pane management, vi-style copy mode
- Zsh - Shell with Oh My Zsh, Powerlevel10k, and vi mode
- Neovim - Single-file config (
init.lua) with lazy.nvim
All tools share the Vesper color scheme (#101010 bg, #ffffff fg, #ffc799 accent).
git clone git@github.com:spencerjireh/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./install.sh- Installs brew packages: neovim, tmux, fzf, fd, eza, bat, ripgrep, git-delta, zoxide, pyenv, imagemagick, trash, GohuFont Nerd Font
- Creates symlinks (with automatic backup of existing files):
ghostty/config→ Ghostty config dir (platform-aware)tmux/tmux.conf→~/.tmux.confzsh/.zshrc→~/.zshrczsh/.p10k.zsh→~/.p10k.zshnvim/→~/.config/nvim
- Sets up plugins: TPM (tmux), zsh-autosuggestions, zsh-syntax-highlighting, powerlevel10k
- Optional (interactive prompts):
- GitHub SSH key + CLI setup
- Global Git config (name, email, delta pager)
- macOS defaults (key repeat, Finder, Dock, trackpad, screenshots)
./uninstall.sh # Removes symlinks, restores backups├── ghostty/
│ └── config
├── tmux/
│ └── tmux.conf
├── zsh/
│ ├── .zshrc
│ └── .p10k.zsh
├── nvim/
│ ├── init.lua
│ └── lazy-lock.json
├── install.sh
└── uninstall.sh
Prefix: Cmd+Shift+Space (Ghostty translates to Ctrl+Space)
| Action | Keys |
|---|---|
| Seamless pane/vim nav | C-h/j/k/l (no prefix) |
| Navigate panes | prefix + h/j/k/l |
| Window by number | Alt+1-9 (no prefix) |
| Next/prev window | prefix + n/p |
| Action | Keys |
|---|---|
| Enter copy mode | prefix + Enter |
| Start selection | v |
| Select line | V |
| Yank to clipboard | y |
| Exit | Escape |
| Action | Keys |
|---|---|
| Split vertical | prefix + v or | |
| Split horizontal | prefix + s or - |
| Resize panes | prefix + H/J/K/L |
| New window | prefix + c |
| Close window | prefix + X |
| Close pane | prefix + x |
| New session | prefix + S |
| Session tree | prefix + w |
| Kill session | prefix + q |
| Toggle status bar | prefix + b |
| Reload config | prefix + r |
tmux auto-starts when opening Ghostty, attaching to the main session.
# tmux
tm # attach or create session
tls # list sessions
tks <name> # kill session
# editors & tools
v # nvim
cld # claude
ccd # claude --dangerously-skip-permissions
# modern replacements
ls → eza # with icons and git status
cat → bat # with syntax highlighting
rm → trash # safe deleteSymlinks not working — Re-run ./install.sh
tmux colors wrong — Ensure terminal reports 256-color. Config sets default-terminal to tmux-256color.
tmux plugins not loaded — Press prefix + I inside tmux to install plugins via TPM.