DEV Community

Anton Mendelson
Anton Mendelson

Posted on • Edited 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

Arc

  • Install chrome extension - Youtube Playback Speed Control

Raycast

  • Install essential extensions (color picker, kill process, ScreenOCR)
  • Set clipboard history shortcut to option + cmd + c
  • Configure hyperkey as caps lock
  • 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

Top comments (0)