DEV Community

Anton Mendelson
Anton Mendelson

Posted on

Setting Up new MacBook for Web Development and DX

Inspired by robinwieruch's setup

System Preferences

Appearance

  • Enable Dark Mode for reduced eye strain
  • Show scrollbars only when scrolling for a cleaner UI

Dock Configuration

  • Remove default apps (keep only essential ones like Launchpad, Mail, Calendar)
  • Enable automatic hide
  • Disable showing suggested and recent apps
  • Apply faster Dock hiding:
# Enable faster hiding
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -int 0
killall Dock

# To undo faster hiding
defaults write com.apple.dock autohide-delay -float 0.5
defaults write com.apple.dock autohide-time-modifier -int 0.5
killall Dock
Enter fullscreen mode Exit fullscreen mode

Trackpad & Accessibility

  • Enable tap to click
  • Set tracking speed to level 9
  • Disable unnecessary gestures
  • Set scroll speed to maximum for faster navigation

Keyboard Settings

  • Disable smart quotes
  • Turn off automatic capitalization
  • Disable spelling correction
  • Configure fn key for dictation
  • Set custom shortcuts:
    • Input sources: cmd + space
    • Disable Spotlight shortcuts
    • New iTerm tab here: cmd + ;

Finder Optimization

# Set screenshots to JPG format
defaults write com.apple.screencapture type jpg

# Prevent Preview from opening previous files
defaults write com.apple.Preview ApplePersistenceIgnoreState YES

# Show Library folder
chflags nohidden ~/Library

# Show hidden files
defaults write com.apple.finder AppleShowAllFiles YES

# Enable path bar
defaults write com.apple.finder ShowPathbar -bool true

# Show status bar
defaults write com.apple.finder ShowStatusBar -bool true

# Set list view as default
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"

killall Finder
Enter fullscreen mode Exit fullscreen mode

Essential Software Installation

Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Add Homebrew to PATH
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

# Update Homebrew
brew update
Enter fullscreen mode Exit fullscreen mode

Install Applications

# Development Tools
brew install --cask visual-studio-code
brew install --cask iterm2
brew install --cask webstorm
brew install --cask docker
brew install --cask postman

# Browsers
brew install --cask google-chrome
brew install --cask firefox
brew install --cask arc
brew install --cask zen-browser

# Productivity
brew install --cask raycast
brew install --cask rectangle
brew install --cask notion
brew install --cask slack

# Communication
brew install --cask zoom
brew install --cask skype
brew install --cask telegram

# Cloud Storage
brew install --cask google-drive
brew install --cask idrive

# Security
brew install --cask 1password
brew install --cask protonvpn

# Utilities
brew install --cask vlc
brew install --cask calibre
brew install --cask folx
brew install --cask karabiner-elements
Enter fullscreen mode Exit fullscreen mode

Terminal Setup

Install Oh My Zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Enter fullscreen mode Exit fullscreen mode

Install Starship Theme

brew install starship
echo 'eval "$(starship init zsh)"' >> ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

Install Nerd Font

brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font
Enter fullscreen mode Exit fullscreen mode

Node.js Setup with NVM

brew install nvm

# Add NVM to shell
echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.zshrc
source ~/.zshrc

# Install LTS version
nvm install --lts

# Update npm
npm install -g npm@latest
Enter fullscreen mode Exit fullscreen mode

Git Configuration

# Set global config
git config --global user.name "Your Name"
git config --global user.email "you@your-domain.com"

# Set better git log
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

# Set default branch to main
git config --global init.defaultBranch main
Enter fullscreen mode Exit fullscreen mode

SSH Setup

ssh-keygen -t rsa
# Copy public key
cat ~/.ssh/id_rsa.pub
Enter fullscreen mode Exit fullscreen mode

Application-Specific Configuration

Raycast

  • Install essential extensions (color picker, kill process)
  • Set clipboard history shortcut to option + cmd + c
  • Configure hyperkey as right command
  • Set up application quick launch shortcuts

iTerm2

  • Set as default terminal
  • Configure transparency (5%)
  • Enable natural text editing
  • Install Oh My Zsh plugins:
    • zsh-completions
    • zsh-autosuggestions
    • zsh-syntax-highlighting

WebStorm

# Add alias to .zshrc
echo 'alias ws="open -na \"WebStorm.app\""' >> ~/.zshrc
Enter fullscreen mode Exit fullscreen mode
  • Disable reopening projects on startup
  • Enable preview tab
  • Enable single-click file opening
  • Enable compact mode
  • Install SuperMaven plugin for AI completions

Final Touches

Don't forget to:

  • Set up Apple Mail and Calendar with all accounts
  • Configure your IDE preferences
  • Set up workspace organization in Arc browser
  • Test all keyboard shortcuts and customize as needed

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post