My Mac. If I wipe it or buy a new one, bootstrap.sh rebuilds it.
| File | What it does |
|---|---|
.zshrc |
zsh + oh-my-zsh, rbenv/nvm/pyenv/pnpm/cargo/nix/direnv, fzf helpers |
.aliases |
Git / Docker / Node shortcuts + Yoojo, Cloud 66, PromptZone, Adreel helpers |
.bashrc, .bash_profile |
Keep bash usable when something drops me into it |
.gitconfig |
Git identity and aliases |
.vimrc |
Plain vim for quick edits |
.macos |
defaults write ... for a couple hundred macOS tweaks |
.cursor-settings.json |
Cursor/VS Code settings |
Brewfile |
Every formula, cask, and Cursor extension I have installed |
.secrets.example |
Template for ~/.secrets — real tokens live there, never here |
bootstrap.sh |
Installs everything and symlinks the dotfiles |
xcode-select --install
git clone git@github.com:adifsgaid/Personal-Dotfiles.git ~/Personal-Dotfiles
cd ~/Personal-Dotfiles
./bootstrap.shbootstrap.sh will:
- Install Homebrew
- Run
brew bundle(formulae, casks, Cursor/VS Code extensions) - Install oh-my-zsh + zsh-autosuggestions, zsh-syntax-highlighting, zsh-completions
- Back up whatever dotfiles already exist in
$HOMEto~/.dotfiles_backup/<timestamp>/ - Symlink every dotfile from this repo into
$HOME - Copy
.secrets.exampleto~/.secrets(0600) if it's not there yet - Point iTerm2 at
~/.iterm2/and apply AltTab defaults - Source
.macosto apply all the system tweaks
Re-running it is safe — backups are timestamped and symlinks are replaced in place.
Anything that should never hit git lives in ~/.secrets. It's sourced by .zshrc and .bashrc on shell startup. .gitignore blocks it.
On a new machine, after bootstrap.sh has seeded the template:
$EDITOR ~/.secretsFill in Railway tokens, MCP tokens, Stripe webhook secret, PromptZone Postgres creds. Aliases and functions in .aliases / .zshrc read from these env vars — don't paste real values into either file.
After installing or removing anything:
brew bundle dump --force --file=~/Personal-Dotfiles/BrewfileThat re-captures formulae/casks/extensions. Commit and push.
For dotfile edits, edit the file in this repo directly — the symlink means the shell picks up changes immediately.
- Sign in to 1Password, Raycast, Slack, Telegram, WhatsApp
- Import SSH keys into
~/.ssh/ - Log into
gh auth login - Configure iTerm2 profile/font once (Fira Code or Hack Nerd Font)
- Set up Cursor extensions that need individual auth (Claude Code, ChatGPT, etc.)
- Docker is installed as a cask for compatibility but I run containers through OrbStack (also in
Brewfile). ZSH_THEMEisrobbyrussell, not powerlevel10k. The instant-prompt guard at the top of.zshrcis harmless when p10k isn't installed.- The
~.iterm2/folder with the weird name is intentional — it ships the iTerm2 plist so the bootstrap can drop it into~/.iterm2/on a fresh machine.