My System Setup

The highlights of my Mac configuration that I would put back in place first if I had to start over.

Last configured: M4 Mac — March 24, 2026


Package Managers

ToolInstall method
Homebrewbrew.sh
pnpmcorepack enable && corepack prepare pnpm@latest --activate
nvmstandard install; then get node via nvm install node
yarn

CLI Tools

ToolPurpose
gitVersion control
ghGitHub CLI
pythonCheck with python3 --version

Terminal Setup

  • iTerm2 — terminal emulator
  • Oh My Zsh — shell framework (setup guide)
    • PowerLevel10K — prompt theme (include VS Code terminal font)
    • zsh-syntax-highlighting
    • zsh-completions

Essential Apps

AppPurpose
1PasswordPassword manager — connect everywhere
ArcBrowser
SpotifyMusic
VS CodeWeb / React Native development
XcodeiOS simulators, App Store certificates
NotionNotes
ObsidianRelational markdown notes with strong data sovereignty

Mac Behavior

AppPurposeNotes
AlfredImproved searchSee config below
Better Touch ToolCustom trackpad/mouse commands
boringNotchTemporary file shelf in notch area
AltTabcmd+tab expands minimized windowsSet Select previous window to shift+tab in Settings → Shortcuts
MonitorControlExternal monitor brightnessbrew install --cask monitorcontrol

Alfred config:

  • Suppress banner
  • Shortcuts: access Apple Shortcuts via sc
  • Wordsmith (thesaurus): trigger with the

Known issue: Alfred not populating inline options (e.g. Power Thesaurus, Wordsmith)


Chrome Extensions

  • 1Password
  • Adblock Plus
  • Star History / GitHub Star History
  • YouTube Default Playback Speed (default 2×)
  • Youtube Playback Speed Control
  • Auto High Quality for YouTube
  • ReaderView
  • Antigram — Instagram modifier
  • Better History

System Preferences

  • Trackpad: Disable swipe between pages (two fingers) — prevents accidental back navigation
  • Calendar: Add to Spotlight privacy list — to prefer Fantastical instead
  • Mission Control: Disable Automatically rearrange Spaces based on most recent use Settings → Desktop & Dock → uncheck the option

Utilities

AppPurpose
TRexOCR via screenshot
ActivityWatchTime tracking
noTunesPrevent Apple Music from opening; installed with brew install --cask notunes

WebP Image Conversion

Saved as a Quick Action in ~/Library/Services. Source

for f in "$@"; do
  ext="${f##*.}"
  ext_lower=$(echo "$ext" | tr '[:upper:]' '[:lower:]')

  case "$ext_lower" in
    heic|heif)
      tmp="/tmp/$(basename "${f%.*}").png"
      /usr/bin/sips -s format png "$f" --out "$tmp" >/dev/null
      /opt/homebrew/bin/cwebp -q 80 -quiet "$tmp" -o "${f%.*}.webp"
      rm -f "$tmp"
      ;;
    jpg|jpeg|png|tiff)
      /opt/homebrew/bin/cwebp -q 80 -quiet "$f" -o "${f%.*}.webp"
      ;;
    *)
      # skip unsupported formats
      ;;
  esac
done

VS Code Extensions

ExtensionID
Markdown Inline Previewmarkdown-inline-preview
cSpell

cSpell settings.json config:

"cSpell.enabledFileTypes": {
  "*": true,
  "json": false,
  "jsonc": false,
  "log": false
}

Coded & written by James Mitofsky