Install & Configure macOS Monterey

Create Installation Disk

sudo /Applications/Install\ macOS\ --volume /Volumes/Disk --nointeraction


  • Easy, Next/Next/Next (but please check the advanced settings) - Select Your Country or Region, Cognitive = Dark, Wi-Fi.

Install Apps, Utils, Libs

[ ! -e /usr/local/bin/brew ] && /bin/bash -c "$(curl -fsSL" && brew analytics off
brew install python ansible git tig htop zsh npm # Optional: ffmpeg ImageMagick
[ ! -e ~/.oh-my-zsh ] && /bin/bash -c "$(curl -fsSL"
brew install --cask visual-studio-code brave-browser # Optional: iterm2 little-snitch appcleaner docker

Configure System & User

# Manual Settings
    # Right Sidebar - Weather.
    # Dock & Menu Bar, Bluetooth: Show Bluetooth in the menu bar
    # Dock & Menu Bar, Battery: Show percentage
    # Mission Control, Hot Corners, Disable Quick Note
    # Extensions, Touch Bar, Control Strip, Replace Siri with Screen Lock.
    # Security & Privacy -> General: Require password immediately.
    # Security & Privacy -> FileVault: Turn On.
    # Security & Privacy -> Firewall: Turn On.
    # Open Finder: New finder: "home". Sidebar: Show "home", Disable Tags.
    # Open Brave: Default browser and configure it.
# General
  # Ask to keep changes when closing documents
  defaults write NSGlobalDomain NSCloseAlwaysConfirmsChanges -bool true
  defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false
# Dock
  defaults write persistent-apps -array              # Wipe all app icons from the Dock
  defaults write tilesize -int 36                    # Size
  defaults write orientation -string "left"          # Position on screen
  defaults write minimize-to-application -bool true  # Minimise windows into application icon
  defaults write autohide -bool true                 # Automatically hide and show the Dock
  defaults write show-recents -bool false            # Show recent applications in Dock
  killall Dock
# Keyboard
  # Text: Disable auto-correct
  defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
# Trackpad
  # Trackpad: enable tap to click for this user and for the login screen
  defaults write Clicking -bool true
  defaults write Clicking -bool true
  # Enable tap at login as well
  defaults -currentHost write NSGlobalDomain -int 1
  defaults write NSGlobalDomain -int 1
# Accessibility
  # Mouse & Trackpad -> Trackpad Options -> Enable Dragging
  defaults write Dragging -bool true
  defaults write Dragging -bool true

Configure Applications

# TextEdit
  # Use plain text mode for new TextEdit documents
  defaults write RichText -int 0
  # Open and save files as UTF-8 in TextEdit
  defaults write PlainTextEncoding -int 4
  defaults write PlainTextEncodingForWrite -int 4
# Finder
  # Set Desktop as the default location for new Finder windows
  # For other paths, use `PfLo` and `file:///full/path/here/`
  defaults write NewWindowTarget -string "PfDe"
  defaults write NewWindowTargetPath -string "file://${HOME}/"
  # Show icons for hard drives, servers, and removable media on the desktop
  defaults write ShowExternalHardDrivesOnDesktop -bool false
  defaults write ShowHardDrivesOnDesktop -bool false
  defaults write ShowMountedServersOnDesktop -bool false
  defaults write ShowRemovableMediaOnDesktop -bool false
  # Keep folders on top when sorting by name
  defaults write _FXSortFoldersFirst -bool true
  # When performing a search, search the current folder by default
  defaults write FXDefaultSearchScope -string "SCcf"
  # Disable the warning when changing a file extension
  defaults write FXEnableExtensionChangeWarning -bool false
  # Use list view in all Finder windows by default
  defaults write FXPreferredViewStyle -string "Nlsv"
# Reboot

Configure from GUI

  • Dock: Brave (Optional Extension: Mailvelope), iTerm2, Visual Studio Code.

Optional - Config Changes

# Save configs: `defaults read > 1.configbk`.
# Change Config from GUI.
# Save & Check what configs changed: `defaults read > 2.configbk; diff 1.configbk 2.configbk`.