Skip to content

jack-kerouac/macbook-setup

Repository files navigation

How to set up my MacBook

Basic MacBook setup

  • 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

Homebrew

  • Install homebrew

Git & Github

  • 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

Install other packages

VIM

  • symlink .vimrc: $ ln -s ~/src/macbook-setup/vimrc.symlink ~/.vimrc

Fish shell and iterm2

  • 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.fish and add set -gx lines for each secret the tools you use need (e.g. the Slack MCP agent reads SLACK_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

AWS (awsume)

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 (the default source 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.

Claude Code

Task shelf commands

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.md

Global CLAUDE.md

ln -s ~/src/macbook-setup/CLAUDE.md.symlink ~/.claude/CLAUDE.md

Other applications config

  • Copy 'Em Paste: enable it to launch after login (in preferences)

About

How I set up my MacBook

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors