A follow up to my previous post updated for Tahoe.
Apple Intelligence background processing eats battery — leave it off unless you want it.
Most blocks need a process restart to take effect — there's a single
killallblock at the end. A handful (keyboard repeat, lock screen, firmware-level) need a logout or reboot.
Finder
# Show all file extensions, including ones macOS hides by default
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
# Show dotfiles and other normally-hidden files in Finder
defaults write com.apple.finder AppleShowAllFiles -bool true
# Show the breadcrumb path bar at the bottom of every Finder window
defaults write com.apple.finder ShowPathbar -bool true
# Show the item-count / free-space status bar at the bottom of Finder windows
defaults write com.apple.finder ShowStatusBar -bool true
# Skip the "are you sure?" warning when changing a file's extension
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
# Default new Finder windows to column view (Clmv); other values: icnv, Nlsv, Flwv
defaults write com.apple.finder FXPreferredViewStyle -string "Clmv"
# Default Finder searches to the current folder instead of "This Mac"
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
# Allow ⌘Q to quit Finder (and clear the desktop)
defaults write com.apple.finder QuitMenuItem -bool true
# Make text in Quick Look previews selectable
defaults write com.apple.finder QLEnableTextSelection -bool true
# Show the full POSIX path of the current folder in the Finder window title
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
# When sorting by name, group folders above files
defaults write com.apple.finder _FXSortFoldersFirst -bool true
# New Finder windows open at the home folder (PfHm); other values: PfDe (Desktop), PfDo (Documents), PfLo (custom path)
defaults write com.apple.finder NewWindowTarget -string "PfHm"
# Show mounted external hard drives on the desktop
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
# Show mounted network servers on the desktop
defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
# Show USB drives, SD cards, etc. on the desktop
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
# Skip the empty-Trash confirmation dialog
defaults write com.apple.finder WarnOnEmptyTrash -bool false
# Snap desktop and icon-view items to a grid (Set if the key exists, Add otherwise — idempotent)
for view in DesktopViewSettings FK_StandardViewSettings StandardViewSettings; do
/usr/libexec/PlistBuddy -c "Set :${view}:IconViewSettings:arrangeBy grid" \
~/Library/Preferences/com.apple.finder.plist 2>/dev/null \
|| /usr/libexec/PlistBuddy -c "Add :${view}:IconViewSettings:arrangeBy string grid" \
~/Library/Preferences/com.apple.finder.plist
done
# Don't write .DS_Store files on SMB/AFP network shares
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
# Don't write .DS_Store files on USB sticks and other removable media
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
# Always show scrollbars instead of fading them in/out
defaults write NSGlobalDomain AppleShowScrollBars -string "Always"
Dock & Mission Control
# Set Dock icon size to 36px
defaults write com.apple.dock tilesize -int 36
# Auto-hide the Dock when not in use
defaults write com.apple.dock autohide -bool true
# No delay before the Dock slides in on hover
defaults write com.apple.dock autohide-delay -float 0
# No animation duration for showing/hiding the Dock
defaults write com.apple.dock autohide-time-modifier -float 0
# In Mission Control, group windows by application instead of scattering them
defaults write com.apple.dock expose-group-by-app -bool true
# Hide the "Recent Applications" section of the Dock
defaults write com.apple.dock show-recents -bool false
# Highlight individual items on hover when a stack is open in grid/fan view
defaults write com.apple.dock mouse-over-hilite-stack -bool true
# Required precondition in Tahoe for non-default mineffect values to actually apply
defaults write com.apple.dock slow-motion-allowed -bool true
# Window-minimize animation: "suck" pulls into the Dock corner (alternates: genie, scale)
defaults write com.apple.dock mineffect -string "suck"
Hot Corners
Action values: 0 disabled · 2 Mission Control · 3 App Windows · 4 Desktop · 5 Start Screen Saver · 6 Disable Screen Saver · 10 Display Sleep · 11 Launchpad · 12 Notification Center · 13 Lock Screen · 14 Quick Note. Modifier values: 0 none · 131072 Shift · 262144 Control · 524288 Option · 1048576 Command.
# Top-right corner triggers Mission Control
defaults write com.apple.dock wvous-tr-corner -int 2
# No modifier key required for the top-right hot corner
defaults write com.apple.dock wvous-tr-modifier -int 0
# Bottom-right corner triggers Lock Screen
defaults write com.apple.dock wvous-br-corner -int 13
# Require ⌘ for the bottom-right hot corner so it doesn't fire by accident
defaults write com.apple.dock wvous-br-modifier -int 1048576
Keyboard
# Tab through every UI control, not just text fields and lists (full keyboard access)
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3
# Disable the accent-character popup on long-press; restore standard key-repeat behaviour
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false
# Time between repeats once a key is held — 1 = ~15ms, faster than the System Settings slider permits
defaults write NSGlobalDomain KeyRepeat -int 1
# Delay before repeating starts — 10 = 150ms; values below 10 cause keys to repeat from a hard stare
defaults write NSGlobalDomain InitialKeyRepeat -int 15
Trackpad & Mouse
# Disable Force Touch / Force Click on the built-in trackpad (no haptic press-deeper gesture)
defaults write com.apple.AppleMultitouchTrackpad ForceSuppressed -int 1
# Enable secondary (right) click on a USB Magic Mouse
defaults write com.apple.AppleMultitouchMouse MouseButtonMode -string "TwoButton"
# Enable secondary (right) click on a Bluetooth Magic Mouse
defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseButtonMode -string "TwoButton"
Text input
Disable the auto-correct apparatus that turns your code comments into prose.
# Don't replace straight quotes with curly quotes
defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false
# Don't replace -- with en-dash or --- with em-dash
defaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false
# Don't insert a period when you type two spaces
defaults write NSGlobalDomain NSAutomaticPeriodSubstitutionEnabled -bool false
# Don't auto-capitalise the first word of sentences
defaults write NSGlobalDomain NSAutomaticCapitalizationEnabled -bool false
# Don't autocorrect typos
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
# Disable inline text prediction — also fixes the Tahoe typing-lag bug when Reduce Motion is enabled
defaults write NSGlobalDomain NSAutomaticInlinePredictionEnabled -bool false
UI responsiveness
# Make window resize animations effectively instant
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001
# Disable open/close window animations system-wide
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false
# Don't let macOS auto-quit ("automatically terminate") inactive apps and leave zombie processes
defaults write NSGlobalDomain NSDisableAutomaticTermination -bool true
# Speed up Launchpad opening animation
defaults write com.apple.dock springboard-show-duration -float 0.1
# Speed up Launchpad closing animation
defaults write com.apple.dock springboard-hide-duration -float 0.1
# Speed up Launchpad page-swipe animation
defaults write com.apple.dock springboard-page-duration -float 0.2
Screenshots
# Make a dedicated folder for screenshots so they don't litter the Desktop
mkdir -p "${HOME}/Pictures/Screenshots"
# Save screenshots into that folder instead of ~/Desktop
defaults write com.apple.screencapture location -string "${HOME}/Pictures/Screenshots"
# Save as PNG
defaults write com.apple.screencapture type -string "png"
# Use "shot" as the filename prefix instead of "Screenshot"
defaults write com.apple.screencapture name -string "shot"
# Don't add the drop shadow that ⌘⇧4-then-Space adds around captured windows
defaults write com.apple.screencapture disable-shadow -bool true
# Disable the floating thumbnail that hangs in the corner after each capture
defaults write com.apple.screencapture show-thumbnail -bool false
Lock screen
# Require a password to wake the Mac from screensaver or sleep
defaults write com.apple.screensaver askForPassword -int 1
# Require it immediately, with no grace period
defaults write com.apple.screensaver askForPasswordDelay -int 0
Quiet apps
# Time Machine: stop offering newly-attached disks as backup volumes
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true
# Don't auto-launch Photos / Image Capture when an iPhone or camera is plugged in
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool true
# Default new documents to local disk instead of iCloud Drive
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false
# Show the input-source menu (keyboard layout / emoji picker) on the login window
sudo defaults write /Library/Preferences/com.apple.loginwindow showInputMenu -bool true
# Suppress the crash-reporter dialog (reports still land in ~/Library/Logs/DiagnosticReports/)
defaults write com.apple.CrashReporter DialogType none
# QuickTime: cap the recent-documents list to zero entries so it stops remembering opened files
defaults write com.apple.QuickTimePlayerX NSRecentDocumentsLimit -int 0
# QuickTime: same cap on the LSSharedFileList store that the menu actually reads from
defaults write com.apple.QuickTimePlayerX.LSSharedFileList RecentDocuments -dict-add MaxAmount 0
Privacy & telemetry
The CLI half:
# Don't auto-submit crash logs to Apple
sudo defaults write "/Library/Application Support/CrashReporter/DiagnosticMessagesHistory" AutoSubmit -bool false
# Don't auto-submit third-party app crash data either
sudo defaults write "/Library/Application Support/CrashReporter/DiagnosticMessagesHistory" ThirdPartyDataSubmit -bool false
# Opt out of sharing Siri/dictation usage with Apple Analytics
defaults write com.apple.assistant.support "Siri Data Sharing Opt-In Status" -int 2
# Hide the Siri icon from the menu bar
defaults write com.apple.Siri StatusMenuVisible -bool false
# Disable "Ask Siri" as much as possible without disabling SIP
defaults write com.apple.assistant.support "Assistant Enabled" -bool false
# Stop advertising the user's current activity (web pages, documents) to nearby Apple devices
defaults -currentHost write com.apple.coreservices.useractivityd ActivityAdvertisingAllowed -bool false
# Refuse incoming Handoff broadcasts from other Apple devices
defaults -currentHost write com.apple.coreservices.useractivityd ActivityReceivingAllowed -bool false
# Stop announcing services (printers, AirPlay, file shares) to the local network via mDNS/Bonjour
sudo defaults write /Library/Preferences/com.apple.mDNSResponder NoMulticastAdvertisements -bool true
The GUI-only half (do this once, after first boot):
- System Settings → Privacy & Security → Analytics & Improvements → off both Share Mac Analytics and Share iCloud Analytics.
- System Settings → Spotlight → off Help Apple Improve Search and Siri Suggestions (kills web suggestions).
- System Settings → Apple Intelligence & Siri → off Apple Intelligence unless you want it.
Network hardening
# Turn the macOS application firewall on
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# Enable stealth mode: don't reply to ICMP ping or unsolicited probes
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on
# DNS. Pick one set.
# Cloudflare 1.1.1.1
sudo networksetup -setdnsservers "Wi-Fi" 1.1.1.1 1.0.0.1
# Quad9 9.9.9.9
# sudo networksetup -setdnsservers "Wi-Fi" 9.9.9.9 149.112.112.112
# Or better yet pay for and use NextDNS
# Disable Power Nap (no background mail/iCloud syncing while asleep)
sudo pmset -a powernap 0
# Disable Wake-on-LAN
sudo pmset -a womp 0
For DNS-over-HTTPS / DNS-over-TLS, use System Settings → Network → Wi-Fi → Details → DNS and pick “Encrypted DNS”.
Spotlight & Xcode performance
If you do iOS work, exclude the simulator volumes from Spotlight — the indexing turns 30-second builds into 10-minute builds.
System Settings → Spotlight → Search Privacy → add /Library/Developer/CoreSimulator/Volumes/
To disable Spotlight indexing entirely:
# Turn metadata indexing off on every mounted volume (the daemon keeps running, but won't index)
sudo mdutil -a -i off
Remote access
Off by default. If you want SSH on, Tahoe lets you unlock FileVault over SSH after a reboot, which is genuinely useful for headless machines.
# Disable the SSH server
sudo systemsetup -setremotelogin off
# Confirm it's off (should print "Remote Login: Off")
systemsetup -getremotelogin
FileVault
# Print FileVault status and which users are authorised to unlock the disk
fdesetup status -extended
# Verify the current user has a Secure Token (required for FileVault on Apple Silicon / T2)
sysadminctl -secureTokenStatus "$(id -un)"
# Test that the stored recovery key actually works (interactive — paste the key when prompted)
sudo fdesetup validaterecovery
Touch ID for sudo
# Enable Touch ID for sudo via Apple's update-safe template, written to /etc/pam.d/sudo_local
if [ ! -f /etc/pam.d/sudo_local ]; then
sed '$s/^#//' /etc/pam.d/sudo_local.template | sudo tee /etc/pam.d/sudo_local >/dev/null
fi
Power & firmware
# Mute the startup chime (Apple Silicon firmware)
sudo nvram StartupMute=%00
# Don't auto-reboot after power loss
sudo pmset -a autorestart 0
Apply
# Restart the affected processes so the writes above take effect
killall Finder Dock SystemUIServer cfprefsd 2>/dev/null
Keyboard repeat, lock screen, login window, and any sudo defaults writes need a logout. The nvram and most pmset lines need a reboot. Everything else is live.
Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.