- language: English, country: Germany, keyboard layout
- WiFi
- create account, timezone
- setup TouchID
- setup disk encryption using FileVault, note down recovery code
- Pair BT peripherals
- Adjust mouse
- tracking speed: 3rd fastest
- Secondary Click: Click Right side
- Adjust trackpad
- tracking speed: 3rd fastest
- tab to click: true
- Adjust keyboard
- repeat rate to fastest
- enable Keyboard navigation
- Clock options: Enable seconds
- Change resolution of second display
- Disable Siri and Apple Intelligence, remove Spotlight from Menu Bar (settings)
- Add quad4 DNS servers through adding profile, then check on https://on.quad9.net/.
- Cleanup dock
- Install homebrew
- brew install git
- brew install gh
- Github CLI
$ gh auth login, git protocol: HTTPS
- clone this repo:
$ gh repo clone jack-kerouac/macbook-setup - symlink .gitconfig and .gitignore
$ ln -s ~/src/macbook-setup/gitignore.symlink ~/.gitignore$ ln -s ~/src/macbook-setup/gitconfig.symlink ~/.gitconfig
$ brew bundle installto install all packages fromBrewfile(see: https://docs.brew.sh/Brew-Bundle-and-Brewfile)
- symlink .vimrc:
$ ln -s ~/src/macbook-setup/vimrc.symlink ~/.vimrc
-
Symlink fish config from macbook-setup:
$ ln -s ~/src/macbook-setup/fish/config.fish.symlink ~/.config/fish/config.fish -
Set up local secrets (not tracked in git): copy the template and fill in real values
$ cp ~/src/macbook-setup/fish/secrets.fish.example ~/.config/fish/conf.d/secrets.fish$ $EDITOR ~/.config/fish/conf.d/secrets.fishand addset -gxlines for each secret the tools you use need (e.g. the Slack MCP agent readsSLACK_MCP_XOXP_TOKEN)
-
Change login shell to fish (https://fishshell.com/docs/current/)
$ echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells$ chsh -s /opt/homebrew/bin/fish
-
Iterm2 config
- make it the default terminal (through menu)
- Settings -> General -> Closing -> Quit when all windows are closed
- Settings -> General -> Closing -> Disable all confirmations...
- Settings -> Selection -> Command Selection -> Disable
- Settings -> Appearance -> Theme -> Dark
- Settings -> Profiles -> Colors -> Color Preset: Regular. Increase Minimum Contrast to 30.
-
Ghostty config
$ mkdir -p ~/.config/ghostty && ln -s ~/src/macbook-setup/ghostty/config.symlink ~/.config/ghostty/config
awscli and awsume are installed via brew bundle. The fish alias that makes awsume work
(alias awsume="source (command -v awsume.fish)") lives in the symlinked config.fish, so no
extra shell configuration is needed — awsume must be sourced, not executed, so it can export
the credentials into the current shell.
Credentials and profiles in ~/.aws/ are not tracked here (they contain secrets). On a fresh
machine, recreate them manually:
~/.aws/credentials— the long-lived IAM user keys (thedefaultsource profile + any MFA user)~/.aws/config— the role profiles that awsume assumes (role_arn,source_profile,mfa_serial,region)
Usage: awsume <profile> (e.g. awsume dev); awsume -l lists profiles; awsume -u unsets the
session. Roles with mfa_serial will prompt for an MFA token.
mkdir -p ~/.claude/commands
ln -s ~/src/macbook-setup/claude/commands/shelve.md ~/.claude/commands/shelve.md
ln -s ~/src/macbook-setup/claude/commands/shelf-pop.md ~/.claude/commands/shelf-pop.md
ln -s ~/src/macbook-setup/claude/commands/shelf-list.md ~/.claude/commands/shelf-list.mdln -s ~/src/macbook-setup/CLAUDE.md.symlink ~/.claude/CLAUDE.md- Copy 'Em Paste: enable it to launch after login (in preferences)