Personal dotfiles for macOS. Config files live under Dotfiles/, helper
scripts under bin/, and both are deployed to $HOME by sync-dotfiles.sh.
git clone git@github.com:wtfleming/dotfiles.git ~/src/dotfiles
cd ~/src/dotfiles
./install-dependencies-macos.sh # Homebrew packages (assumes brew is installed)
./sync-dotfiles.sh # copy configs into $HOMEsync-dotfiles.sh copies files from this repo into the home directory —
no symlinks. The repo is the source of truth: edits made to the deployed
copies in $HOME do not flow back. Change the file under Dotfiles/ and
re-run the sync.
If you add a new config file under Dotfiles/, also add a copy step to
sync-dotfiles.sh, or it will never be deployed.
Dotfiles/gitconfig hardcodes personal identity (name, email). On a work
machine, override it after syncing — e.g. with a local include that is not
tracked here — rather than editing the deployed ~/.gitconfig (a re-sync
would clobber it).
See CLAUDE.md for the full layout and repo conventions. Highlights:
Dotfiles/— shell, git, tmux, ssh, emacs, and Claude Code configsbin/— helper scripts deployed to~/bin/*.org— machine setup notes
Dotfiles/git-completion.* and git-prompt.sh come from
https://github.com/git/git/blob/master/contrib/completion/