Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

366 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

macOS dev setup

A lean, repeatable baseline for a fresh Mac. Homebrew owns apps and CLIs; mise owns Node.js and Bun; uv owns project Python environments.

Install

git clone https://github.com/paul-phan/dev-setup.git
cd dev-setup
./setup.sh

The script backs up existing dotfiles before linking this repository. GitHub authentication and missing Git identity values are requested interactively.

Apply the opinionated Finder, Dock, keyboard, and trackpad defaults only when wanted:

./setup.sh --macos

Included

  • Terminal: cmux, Starship, Atuin, zoxide, fzf
  • System monitoring: Stats
  • Editor: Cursor
  • Browsing and utilities: Chrome, Raycast
  • Containers: Docker Desktop
  • AI CLIs: Claude Code latest channel, Codex
  • Runtimes: mise with Node.js LTS and Bun latest; uv for Python projects
  • Core CLI: Git, GitHub CLI, ripgrep, fd, bat, eza, jq, yq, btop, HTTPie
  • Git: delta, lazygit, main as the default branch, rebase-on-pull
  • Shell: native Zsh completion, Carapace, autosuggestions, syntax highlighting

Warp, Arc, VS Code, VSCodium, Oh My Zsh, NVM, FNM, GPG signing, and duplicate CLI replacements are deliberately excluded. Install one only when the baseline is measurably missing something.

Private configuration

Never put credentials in tracked dotfiles.

  • ~/.zshrc.local: tokens, private environment variables, machine-only functions
  • ~/.gitconfig.local: name, email, and SSH signing configuration

Both files are created with mode 600. The tracked configs source/include them.

If setup finds ~/.ssh/id_ed25519.pub, it enables local SSH commit signing. Add that public key to GitHub as a signing key if it is not already registered:

gh ssh-key add ~/.ssh/id_ed25519.pub --type signing --title "$(scutil --get ComputerName)"

Update

update

That upgrades Homebrew packages and mise-managed runtimes. Re-running ./setup.sh is safe.

Check

./setup.sh --check
shellcheck setup.sh

About

Lean, repeatable macOS developer setup with Homebrew, mise, uv, and secure local overrides.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages