macOS system defaults¶
setup/darwin/config.sh (the defaults stage of install.sh) applies a curated set of
defaults write calls. Each is idempotent — re-running the stage doesn't churn state.
Input & trackpad¶
defaults write -g ApplePressAndHoldEnabled -bool false
defaults write com.apple.AppleMultitouchTrackpad TrackpadThreeFingerDrag -bool true
- Press-and-hold disabled so key repeat works (essential for Vim).
- Three-finger drag for window dragging without click-and-hold.
Menu bar¶
defaults write -g _HIHideMenuBar -bool false
defaults write -g AppleMenuBarVisibleInFullscreen -bool false
defaults write com.apple.controlcenter AutoHideMenuBarOption -int 2
killall SystemUIServer
Menu bar always visible except in full-screen apps.
Finder & desktop¶
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool false
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false
defaults write com.apple.finder ShowMountedServersOnDesktop -bool false
defaults write com.apple.finder CreateDesktop -bool false # hide ALL desktop icons
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
defaults write com.apple.finder ShowPathbar -bool true
defaults write com.apple.finder ShowStatusBar -bool true
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
- Desktop icons hidden entirely.
- No
.DS_Storeon network volumes. - Path bar + status bar always shown.
Screenshots¶
Software update¶
Daily check.
Spaces & Dock¶
defaults write com.apple.spaces "spans-displays" -bool false
defaults write com.apple.dock "mru-spaces" -bool false
defaults write com.apple.dock autohide -bool false
defaults write com.apple.dock largesize -float 96
defaults write com.apple.dock "minimize-to-application" -bool true
defaults write com.apple.dock tilesize -float 48
killall Dock
- Spaces are per-display, not spanning.
- Spaces don't reorder themselves.
- Dock visible, minimize-to-app, 48 px tiles → 96 px magnified.
Window behaviour¶
defaults write -g NSWindowShouldDragOnGesture -bool true
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
- Drag windows by clicking anywhere with the appropriate gesture.
- No window animations — they slow everything down for no benefit.
GPG & smartcard¶
defaults write org.gpgtools.common UseKeychain -bool yes
defaults write org.gpgtools.common DisableKeychain -bool no
sudo defaults write /Library/Preferences/com.apple.security.smartcard enforceSmartCard -bool true
sudo defaults write /Library/Preferences/com.apple.security.smartcard allowUnmappedUsers -int 1
The last two enforce smartcard authentication for the login user — paired with the YubiKey
setup. allowUnmappedUsers = 1 keeps unmapped users from being locked out, important if you
test with multiple cards.