Skip to content

Latest commit

 

History

History
116 lines (94 loc) · 3.14 KB

File metadata and controls

116 lines (94 loc) · 3.14 KB

dotfiles

macOS shell setup with zsh, Ghostty, tmux, and vim.

Quick Start

git clone https://github.com/jhuggart/dotfiles.git ~/code/dotfiles
cd ~/code/dotfiles
./setup.sh

What's Included

Zsh

  • Custom prompt with git branch and colors
  • Autosuggestions (ghost text from history)
  • Syntax highlighting (green = valid, red = invalid)
  • Fuzzy history search (Ctrl+R)
  • Auto-cd, typo correction
  • 50k shared history across terminals
  • eza aliases: ls (icons), ll (detailed + git), lt (tree)
  • zoxide smart directory jumping: z foo jumps to any directory containing "foo"
  • Lazy-loaded NVM for faster shell startup

Ghostty

  • JetBrains Mono Nerd Font
  • GruvboxDark theme
  • Clean padding and block cursor

Tmux

Prefix is Ctrl+A (not the default Ctrl+B).

Keys Action
Ctrl+A p Split pane horizontally
Ctrl+A v Split pane vertically
Ctrl+A x Kill pane (no confirm)
Ctrl+A r Reload config
Ctrl+A T Move window to first position
Ctrl+A h/j/k/l Resize pane
Ctrl+h/j/k/l Navigate panes (vim-aware)
Ctrl+A I Install TPM plugins
Ctrl+A U Update TPM plugins

Vim integration: Pane navigation works seamlessly between tmux and vim splits using Ctrl+h/j/k/l.

Session persistence: Sessions are automatically saved and restored on restart via tmux-resurrect and tmux-continuum.

Neovim

Keys Action
\e Toggle file explorer (neo-tree)
\o Focus file explorer
Ctrl+p Find files (telescope)
gd Go to definition
gD Go to declaration
gr Find references
gi Go to implementation
K Hover documentation
\rn Rename symbol
\ca Code actions
\fg Live grep (search in files)
\fb List buffers
Ctrl+h/j/k/l Navigate splits/tmux panes

Auto-completion: Full LSP-powered completion with nvim-cmp. Use Tab/S-Tab to navigate, Enter to confirm, Ctrl+Space to trigger manually.

LSP support: Go (gopls) and TypeScript (typescript-language-server).

Claude Code

Skills:

Skill Action
cp Commit and push
cps Commit, push, deploy to staging
cppr Commit, push, open PR, watch GitHub Actions
cpprs Commit, push, open PR, watch Actions, deploy to staging
merge Merge current branch's PR to main
daily Daily startup workflow
setup-personal-proj Scaffold Cloudflare MCP permissions for a personal project

Tmux window highlighting:

  • Yellow - Claude is waiting for input
  • Green - Claude has finished
  • Highlighting only appears on background windows and clears when focused

Tools Installed

  • neovim
  • tmux (with TPM plugin manager)
  • zsh-autosuggestions
  • zsh-syntax-highlighting
  • fzf
  • eza
  • zoxide
  • nvm
  • ripgrep
  • go
  • terminal-notifier
  • JetBrainsMono Nerd Font

Customization

Change Ghostty theme:

ghostty +list-themes  # see available themes

Then edit ghostty/config and change the theme line.

Prompt colors are in .zshrc using %F{color} format:

  • cyan - directory
  • magenta - git branch
  • green - prompt arrow