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 click2Speed up key repeat rate:
defaults write -g InitialKeyRepeat -int 15defaults write -g KeyRepeat -int 23Show hidden files in Finder:
defaults write com.apple.finder AppleShowAllFiles YESkillall Finder4Disable press-and-hold for accented characters:
defaults write -g ApplePressAndHoldEnabled -bool false5Show path bar in Finder:
defaults write com.apple.finder ShowPathbar -bool true6Show status bar with available space in Finder:
defaults write com.apple.finder ShowStatusBar -bool true7Apply Finder changes:
killall FinderWhat this does: The path bar shows your current folder location at the bottom of Finder windows, while the status bar displays available disk space and item counts - essential for file management!
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)"' >> ~/.zprofileeval "$(/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 raycast appcleaner rectangleCore Command Line Tools
brew install nodeNode.js - JavaScript runtime for server-side development
brew install pythonPython - Essential programming language for scripting and development
brew install tmuxtmux - Terminal multiplexer for managing multiple terminal sessions
brew install gitGit - Version control system (brew version is more up-to-date than macOS default)
brew install uvuv - Extremely fast Python package and project manager, written in Rust
brew install zoxidezoxide - Smarter cd command that remembers your most used directories
brew install atuinAtuin - Magical shell history with sync across machines
brew install yt-dlpyt-dlp - Download videos/images from YouTube and 1000+ other sites
brew install fzffzf - Command-line fuzzy finder for files, history, and processes
brew install ezaeza - Modern, maintained replacement for ls with colors and icons
Browsers
brew install --cask zen-browserZen Browser - Privacy-focused browser with excellent customization
brew install --cask google-chromeChrome - Primary browser with excellent DevTools
Development Tools
brew install --cask cursorCursor - AI-powered code editor built on VSCode, perfect for AI-assisted development
brew install --cask postmanPostman - API development and testing platform with collaboration features
brew install --cask ghosttyGhostty - Fast, feature-rich terminal emulator
brew install --cask forkFork - Beautiful Git client with intuitive interface
Productivity & System Tools
brew install --cask notionNotion - All-in-one workspace for notes, documents, and project management
brew install --cask raycastRaycast - Blazingly fast launcher with extensions and modern interface
brew install --cask bettertouchtoolBetterTouchTool - Customize trackpad gestures, keyboard shortcuts, and Touch Bar
brew install --cask superkeySuperKey - Transform your caps lock into a powerful productivity key
brew install --cask aldenteAlDente - Battery health management to extend MacBook battery life
brew install --cask appcleanerAppCleaner - Thoroughly uninstall applications and their associated files
brew install --cask fluxf.lux - Adjust screen color temperature based on time of day
brew install --cask rectangleRectangle - Window management made simple with keyboard shortcuts
File Management
brew install --cask forkliftForkLift - Advanced file manager and FTP client
Office & Documents
brew install --cask libreofficeLibreOffice - 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 discordDiscord - Community and team communication
brew install --cask whatsappWhatsApp - Popular messaging platform
Creative & Media Tools
brew install --cask cleanshotCleanShot X - Advanced screenshot and screen recording tool
brew install --cask screen-studioScreen Studio - Professional screen recording with beautiful animations
brew install --cask davinci-resolveDaVinci Resolve - Professional video editing and color grading
brew install --cask figmaFigma - 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 protonvpnProtonVPN - Secure VPN service with strong privacy focus
brew install --cask chatgptChatGPT - 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/powerlevel10kThen edit your ~/.zshrc:
nano ~/.zshrcChange 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-autosuggestionszsh-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-highlightingzsh-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-highlightingzsh-autocomplete
Real-time auto-completion as you type:
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git $ZSH_CUSTOM/plugins/zsh-autocompleteEnabling the Plugins
Edit your ~/.zshrc file and update the plugins line:
nvim ~/.zshrcFind 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 ~/.zshrcConfiguration 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 autoImports your existing shell history
Configure Zoxide for Smart Navigation
Initialize zoxide in your shell:
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrcNow use z instead of cd - it remembers your most used directories
Setup FZF Integration
Add fuzzy finding to your shell:
$(brew --prefix)/opt/fzf/installEnables 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 MappingsSet up natural text editing shortcuts for smooth cursor movement
Transparency and Blur Settings
iTerm2 → Preferences → Profiles → WindowSet 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 endHyper 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 | bashInstall the latest LTS Node.js:
nvm install --ltsnvm use --ltsnvm alias default nodePython Environment
Install pyenv for Python version management:
brew install pyenvecho 'eval "$(pyenv init -)"' >> ~/.zshrcsource ~/.zshrcInstall Python:
pyenv install 3.11.0pyenv global 3.11.0Git 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 maingit config --global pull.rebase trueSSH 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_ed25519pbcopy < ~/.ssh/id_ed25519.pubNow go to GitHub → Settings → SSH Keys and paste
System Maintenance
Regular Updates
Keep your system and applications up to date:
# Update Homebrew and all packagesbrew update && brew upgrade# Update Oh My Zshomz update# Update npm packages globallynpm update -gCloud 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-jsonTouch ID for sudo
Enable Touch ID for sudo commands:
sudo nano /etc/pam.d/sudoAdd this line at the top:
auth sufficient pam_tid.soShow Path Bar in Finder
defaults write com.apple.finder ShowPathbar -bool trueFaster Dock Auto-Hide
defaults write com.apple.dock autohide-delay -float 0defaults write com.apple.dock autohide-time-modifier -float 0.4killall DockPaste Without Formatting (Essential for Cursor)
Set up ⌘⇧V for paste without formatting - crucial when working in Cursor:
System Settings → Keyboard → Keyboard Shortcuts → App ShortcutsAdd 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 clipboardPosition 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 ShortcutsFind "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 here.
This guide covers theming for VS Code, iTerm2, browsers with Stylus, Discord, Obsidian, and more!