This is my almanac for setting up a new macOS machine to my workflows.
Initial System Setup
Step 1: Basic macOS Configuration
Before installing any applications, let's configure macOS for optimal productivity:
1Enable tap to click:
System Settings → Trackpad → Point & Click → Tap to click
2Speed up key repeat rate:
defaults write -g InitialKeyRepeat -int 15
defaults write -g KeyRepeat -int 2
3Show hidden files in Finder:
defaults write com.apple.finder AppleShowAllFiles YES
killall Finder
4Disable press-and-hold for accented characters:
defaults write -g ApplePressAndHoldEnabled -bool false
Wallpapers & Visual Setup
Desktop Wallpapers
My collection of desktop wallpapers:



Twitter Banners
For your Twitter account banners and social media:




Profile Pictures
For consistency across all your accounts:



Installing Homebrew & Core Applications
Step 1: Install Homebrew
Homebrew is the essential package manager for macOS. It simplifies installing and managing applications.
Run this command in Terminal:
/bin/bash -c "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
After installation, add Homebrew to your PATH:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >>
~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Step 2: Install Essential Applications
Now let's install all the applications you'll need. I've organized them by category with detailed explanations:
One-Command Installation
Install everything at once with this single command:
brew install node python tmux git uv zoxide atuin yt-dlp fzf eza
\ --cask zen-browser superkey protonvpn notion libreoffice ghostty
iterm2 \ bettertouchtool postman screen-studio flux forklift fork
davinci-resolve \ discord cursor cleanshot chatgpt aldente alfred
appcleaner rectangle
Core Command Line Tools
brew install node
Node.js - JavaScript runtime for server-side development
brew install python
Python - Essential programming language for scripting and development
brew install tmux
tmux - Terminal multiplexer for managing multiple terminal sessions
brew install git
Git - Version control system (brew version is more up-to-date than macOS default)
brew install uv
uv - Extremely fast Python package and project manager, written in Rust
brew install zoxide
zoxide - Smarter cd command that remembers your most used directories
brew install atuin
Atuin - Magical shell history with sync across machines
brew install yt-dlp
yt-dlp - Download videos/images from YouTube and 1000+ other sites
brew install fzf
fzf - Command-line fuzzy finder for files, history, and processes
brew install eza
eza - Modern, maintained replacement for ls with colors and icons
Browsers
brew install --cask zen-browser
Zen Browser - Privacy-focused browser with excellent customization
brew install --cask google-chrome
Chrome - Primary browser with excellent DevTools
Development Tools
brew install --cask cursor
Cursor - AI-powered code editor built on VSCode, perfect for AI-assisted development
brew install --cask postman
Postman - API development and testing platform with collaboration features
brew install --cask ghostty
Ghostty - Fast, feature-rich terminal emulator
brew install --cask fork
Fork - Beautiful Git client with intuitive interface
Productivity & System Tools
brew install --cask notion
Notion - All-in-one workspace for notes, documents, and project management
brew install --cask alfred
Alfred - Powerful productivity app with workflows and clipboard history
brew install --cask bettertouchtool
BetterTouchTool - Customize trackpad gestures, keyboard shortcuts, and Touch Bar
brew install --cask superkey
SuperKey - Transform your caps lock into a powerful productivity key
brew install --cask aldente
AlDente - Battery health management to extend MacBook battery life
brew install --cask appcleaner
AppCleaner - Thoroughly uninstall applications and their associated files
brew install --cask flux
f.lux - Adjust screen color temperature based on time of day
brew install --cask rectangle
Rectangle - Window management made simple with keyboard shortcuts
File Management
brew install --cask forklift
ForkLift - Advanced file manager and FTP client
Office & Documents
brew install --cask libreoffice
LibreOffice - Free and powerful office suite
Don't forget to set up Notion Calendar and Notion Mail for seamless integration with your workspace.
For PDF editing, download PDF Gear - excellent free PDF editor with annotation tools.
Communication
brew install --cask discord
Discord - Community and team communication
brew install --cask whatsapp
WhatsApp - Popular messaging platform
Creative & Media Tools
brew install --cask cleanshot
CleanShot X - Advanced screenshot and screen recording tool
brew install --cask screen-studio
Screen Studio - Professional screen recording with beautiful animations
brew install --cask davinci-resolve
DaVinci Resolve - Professional video editing and color grading
brew install --cask figma
Figma - Collaborative design tool for UI/UX
Media Players
For video playback, use IINA - Modern media player designed specifically for macOS
For music, try YouTube Music Desktop - Unofficial YouTube Music app with additional features
Security & Privacy
brew install --cask protonvpn
ProtonVPN - Secure VPN service with strong privacy focus
brew install --cask chatgpt
ChatGPT - Official OpenAI ChatGPT desktop app
Terminal Setup with Oh My Zsh
Step 1: Install Oh My Zsh
Oh My Zsh is a framework for managing your Zsh configuration with tons of helpful features.
sh -c "$(curl -fsSL
https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Step 2: Install Powerlevel10k Theme
The most powerful and customizable Zsh theme:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Then edit your ~/.zshrc
:
nano ~/.zshrc
Change the theme line to:
ZSH_THEME="powerlevel10k/powerlevel10k"
Step 3: Install Essential Zsh Plugins
zsh-autosuggestions
Suggests commands as you type based on your history:
git clone https://github.com/zsh-users/zsh-autosuggestions.git
$ZSH_CUSTOM/plugins/zsh-autosuggestions
zsh-syntax-highlighting
Provides syntax highlighting for your shell commands:
git clone
https://github.com/zsh-users/zsh-syntax-highlighting.git
$ZSH_CUSTOM/plugins/zsh-syntax-highlighting
zsh-fast-syntax-highlighting
Faster and more feature-rich syntax highlighting:
git clone
https://github.com/zdharma-continuum/fast-syntax-highlighting.git
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting
zsh-autocomplete
Real-time auto-completion as you type:
git clone --depth 1 --
https://github.com/marlonrichert/zsh-autocomplete.git
$ZSH_CUSTOM/plugins/zsh-autocomplete
Enabling the Plugins
Edit your ~/.zshrc
file and update the plugins line:
nvim ~/.zshrc
Find the line that says plugins=(git)
and replace it
with:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting
fast-syntax-highlighting zsh-autocomplete)
Apply the changes:
source ~/.zshrc
Configuration Wizard: After restarting your terminal, Powerlevel10k will run a configuration wizard. Choose options that match your aesthetic preferences!
Step 4: Advanced Terminal Tools Setup
Initialize Shell History with Atuin
Set up magical shell history sync:
atuin import auto
Imports your existing shell history
Configure Zoxide for Smart Navigation
Initialize zoxide in your shell:
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
Now use z
instead of cd
- it remembers
your most used directories
Setup FZF Integration
Add fuzzy finding to your shell:
$(brew --prefix)/opt/fzf/install
Enables Ctrl+R for history search and Ctrl+T for file search
macOS UI Customization (Advanced)
For power users who want to customize the macOS interface:
- JankyBorders - Add colored borders around windows
- SketchyBar - Highly customizable status bar
- Simple Bar - Alternative clean status bar
- fzf-git - Enhanced Git workflows with fuzzy finding
iTerm2 Configuration
Essential iTerm2 Settings
Configure iTerm2 for the optimal terminal experience:
Enable Natural Text Editing
iTerm2 → Preferences → Profiles → Keys → Key Mappings
Set up natural text editing shortcuts for smooth cursor movement
Transparency and Blur Settings
iTerm2 → Preferences → Profiles → Window
Set Transparency to 26 and Blur to 32 for the perfect aesthetic
Auto-Activate Python Virtual Environments
Add this to your ~/.zshrc
for automatic virtual
environment activation:
# Auto-activate Python virtual environment if .env or .venv exists (no auto-deactivate)
function auto_activate_env() {
local dir=$PWD
while [ "$dir" != "/" ]; do
if [ -d "$dir/.venv" ]; then
source "$dir/.venv/bin/activate"
echo "✅ Activated virtual environment ($dir/.venv)"
return
fi
dir=$(dirname "$dir")
done
}
autoload -U add-zsh-hook
add-zsh-hook chpwd auto_activate_env
# Also activate immediately on shell startup
auto_activate_env
# pnpm
export PNPM_HOME="/Users/wimpy/Library/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
# pnpm end
Hyper Key Setup & Macros
Ultimate Productivity Shortcuts
Using BetterTouchTool's Hyper Key (⌘⌥⌃⇧). Never use your eyes for navigation (vision search is slow), use your muscle memory:
Configure these shortcuts in BetterTouchTool:
- Hyper + ← → Act as Hyper Key
- Hyper + Q → Launch Zen Browser
- Hyper + W → Launch Cursor
- Hyper + E → Launch iTerm
- Hyper + R → Launch Notion
- Hyper + T → Launch WhatsApp
- Hyper + F → Launch Finder
- Hyper + D → Launch Discord
- Hyper + Y → Launch YouTube Music
- Hyper + P → Launch Postman
- Hyper + M → Launch MongoDB Compass
- Hyper + S → Launch ChatGPT
- Hyper + 1-5 → Switch to Desktop 1-5
Tip: The Hyper Key eliminates conflicts with existing shortcuts while giving you instant access to any app. It's the most efficient way to navigate your Mac!
Development Environment Setup
Node.js & npm
Install Node Version Manager (nvm) for managing Node.js versions:
curl -o-
https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh |
bash
Install the latest LTS Node.js:
nvm install --lts
nvm use --lts
nvm alias default node
Python Environment
Install pyenv for Python version management:
brew install pyenv
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc
Install Python:
pyenv install 3.11.0
pyenv global 3.11.0
Git Configuration
Set up your Git identity and preferences:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
git config --global init.defaultBranch main
git config --global pull.rebase true
SSH Keys for GitHub
Generate and add SSH keys for secure GitHub access:
ssh-keygen -t ed25519 -C "your.email@example.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
pbcopy < ~/.ssh/id_ed25519.pub
Now go to GitHub → Settings → SSH Keys and paste
System Maintenance
Regular Updates
Keep your system and applications up to date:
# Update Homebrew and all packages
brew update && brew upgrade
# Update Oh My Zsh
omz update
# Update npm packages globally
npm update -g
Cloud Backup: Additionally, use iCloud to sync your important folders.
Essential Extensions & Productivity Tools
Raycast Extensions
Supercharge your macOS workflow with these must-have Raycast extensions:
- GitHub - Search repos, issues, and PRs
- Linear - Task management integration
- Kill Process - Quickly terminate hanging processes
- Clipboard History - Access your clipboard history
- Window Management - Alternative to Rectangle
- Speedtest - Quick internet speed tests
- Color Picker - Pick colors from anywhere
VS Code Extensions
These are some very useful VScode Extensions:
Core Productivity Extensions
- All Autocomplete - Enhanced autocomplete across all files
- AutoClose Find - Automatically close find dialog when you stop typing
- Better Comments - Styled comments with alerts, todos, and highlights
- Code Spell Checker - Catch spelling errors in your code
- Color Highlighter - Highlight color values in your code
- Error Lens - See errors and warnings inline with your code
- Path Intellisense - Autocomplete for file paths
- Todo Highlight - Highlight TODO, FIXME comments
Theme & Icons
- Dracula Theme Official - The perfect dark theme for long coding sessions
- Material Icon Theme - Beautiful file and folder icons
Git Integration
- GitLens - Supercharge Git capabilities with blame annotations
- Git History - View git log, file history, and compare branches
Code Quality & Formatting
- ESLint - JavaScript/TypeScript linting
- Prettier - Code Formatter - Opinionated code formatter
Python Development
- Python - Core Python language support
- Pylance - Fast, feature-rich Python language server
- Python Debugger - Debug Python code with breakpoints
- isort - Sort Python imports automatically
Web Development
- Live Server - Launch local development server with live reload
Data & Documentation
- Rainbow CSV - Highlight CSV files with colors
- Markdown Preview Enhanced - Enhanced markdown preview with math support
Final Tips & Tricks
Quick Look Enhancements
Enhance Quick Look (spacebar preview) with plugins:
brew install --cask qlmarkdown qlstephen qlcolorcode
quicklook-json
Touch ID for sudo
Enable Touch ID for sudo commands:
sudo nano /etc/pam.d/sudo
Add this line at the top:
auth sufficient pam_tid.so
Show Path Bar in Finder
defaults write com.apple.finder ShowPathbar -bool true
Faster Dock Auto-Hide
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float
0.4
killall Dock
Paste Without Formatting (Essential for Cursor)
Set up ⌘⇧V for paste without formatting - crucial when working in Cursor:
System Settings → Keyboard → Keyboard Shortcuts → App
Shortcuts
Add shortcut for "Paste and Match Style" with ⌘⇧V

Reference: Reddit guide on paste without formatting
CleanShot X Auto Copy Setup
Enable auto copy to clipboard in CleanShot X for seamless screenshot workflow:
CleanShot X → Preferences → General → Auto copy to
clipboard
Position the setting on the right side for easy access
Remove Full Screen Shortcut Conflict
Disable ⌘⇧F full screen shortcut to avoid conflicts with code search:
System Settings → Keyboard → Keyboard Shortcuts → App
Shortcuts
Find "Enter Full Screen" and remove ⌘⇧F shortcut
VS Code Auto Close Tags
Enable automatic tag closing in VS Code for faster HTML/JSX editing:
VS Code → Settings → Search "auto close tags"
Enable "Auto Close Tags" setting
VS Code Block Highlighting & Bracket Colorization
Enhanced code readability with Dracula-themed bracket colors and block highlighting:
Step 1: Open Command Palette (⌘⇧P) → "Preferences: Open User Settings (JSON)"
Step 2: Add this configuration for perfect Dracula integration:
{
// --- Block Highlighter core settings ---
// Semi-transparent Dracula purple (#bd93f9) with ~10% alpha
"blockHighlighter.background": [189, 147, 249, 0.10], // RGBA
"blockHighlighter.isWholeLine": true,
"blockHighlighter.omit": ["plain", "markdown"],
// --- Bracket pair colorization (VS Code built-in) ---
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": "active",
"editor.guides.bracketPairsHorizontal": "active",
// --- Theme-scoped workbench colors for Dracula ---
"workbench.colorCustomizations": {
"[Dracula]": {
// Keep the highlight subtle against Dracula background
"editor.selectionHighlightBackground": "#bd93f933",
"editor.wordHighlightBackground": "#8be9fd22",
// Bracket highlights that echo Dracula palette
"editorBracketHighlight.foreground1": "#bd93f9",
"editorBracketHighlight.foreground2": "#50fa7b",
"editorBracketHighlight.foreground3": "#ff79c6",
"editorBracketHighlight.foreground4": "#8be9fd",
"editorBracketHighlight.foreground5": "#ffb86c",
"editorBracketHighlight.foreground6": "#f1fa8c",
"editorBracketHighlight.unexpectedBracket.foreground": "#ff5555"
}
},
// Optional: fine-tune token colors only when Dracula is active
"editor.tokenColorCustomizations": {
"[Dracula]": {
"textMateRules": [
{
"scope": "punctuation.definition.block",
"settings": { "foreground": "#bd93f9" }
},
{
"scope": "punctuation.section.block",
"settings": { "foreground": "#bd93f9" }
}
]
}
}
}
What this does: Adds subtle purple block highlighting, colorized bracket pairs using Dracula colors, and enhanced code structure visibility while maintaining the beautiful Dracula aesthetic.
Shortcuts to Live By
These keyboard shortcuts will save you time:
VS Code / Cursor Shortcuts
- ⌘ + ← Collapse all folders in file explorer
Dracula Theme Setup
For complete Dracula theming across all your applications, check out my detailed guide:
This guide covers theming for VS Code, iTerm2, browsers with Stylus, Discord, Obsidian, and more!
Conclusion
This setup will give you a powerful, efficient, and beautiful macOS development environment.
"The best time to set up your development environment was when you got your Mac. The second best time is now."