Quiet Mind Wiki

macOS Bootstrap

The Quiet Mind macOS Bootstrap sets up and configures a new macOS system — installing apps, applying settings, and getting you productive fast.

See Zsh Commands for a guide on to commands that are available in the Zsh configuration this bootstrap provides.

Prerequisites

Before running the bootstrap script, complete the following steps.

Sign in to iCloud & App Store

Sign in to both iCloud and the App Store using your Apple ID.

  • iCloud: System Settings → Apple ID
  • App Store: Open the App Store app → Sign In

Install Xcode Command Line Tools

bash
xcode-select --install

Previewing the Script

It's best practice to review the contents of a script before running it.

bash
curl -fsSL quietmind.sh | less

Running the Script

To run the script just pass it to bash.

bash
curl -fsSL quietmind.sh | bash
Alternatively, you can also pass the --slack flag to bash, to install Slack through Homebrew.
bash
curl -fsSL quietmind.sh | bash -s -- --slack

What's Included

Installs and configures dotfiles, Phoenix for window management, and Karabiner-Elements for custom keyboard shortcuts.

Also included are scripts to periodically clean up your Downloads folder and wipe your Screenshots folder.

For a full picture of what gets installed, see the Brewfile, global npm packages, and App Store apps in the dotfiles repo.

macOS System Configurations

Mouse

  • Disable natural (reverse) scroll direction

Keyboard

  • Key repeat rate: 2 (fast)
  • Initial key repeat delay: 15 (short)

Trackpad

  • Tracking speed: 2.0
  • Enable tap to click (built-in and Bluetooth trackpad)
  • Enable three-finger drag (built-in and Bluetooth trackpad)
  • Enable App Exposé swipe gesture

Dock

  • Tile size: 72px
  • Enable magnification at 115px
  • Enable auto-hide
  • Hide recent apps

Desktop Icons

  • Hide internal hard drives
  • Hide external hard drives
  • Hide removable media
  • Hide mounted servers

Widgets

  • Always hide widgets on desktop

Mission Control

  • Disable automatic Space reordering based on recent use
  • Disable switching to a Space when activating an app
  • Disable dragging windows into Spaces

Stage Manager

  • Disable "click wallpaper to show desktop" outside of Stage Manager

Screenshots

  • Save location: ~/Pictures/Screenshots
  • Disable window drop shadow in screenshots

Window Management

  • Space-switching edge-drag delay: 3.0 seconds

Recent Items

  • Disable recent applications (max 0)
  • Disable recent documents (max 0)
  • Disable recent servers (max 0)

Network / File System

  • Disable .DS_Store creation on network drives

TextEdit

  • Open a new blank document on launch (instead of the Open dialog)

Finder

  • Show all file extensions
  • Default search scope to current folder
  • Show path bar
  • Show status bar
  • New window opens to ~/Downloads/

Lock Screen

  • Require password immediately after screensaver begins

iCloud

  • Default save location: local disk (not iCloud Drive)

Text Substitution

  • Disable smart quotes
  • Disable smart dashes

Screensaver

  • Idle time before activation: 300 seconds (5 minutes)
  • Screensaver: Aerial (/Library/Screen Savers/Aerial.saver)
  • Import Aerial preferences from ~/.config/aerial/prefs.plist (if present)

AirDrop

  • Discoverability: Off

LaunchAgents (Scheduled Tasks)

  • com.ezra.cleanup-downloads — runs ~/.bin/cleanup_downloads.sh every 4 hours, also at login
  • com.ezra.cleanup-screenshots — runs ~/.bin/cleanup_screenshots.sh every 4 hours, also at login

Post-Install

After running this macOS bootstrap script, you should run the following commands.

Set your name in your Git config.

bash
git config --file ~/.config/gitconfig user.name "Your Name"

Set your email in your Git config.

bash
git config --file ~/.config/gitconfig user.email "you@email.com"

Set the hostname of your system.

bash
sudo scutil --set HostName "your-hostname"
bash
sudo scutil --set LocalHostName "your-hostname"
bash
sudo scutil --set ComputerName "your-hostname"