Originally, this is the fantastic work of Zach Holman, forked and customized . This covers my usual tools: OSX, zsh, Ruby, Rails, rvm, git, mysql, pg, homebrew, sublime.
I'd suggest forking your own version, first. Then, run the following:
git clone https://github.com/$your_username/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
script/bootstrapIf it bombs, complaining about a missing Rakefile, run rake install from the ~/.dotfiles directory.
This will symlink the appropriate files in .dotfiles to your home directory.
Everything is configured and tweaked within ~/.dotfiles, though.
$ sh ~/osx/set-defaults.sh
$ open ~/osx/charles.terminal
To use this new theme as the default, open Terminal's settings and make 'charles' the default.
claude-code/, cursor/ and ghostty/ are symlinked into place by the
install_config rake task, which rake install runs first. Targets are listed
in XDG_LINKS at the top of the Rakefile. Add a line per new app.
Claude Code runs under two accounts here (~/.claude for work,
~/.claude-personal). Settings, skills and memory are tracked separately per
account so the two stay isolated. CLAUDE.md is one file linked into both.
This repo is public, so only hand-authored config is tracked. The following are deliberately excluded and should stay that way:
~/.claude.jsonand~/.codex/auth.json, which hold account and OAuth credentials~/.cursor/mcp.json, which contains a plaintext MCP API key~/.codex/config.toml, which has local absolute paths and private project names- session state everywhere else:
history.jsonl,projects/,sessions/,file-history/,plans/,shell-snapshots/,telemetry/, every*cache* ~/.cursor/skills-cursor/, which ships with Cursor rather than being ours
Note that memory/ is written by Claude Code at runtime, so new memories land
in this working tree. Read them before committing.
Read the full docs here: https://github.com/holman/dotfiles