Personal Mac setup repo for:
- zsh
- git
- WezTerm
- Starship
- Sublime Text settings
- PhpStorm settings export
- Homebrew installs
- macOS setup notes/scripts
zsh/zshrczsh/zprofilezsh/zshenvzsh/aliases.zshzsh/functions.zshzsh/plugins.zshzsh/path.zshwezterm/wezterm.luastarship/starship.toml
git/gitconfiggit/gitignore_global
sublime/Preferences.sublime-settingssublime/Default (OSX).sublime-keymapjetbrains/PhpStormSettings.zip
homebrew/Brewfilehomebrew/Brewfile.fontshomebrew/Brewfile.masmacos/bootstrapmacos/defaults.shmacos/notes.md
sudo softwareupdate -i -a --restartThis is needed before Homebrew.
xcode-select --install/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Do this before running any mas installs from the Brewfile.
From your home directory:
git clone https://github.com/thatryan/dotfiles.git
cd ~/dotfilesPersonal Mac only, on work Mac, comment this out in macos/defaults.sh:
sudo scutil --set ComputerName "thatryan-air"
sudo scutil --set LocalHostName "thatryan-air"
sudo scutil --set HostName "thatryan-air"This should create needed directories and symlink the shared config files.
chmod +x ~/dotfiles/macos/bootstrap ~/dotfiles/macos/defaults.sh
./macos/bootstrapRun the main Brewfile first. Fonts and MAS apps can wait if needed. Try sudo first to stop some pass prompts...
sudo -v
brew bundle --file ~/dotfiles/homebrew/Brewfile
brew bundle --file ~/dotfiles/homebrew/Brewfile.fonts
brew bundle --file ~/dotfiles/homebrew/Brewfile.mas./macos/defaults.shI keep private / machine-specific files outside this repo in Dropbox.
Once Dropbox is installed and synced, link the local files I need.
These are not committed in this repo.
Personal machine:
ln -s ~/Dropbox/local-dotfiles/.gitconfig.personal ~/.gitconfig.localWork machine:
ln -s ~/Dropbox/local-dotfiles/.gitconfig.work ~/.gitconfig.localln -s ~/Dropbox/dotfiles-local/laptop-work.zsh ~/.config/zsh/laptop-work.zsh
ln -s ~/Dropbox/dotfiles-local/aliases-work.zsh ~/.config/zsh/aliases-work.zshWork:
mkdir -p ~/codePersonal:
mkdir -p ~/DeveloperAfter Xcode is installed, open it once or run:
sudo xcodebuild -runFirstLaunchThen verify the active developer path:
xcode-select -p
xcodebuild -versionIf needed:
sudo xcode-select --switch /Applications/Xcode.appThese are not handled in the Brewfile.
- Source: https://setup.office.com/
- Priority: day 1 if needed
- Sign in and install only the apps I actually want
- Source: https://macspencer.app/
- Priority: later
Install manually from https://www.backblaze.com/download — the Homebrew cask doesn't handle the system extension approval correctly on fresh installs.
Shared zsh files are expected in:
~/.config/zsh/
Main startup files:
~/.zshrc~/.zprofile~/.zshenv
Shared sourced files:
aliases.zshfunctions.zshplugins.zshpath.zsh
Optional local/work files:
laptop-work.zshaliases-work.zsh
Shared global git config is committed in this repo.
Machine/private identity info is loaded from:
~/.gitconfig.local
That file is symlinked from my Dropbox local config.
Install Sublime via Homebrew, then copy these files into:
~/Library/Application Support/Sublime Text/Packages/User/
Files:
sublime/Preferences.sublime-settingssublime/Default (OSX).sublime-keymap
Then install:
- Package Control / package manager
- SideBarEnhancements
Import the saved settings zip from:
jetbrains/PhpStormSettings.zip
Also use JetBrains Backup and Sync if enabled.
- App Store sign-in must happen before
masinstalls. - After Xcode installs, open it once or run
sudo xcodebuild -runFirstLaunch. - Verify
xcode-select -pand switch to/Applications/Xcode.appif needed. macos/bootstrapshould create~/.config/zshand place/symlink the shared zsh files there.- Some machine/work config is intentionally kept out of the repo and linked in later from Dropbox.
defaults.shsets "displays have separate spaces" — this requires a logout to take effect.defaults.shdoes not touch screenshot hotkeys — disable them manually in System Settings → Keyboard → Keyboard Shortcuts → Screenshots so they don't conflict with CleanShot.