Skip to content

Repository files navigation

dotfiles

Personal dotfiles for macOS. Config files live under Dotfiles/, helper scripts under bin/, and both are deployed to $HOME by sync-dotfiles.sh.

Setting up a new Mac

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 $HOME

How the sync works

sync-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.

Work machines

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).

Layout

See CLAUDE.md for the full layout and repo conventions. Highlights:

  • Dotfiles/ — shell, git, tmux, ssh, emacs, and Claude Code configs
  • bin/ — helper scripts deployed to ~/bin/
  • *.org — machine setup notes

Credits

Dotfiles/git-completion.* and git-prompt.sh come from https://github.com/git/git/blob/master/contrib/completion/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages