skip to content
walterra.dev

Subscribe to walterra.dev

MacBook Pro 2025 web dev setup

/ 4 min read

For the new year I got a new MacBook Pro. Here’s the obligatory setup log I used.

system updates & package manager

Terminal window
# Update macOS to the latest version through System Settings
# Install Xcode command line tools
xcode-select --install
# Install Homebrew (package manager)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update

apps

terminal

Terminal window
brew install --cask iterm2
brew install \
wget \
git \
nvm \
yarn \
pnpm \
graphicsmagick \
commitizen \
cmatrix \
vips
  • make iterm2 default terminal
  • preferences ->
    • general -> window
      • unselect “native full screen windows”
      • select “close windows when closing an app”
    • appearance ->
      • windows
        • select “hide scrollbars”
      • tabs
        • unselect “show tab bar in fullscreen”
      • dimming
        • unselect all dimming
    • profiles ->
      • window
        • transparency: 20
        • style: full screen
        • screen: main screen
      • advanced
        • semantic history -> open with editor … -> VS Code
    • natural text editing
Terminal window
# Install Oh My Zsh for better terminal experience
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Update everything (e.g. plugins) in Oh My Zsh to recent version:
omz update
# Important: If you change something in your Zsh configuration (.zshrc), force a reload:
source ~/.zshrc
# Oh My Zsh Theme + Fonts
brew install starship
# Make it the default theme for Oh My ZSH from the terminal
echo 'eval "$(starship init zsh)"' >> ~/.zshrc
# As font we will be using Hack Nerd Font in iTerm2 and VS Code. Install it via:
brew install font-hack-nerd-font
# Do this before the SourceTree CLI installation (stree)
sudo mkdir -p -m 775 /usr/local/bin

Use the new font in iTerm2: Preferences -> Profile -> Text -> Font: font-hack-nerd-font.

Oh My Zsh Plugins

https://github.com/zsh-users/zsh-completions

Terminal window
# Clone the repository inside your oh-my-zsh repo
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions

Add it to FPATH in your .zshrc by adding the following line before source "$ZSH/oh-my-zsh.sh":

Terminal window
fpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src

https://github.com/zsh-users/zsh-autosuggestions

Terminal window
# Clone this repository into $ZSH_CUSTOM/plugins (by default ~/.oh-my-zsh/custom/plugins)
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Then add the plugin to the list of plugins for Oh My Zsh to load (inside ~/.zshrc):

Terminal window
plugins=(
# other plugins...
zsh-autosuggestions
)

https://github.com/zsh-users/zsh-syntax-highlighting

Terminal window
# Install plugin
brew install zsh-syntax-highlighting
# To activate the syntax highlighting, add the following at the end of your .zshrc:
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

git

Terminal window
# Install Git
brew install git
# Configure Git
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# Set the default branch to main instead of master
git config --global init.defaultBranch main
# Generate SSH key for GitHub
ssh-keygen -t ed25519 -C "your.email@example.com"

nodejs

Terminal window
# Install Node Version Manager (nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Install latest LTS version of Node.js
nvm install --lts

misc

Terminal window
brew install --cask visual-studio-code
brew install yarn
brew install --cask postman
brew install --cask docker
brew install --cask google-chrome
brew install --cask firefox
brew install htop
brew install ffmpeg

vs code extensions

Inspired by https://www.robinwieruch.de/mac-setup-web-development/

tmux reference

Terminal window
# install tmux
brew install tmux
# install tmux plugin manager
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# new session
tmux new-session -s dev_env
  • Horizontal Split: Prefix, then %.
  • Vertical Split: Prefix followed by “.
  • Detach: To detach from the tmux session without terminating it, press Prefix then d.
  • To reattach, use:
Terminal window
tmux attach-session -t dev_env

Config file ~/.tmux.conf:

Terminal window
unbind C-b # Unbind the default Ctrl-b
set-option -g prefix C-a # Set new prefix to Ctrl-a
bind C-a send-prefix # Rebind C-a as the new prefix
set-option -g mouse on
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
# tmux resurrect
set -g @plugin 'tmux-plugins/tmux-resurrect'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

dotfiles with chezmoi

https://www.chezmoi.io/quick-start/

Terminal window
# initialize first time
brew install chezmoi
chezmoi init
chezmoi add ~/.zshrc
# restore/sync on another machine
chezmoi init https://github.com/$GITHUB_USERNAME/dotfiles.git
chezmoi diff
chezmoi apply -v

Comments powered by Talkyard.