Mac Configuration

If I ever need to start over, the first apps I'd install and settings I'd configure.

Looking into the old quarry from just in front of Quarry Works Theatre in Vermont.
Last updated:
Table of Contents

Last configured: M4 Mac — March 24, 2026

Quickstart

New machine? Minimums for getting up and running:

Package Managers

Installing stuff begins with installing a way to install stuff.

ToolInstall method
Homebrewbrew.sh
yarntodo: install steps here

Then get pnpm using corepack enable && corepack prepare pnpm@latest --activate
nvmStandard install → then get node via nvm install node

Apps: Essential

AppPurpose
1PasswordPassword manager — connect everywhere
ArcBrowser
SpotifyMusic

Continued Setup

Time to spare? Continue the setup with these.

Apps: All

AppPurposeNotes
AlfredImproved searchAlfred 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)
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
LibreOfficeWriting documents / spreadsheets
VS CodeWeb / React Native developmentExtensions:
_ Markdown Inline Preview → markdown-inline-preview
_ cSpell → todo: add ID here
ObsidianRelational markdown notes with strong data ownership
LogseqOutliner for notetaking; data ownership
XcodeiOS simulators, App Store certificates

More like utilities

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

Browser Extensions (chromium)

  • 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

Mac

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

Random Code Modifications

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

Customizing Settings by App

LibreOffice

  • Assign strikethrough to Cmd+Shift+X by going to Tools → Customize → Keyboard

VS Code Config

cSpell settings.json config:

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

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
Coded & written by James Mitofsky