Install & Configure macOS Big Sur

Create Installation Disk

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


  • Easy, next next next - Appearance to Dark, Your Languages, Install Updates.

Install Apps, Utils, Libs

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

Configure System & User

    # General: Allow Handoff between this Mac and your iCloud devices.
    # Security & Privacy -> General: Require password immediately.
    # Right Sidebar - Weather.
    # Bluetooth: Show Bluetooth in the menu bar
    # Open Finder: New finder: "home". Sidebar: Show "home", Disable Tags.
    # Open Brave: Default browser and setup.
# 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 (default) 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
# Other
  # Show battery percentage
  defaults write ShowPercent -string "YES"
  # Save to disk by default - not to iCloud
  defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false
  # Prevent Time Machine from prompting to use new hard drives as backup volume
  defaults write DoNotOfferNewDisksForBackup -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, MSCode.

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`.