This repository includes my dotfiles and macOS Setup Guide.
git clone [email protected]:jamescmartinez/dotfiles.git ~/dotfiles
~/dotfiles/bin/setup- Enable network firewall
- Enable FileVault
- Set up Finder
- Delete all .DS_Store files, printing success and redirecting stderr to /dev/null
find / -name ".DS_Store" -type f -print -delete 2>/dev/null killall Finder
- Open Finder, go to top level dir (e.g., "James's MacBook Pro"), and set the following defaults:
- Always open in list view
- Browse in list view
- Group by "Name"
- Sort by "Name" (except Downloads - set that to "Date Added")
- Use as Defaults
- Repeat the last step for every directory in the Finder sidebar where this setting did not apply (usually Desktop, iCloud Drive, Trash, and a few others)
- Delete all .DS_Store files, printing success and redirecting stderr to /dev/null
- Install Command Line Tools with
xcode-select --install - Configure GitHub SSH
- Install dotfiles (instructions above)
- Install Homebrew and run
brew bundle --file ~/Brewfileto install programs from~/Brewfile- Dump current Brewfile:
brew bundle dump -f --no-vscode --file ~/Brewfile - Uninstall all dependencies not in the Brewfile:
brew bundle cleanup -f --file ~/Brewfile
- Dump current Brewfile:
- Set fish as the default shell with:
# Apple M echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells chsh -s /opt/homebrew/bin/fish # Intel echo /usr/local/bin/fish | sudo tee -a /etc/shells chsh -s /usr/local/bin/fish
- Restart so the default shell change takes effect
- Install Fisher and run
fisher updateto install plugins from~/.config/fish/fish_plugins- If
fisher updatedoes not install the plugins, it's probably because fisher replaced the symlink with a newfish_pluginsfile upon installation. Quick fix: run agit reseton~/dotfilesand runfisher updateagain.
- If
- Use
dns_cloudflarefish alias to set DNS servers to Cloudflare DNS. Usedns_defaultto revert this as-needed (e.g. when unable to access captive portal), anddns_listto list the current DNS servers.1.1.1.11.0.0.12606:4700:4700::11112606:4700:4700::1001
- Continue installing other apps
Note: Mac App Store apps are now installed and managed by the Brewfile.
- 1Password
Alfred- deprecated in favor of Raycast- AppCleaner
- ChatGPT
- CleanShot X
- Deckset
Docker- deprecated in favor ofcolima- Figma
- ghostty
- Google Chrome
- KeyboardCleanTool
kitty- deprecated in favor of ghosttyLinearMouse- deprecated, no longer needed as of macOS 26- Loom
- Notion
- Raycast
- Scroll Reverser - still needed as of macOS 26
- Spotify
- Stats
- Visual Studio Code
- Zoom