My personal config, rebuilt from what's actually in use (June 2026). Everything
under home/ mirrors its location in $HOME and is symlinked into place by
bootstrap.sh.
| Path | Tool |
|---|---|
home/.config/fish/ |
fish shell — config.fish, conf.d/, functions/, fish_plugins |
home/.config/starship.toml |
starship prompt |
home/.config/nvim/ |
Neovim (LazyVim) |
home/.config/ghostty/ |
Ghostty terminal + theme |
home/.gitconfig, home/.config/git/ |
git config, global ignore, hooks |
home/.config/delta/ |
delta diff theme (included by gitconfig) |
home/.config/gitignore_global |
global gitignore |
home/.claude/ |
Claude Code settings.json, statusline, personal skills |
brew bundle --file=Brewfile # install Homebrew CLIs + VS Code extensions
./bootstrap.sh # symlink configs into $HOMEbootstrap.sh symlinks each tracked path into $HOME. Any existing real file
is moved to <name>.bak first; re-running is idempotent.
Then:
fisher update # install fish plugins listed in fish_plugins
nvim # let lazy.nvim sync plugins on first launchRegenerate the Brewfile after installing new tools with brew bundle dump --force.
- fish: plugin-generated
completions/and machine-localfish_variablesare intentionally not tracked —fisher updateregenerates them fromfish_plugins. - Prerequisites (installed separately, e.g. via Homebrew):
fish,starship,neovim,ghostty,git,delta,atuin,fnm,bat,eza,fzf,pnpm/bun.