|
#!/usr/bin/env bash |
|
|
|
# ~/.macos — https://mths.be/macos |
|
|
|
# Close any open System Preferences panes, to prevent them from overriding |
|
# settings we’re about to change |
|
osascript -e 'tell application "System Preferences" to quit' |
|
|
|
# Ask for the administrator password upfront |
|
sudo -v |
|
|
|
# Keep-alive: update existing `sudo` time stamp until `.macos` has finished |
|
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null & |
|
|
|
############################################################################### |
|
# General UI/UX # |
|
############################################################################### |
|
|
|
# Set computer name (as done via System Preferences → Sharing) |
|
sudo scutil --set ComputerName "MBP" |
|
sudo scutil --set LocalHostName "MBP" |
|
|
|
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string "MBP" |
|
|
|
# Disable transparency in the menu bar and elsewhere on Yosemite |
|
defaults writes com.apple.universalaccess reduceTransparency -bool true |
|
|
|
# Set highlight color to blue |
|
defaults write NSGlobalDomain AppleHighlightColor -string "0.698039 0.843137 1.000000" |
|
|
|
# Always show scrollbars |
|
# Possible values: `WhenScrolling`, `Automatic` and `Always` |
|
defaults write NSGlobalDomain AppleShowScrollBars -string "Always" |
|
|
|
|
|
# Disable automatic capitalization as it’s annoying when typing code |
|
defaults write NSGlobalDomain NSAutomaticCapitalizationEnabled -bool false |
|
|
|
# Disable smart dashes as they’re annoying when typing code |
|
defaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false |
|
|
|
# Disable automatic period substitution as it’s annoying when typing code |
|
defaults write NSGlobalDomain NSAutomaticPeriodSubstitutionEnabled -bool false |
|
|
|
# Disable smart quotes as they’re annoying when typing code |
|
defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false |
|
|
|
# Disable auto-correct |
|
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false |
|
|
|
|
|
############################################################################### |
|
# Firewall & Security # |
|
############################################################################### |
|
|
|
# Enable Firewall. Possible values: |
|
# 0 = off |
|
# 1 = on for specific services |
|
# 2 = on for essential services |
|
sudo defaults write /Library/Preferences/com.apple.alf globalstate -int 1 |
|
|
|
# Enable Stealth mode |
|
sudo defaults write /Library/Preferences/com.apple.alf stealthenabled -int 1 |
|
|
|
# Enable Firewall logging |
|
sudo defaults write /Library/Preferences/com.apple.alf loggingenabled -int 1 |
|
|
|
# Disable IR remote control. |
|
sudo defaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -bool false |
|
|
|
############################################################################### |
|
# Power Management # |
|
############################################################################### |
|
|
|
# Set standby delay to 24 hours (default is 1 hour) |
|
#sudo pmset -a standbydelay 86400 |
|
|
|
# To stop the display from half dimming before full display 'sleep' |
|
# http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/pmset.1.html |
|
sudo pmset -a halfdim 0 |
|
|
|
# Sleep options |
|
sudo pmset -a displaysleep 5 |
|
sudo pmset -a sleep 0 |
|
sudo pmset -a disksleep 0 |
|
|
|
# Wake for network access |
|
#sudo pmset -a womp 1 |
|
|
|
# Don't restart after power failure |
|
sudo pmset -a autorestart 0 |
|
|
|
# Wake computer when laptop is opened |
|
sudo pmset -a lidwake 1 |
|
|
|
# Don't wake computer when power source changes |
|
sudo pmset -a acwake 0 |
|
|
|
# Don't dim brightness on any different source |
|
# sudo pmset -a lessbright 0 |
|
|
|
# Disable sudden motion sensor |
|
sudo pmset -a sms 0 |
|
|
|
# Disable hibernation (speeds up entering sleep mode) |
|
#sudo pmset -a hibernatemode 0 |
|
|
|
# Power button behavior |
|
defaults write com.apple.loginwindow PowerButtonSleepsSystem -bool NO |
|
|
|
############################################################################### |
|
# Trackpad, mouse, keyboard, Bluetooth accessories, and input # |
|
############################################################################### |
|
|
|
# Trackpad: enable tap to click for this user and for the login screen |
|
#defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true |
|
defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1 |
|
#defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1 |
|
|
|
# Enable full keyboard access for all controls (e.g. enable Tab in modal dialogs) |
|
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3 |
|
|
|
|
|
# Stop iTunes from responding to the keyboard media keys |
|
launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist 2> /dev/null |
|
|
|
############################################################################### |
|
# Screen # |
|
############################################################################### |
|
|
|
# Disable the screen saver (System Preferences must be closed) |
|
defaults -currentHost write com.apple.screensaver idleTime -int 0 |
|
|
|
# Require password immediately after sleep or screen saver begins |
|
defaults write com.apple.screensaver askForPassword -int 1 |
|
defaults write com.apple.screensaver askForPasswordDelay -int 0 |
|
|
|
# Save screenshots to the Pictures folder |
|
defaults write com.apple.screencapture location -string "${HOME}/Library/Mobile Documents/com~apple~CloudDocs/ScreenShots" |
|
|
|
############################################################################### |
|
# Finder # |
|
############################################################################### |
|
|
|
# Set Documents (PfDo) as the default location for new Finder windows |
|
defaults write com.apple.finder NewWindowTarget -string "PfDe" |
|
|
|
# Finder: show all filename extensions |
|
defaults write NSGlobalDomain AppleShowAllExtensions -bool true |
|
|
|
# Finder: show status bar |
|
defaults write com.apple.finder ShowStatusBar -bool true |
|
|
|
# Finder: show path bar |
|
defaults write com.apple.finder ShowPathbar -bool true |
|
|
|
# When performing a search, search the current folder by default |
|
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf" |
|
|
|
# Enable spring loading for directories |
|
defaults write NSGlobalDomain com.apple.springing.enabled -bool true |
|
|
|
|
|
# Use list view in all Finder windows by default |
|
# Four-letter codes for the other view modes: |
|
# List: `Nlsv` |
|
# Icon: `icnv` |
|
# Column: `clmv` |
|
# Gallery: `Flwv` |
|
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv" |
|
|
|
############################################################################### |
|
# Menu # |
|
############################################################################### |
|
|
|
defaults write com.apple.systemuiserver menuExtras -array \ |
|
"/System/Library/CoreServices/Menu Extras/AirPort.menu" \ |
|
"/System/Library/CoreServices/Menu Extras/Battery.menu" \ |
|
"/System/Library/CoreServices/Menu Extras/Bluetooth.menu" \ |
|
"/System/Library/CoreServices/Menu Extras/Clock.menu" \ |
|
"/System/Library/CoreServices/Menu Extras/TimeMachine.menu" \ |
|
"/System/Library/CoreServices/Menu Extras/Volume.menu" |
|
|
|
defaults write com.apple.menuextra.battery ShowPercent -bool true |
|
|
|
############################################################################### |
|
# Dock, Dashboard, and hot corners # |
|
############################################################################### |
|
|
|
# Enable highlight hover effect for the grid view of a stack (Dock) |
|
#defaults write com.apple.dock mouse-over-hilite-stack -bool true |
|
|
|
# Set the icon size of Dock items to tiny |
|
#defaults write com.apple.dock tilesize -int 16 |
|
|
|
# Disable dock magification |
|
defaults write com.apple.dock magnification -bool false |
|
|
|
# Put the dock on left side |
|
defaults write com.apple.dock orientation -string "left" |
|
|
|
# Change minimize/maximize window effect |
|
#defaults write com.apple.dock mineffect -string "scale" |
|
|
|
# Minimize windows into their application’s icon |
|
defaults write com.apple.dock minimize-to-application -bool true |
|
|
|
# Enable spring loading for all Dock items |
|
#defaults write com.apple.dock enable-spring-load-actions-on-all-items -bool true |
|
|
|
# Show indicator lights for open applications in the Dock |
|
defaults write com.apple.dock show-process-indicators -bool true |
|
|
|
# Wipe all (default) app icons from the Dock |
|
# This is only really useful when setting up a new Mac, or if you don’t use the Dock to launch apps. |
|
defaults write com.apple.dock persistent-apps -array |
|
|
|
# Show only open applications in the Dock |
|
defaults write com.apple.dock static-only -bool true |
|
|
|
# Don’t animate opening applications from the Dock |
|
#defaults write com.apple.dock launchanim -bool false |
|
|
|
# Speed up Mission Control animations |
|
#defaults write com.apple.dock expose-animation-duration -float 0.1 |
|
|
|
# Don’t group windows by application in Mission Control |
|
# (i.e. use the old Exposé behavior instead) |
|
defaults write com.apple.dock expose-group-by-app -bool false |
|
|
|
# Disable Dashboard |
|
defaults write com.apple.dashboard mcx-disabled -bool true |
|
|
|
# Don’t show Dashboard as a Space |
|
defaults write com.apple.dock dashboard-in-overlay -bool true |
|
|
|
# Don’t automatically rearrange Spaces based on most recent use |
|
defaults write com.apple.dock mru-spaces -bool false |
|
|
|
# Set the auto-hiding Dock delay to very very slow |
|
defaults write com.apple.dock autohide-delay -int 5; |
|
|
|
# Remove the animation when hiding/showing the Dock |
|
defaults write com.apple.dock autohide-time-modifier -float 0 |
|
|
|
# Disable Automatic hide and show the Dock |
|
defaults write com.apple.dock autohide -bool false |
|
|
|
# Make Dock icons of hidden applications translucent |
|
defaults write com.apple.dock showhidden -bool true |
|
|
|
# Don’t show recent applications in Dock |
|
defaults write com.apple.dock show-recents -bool false |
|
|
|
# Disable the Launchpad gesture (pinch with thumb and three fingers) |
|
#defaults write com.apple.dock showLaunchpadGestureEnabled -int 0 |
|
|
|
# Reset Launchpad, but keep the desktop wallpaper intact |
|
#find "${HOME}/Library/Application Support/Dock" -name "*-*.db" -maxdepth 1 -delete |
|
|
|
# Add iOS & Watch Simulator to Launchpad |
|
sudo ln -sf "/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app" "/Applications/Simulator.app" |
|
sudo ln -sf "/Applications/Xcode.app/Contents/Developer/Applications/Simulator (Watch).app" "/Applications/Simulator (Watch).app" |
|
|
|
# Add a spacer to the left side of the Dock (where the applications are) |
|
#defaults write com.apple.dock persistent-apps -array-add '{tile-data={}; tile-type="spacer-tile";}' |
|
# Add a spacer to the right side of the Dock (where the Trash is) |
|
#defaults write com.apple.dock persistent-others -array-add '{tile-data={}; tile-type="spacer-tile";}' |
|
|
|
# Hot corners |
|
# Possible values: |
|
# 0: no-op |
|
# 2: Mission Control |
|
# 3: Show application windows |
|
# 4: Desktop |
|
# 5: Start screen saver |
|
# 6: Disable screen saver |
|
# 7: Dashboard |
|
# 10: Put display to sleep |
|
# 11: Launchpad |
|
# 12: Notification Center |
|
# Top left screen corner → Mission Control |
|
#defaults write com.apple.dock wvous-tl-corner -int 2 |
|
#defaults write com.apple.dock wvous-tl-modifier -int 0 |
|
# Top right screen corner → Desktop |
|
#defaults write com.apple.dock wvous-tr-corner -int 4 |
|
#defaults write com.apple.dock wvous-tr-modifier -int 0 |
|
# Bottom left screen corner → Start screen saver |
|
#defaults write com.apple.dock wvous-bl-corner -int 5 |
|
#defaults write com.apple.dock wvous-bl-modifier -int 0 |
|
|
|
############################################################################### |
|
# Safari & WebKit # |
|
############################################################################### |
|
|
|
# Privacy: don’t send search queries to Apple |
|
defaults write com.apple.Safari UniversalSearchEnabled -bool false |
|
defaults write com.apple.Safari SuppressSearchSuggestions -bool true |
|
|
|
# Press Tab to highlight each item on a web page |
|
#defaults write com.apple.Safari WebKitTabToLinksPreferenceKey -bool true |
|
#defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2TabsToLinks -bool true |
|
|
|
# Show the full URL in the address bar (note: this still hides the scheme) |
|
defaults write com.apple.Safari ShowFullURLInSmartSearchField -bool true |
|
|
|
# Set Safari’s home page to `about:blank` for faster loading |
|
defaults write com.apple.Safari HomePage -string "about:blank" |
|
|
|
# Prevent Safari from opening ‘safe’ files automatically after downloading |
|
defaults write com.apple.Safari AutoOpenSafeDownloads -bool false |
|
|
|
# Allow hitting the Backspace key to go to the previous page in history |
|
#defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool true |
|
|
|
# Hide Safari’s bookmarks bar by default |
|
#defaults write com.apple.Safari ShowFavoritesBar -bool false |
|
|
|
# Hide Safari’s sidebar in Top Sites |
|
defaults write com.apple.Safari ShowSidebarInTopSites -bool false |
|
|
|
# Disable Safari’s thumbnail cache for History and Top Sites |
|
#defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2 |
|
|
|
# Enable Safari’s debug menu |
|
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true |
|
|
|
# Make Safari’s search banners default to Contains instead of Starts With |
|
defaults write com.apple.Safari FindOnPageMatchesWordStartsOnly -bool false |
|
|
|
# Remove useless icons from Safari’s bookmarks bar |
|
defaults write com.apple.Safari ProxiesInBookmarksBar "()" |
|
|
|
# Enable the Develop menu and the Web Inspector in Safari |
|
defaults write com.apple.Safari IncludeDevelopMenu -bool true |
|
defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true |
|
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true |
|
|
|
# Add a context menu item for showing the Web Inspector in web views |
|
defaults write NSGlobalDomain WebKitDeveloperExtras -bool true |
|
|
|
# Enable continuous spellchecking |
|
defaults write com.apple.Safari WebContinuousSpellCheckingEnabled -bool true |
|
# Disable auto-correct |
|
defaults write com.apple.Safari WebAutomaticSpellingCorrectionEnabled -bool false |
|
|
|
# Disable AutoFill |
|
#defaults write com.apple.Safari AutoFillFromAddressBook -bool false |
|
#defaults write com.apple.Safari AutoFillPasswords -bool false |
|
#defaults write com.apple.Safari AutoFillCreditCardData -bool false |
|
#defaults write com.apple.Safari AutoFillMiscellaneousForms -bool false |
|
|
|
# Warn about fraudulent websites |
|
defaults write com.apple.Safari WarnAboutFraudulentWebsites -bool true |
|
|
|
# Disable plug-ins |
|
#defaults write com.apple.Safari WebKitPluginsEnabled -bool false |
|
#defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2PluginsEnabled -bool false |
|
|
|
# Disable Java |
|
defaults write com.apple.Safari WebKitJavaEnabled -bool false |
|
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2JavaEnabled -bool false |
|
|
|
# Block pop-up windows |
|
defaults write com.apple.Safari WebKitJavaScriptCanOpenWindowsAutomatically -bool false |
|
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2JavaScriptCanOpenWindowsAutomatically -bool false |
|
|
|
# Disable auto-playing video |
|
defaults write com.apple.Safari WebKitMediaPlaybackAllowsInline -bool false |
|
defaults write com.apple.SafariTechnologyPreview WebKitMediaPlaybackAllowsInline -bool false |
|
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2AllowsInlineMediaPlayback -bool false |
|
defaults write com.apple.SafariTechnologyPreview com.apple.Safari.ContentPageGroupIdentifier.WebKit2AllowsInlineMediaPlayback -bool false |
|
|
|
# Enable “Do Not Track” |
|
defaults write com.apple.Safari SendDoNotTrackHTTPHeader -bool true |
|
|
|
# Update extensions automatically |
|
defaults write com.apple.Safari InstallExtensionUpdatesAutomatically -bool true |
|
|
|
############################################################################### |
|
# Mail # |
|
############################################################################### |
|
|
|
# Disable send and reply animations in Mail.app |
|
#defaults write com.apple.mail DisableReplyAnimations -bool true |
|
#defaults write com.apple.mail DisableSendAnimations -bool true |
|
|
|
# Copy email addresses as `[email protected]` instead of `Foo Bar <[email protected]>` in Mail.app |
|
#defaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false |
|
|
|
# Add the keyboard shortcut ⌘ + Enter to send an email in Mail.app |
|
#defaults write com.apple.mail NSUserKeyEquivalents -dict-add "Send" "@\U21a9" |
|
|
|
# Display emails in threaded mode, sorted by date (oldest at the top) |
|
#defaults write com.apple.mail DraftsViewerAttributes -dict-add "DisplayInThreadedMode" -string "yes" |
|
#defaults write com.apple.mail DraftsViewerAttributes -dict-add "SortedDescending" -string "yes" |
|
#defaults write com.apple.mail DraftsViewerAttributes -dict-add "SortOrder" -string "received-date" |
|
|
|
# Disable inline attachments (just show the icons) |
|
#defaults write com.apple.mail DisableInlineAttachmentViewing -bool true |
|
|
|
# Disable automatic spell checking |
|
#defaults write com.apple.mail SpellCheckingBehavior -string "NoSpellCheckingEnabled" |
|
|
|
############################################################################### |
|
# Spotlight # |
|
############################################################################### |
|
|
|
# Hide Spotlight tray-icon (and subsequent helper) |
|
#sudo chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search |
|
|
|
# Disable Spotlight indexing for any volume that gets mounted and has not yet been indexed before. |
|
# Use `sudo mdutil -i off "/Volumes/foo"` to stop indexing any volume. |
|
sudo defaults write /.Spotlight-V100/VolumeConfiguration Exclusions -array "/Volumes" |
|
|
|
# Change indexing order and disable some search results |
|
# Yosemite-specific search results (remove them if you are using macOS 10.9 or older): |
|
# MENU_DEFINITION |
|
# MENU_CONVERSION |
|
# MENU_EXPRESSION |
|
# MENU_SPOTLIGHT_SUGGESTIONS (send search queries to Apple) |
|
# MENU_WEBSEARCH (send search queries to Apple) |
|
# MENU_OTHER |
|
defaults write com.apple.spotlight orderedItems -array \ |
|
'{"enabled" = 1;"name" = "APPLICATIONS";}' \ |
|
'{"enabled" = 1;"name" = "SYSTEM_PREFS";}' \ |
|
'{"enabled" = 1;"name" = "DIRECTORIES";}' \ |
|
'{"enabled" = 0;"name" = "PDF";}' \ |
|
'{"enabled" = 0;"name" = "FONTS";}' \ |
|
'{"enabled" = 0;"name" = "DOCUMENTS";}' \ |
|
'{"enabled" = 0;"name" = "MESSAGES";}' \ |
|
'{"enabled" = 0;"name" = "CONTACT";}' \ |
|
'{"enabled" = 0;"name" = "EVENT_TODO";}' \ |
|
'{"enabled" = 0;"name" = "IMAGES";}' \ |
|
'{"enabled" = 0;"name" = "BOOKMARKS";}' \ |
|
'{"enabled" = 0;"name" = "MUSIC";}' \ |
|
'{"enabled" = 0;"name" = "MOVIES";}' \ |
|
'{"enabled" = 0;"name" = "PRESENTATIONS";}' \ |
|
'{"enabled" = 0;"name" = "SPREADSHEETS";}' \ |
|
'{"enabled" = 0;"name" = "SOURCE";}' \ |
|
'{"enabled" = 1;"name" = "MENU_DEFINITION";}' \ |
|
'{"enabled" = 0;"name" = "MENU_OTHER";}' \ |
|
'{"enabled" = 1;"name" = "MENU_CONVERSION";}' \ |
|
'{"enabled" = 1;"name" = "MENU_EXPRESSION";}' \ |
|
'{"enabled" = 0;"name" = "MENU_WEBSEARCH";}' \ |
|
'{"enabled" = 0;"name" = "MENU_SPOTLIGHT_SUGGESTIONS";}' |
|
|
|
# Load new settings before rebuilding the index |
|
killall mds > /dev/null 2>&1 |
|
|
|
# Make sure indexing is enabled for the main volume |
|
sudo mdutil -i on / > /dev/null |
|
|
|
# Rebuild the index from scratch |
|
sudo mdutil -E / > /dev/null |
|
|
|
############################################################################### |
|
# Terminal & iTerm 2 # |
|
############################################################################### |
|
|
|
# Only use UTF-8 in Terminal.app |
|
defaults write com.apple.terminal StringEncodings -array 4 |
|
|
|
# Use a modified version of the Solarized Dark theme by default in Terminal.app |
|
#osascript <<EOD |
|
# |
|
#tell application "Terminal" |
|
# |
|
# local allOpenedWindows |
|
# local initialOpenedWindows |
|
# local windowID |
|
# set themeName to "Solarized Dark xterm-256color" |
|
# |
|
# (* Store the IDs of all the open terminal windows. *) |
|
# set initialOpenedWindows to id of every window |
|
# |
|
# (* Open the custom theme so that it gets added to the list |
|
# of available terminal themes (note: this will open two |
|
# additional terminal windows). *) |
|
# do shell script "open '$HOME/init/" & themeName & ".terminal'" |
|
# |
|
# (* Wait a little bit to ensure that the custom theme is added. *) |
|
# delay 1 |
|
# |
|
# (* Set the custom theme as the default terminal theme. *) |
|
# set default settings to settings set themeName |
|
# |
|
# (* Get the IDs of all the currently opened terminal windows. *) |
|
# set allOpenedWindows to id of every window |
|
# |
|
# repeat with windowID in allOpenedWindows |
|
# |
|
# (* Close the additional windows that were opened in order |
|
# to add the custom theme to the list of terminal themes. *) |
|
# if initialOpenedWindows does not contain windowID then |
|
# close (every window whose id is windowID) |
|
# |
|
# (* Change the theme for the initial opened terminal windows |
|
# to remove the need to close them in order for the custom |
|
# theme to be applied. *) |
|
# else |
|
# set current settings of tabs of (every window whose id is windowID) to settings set themeName |
|
# end if |
|
# |
|
# end repeat |
|
# |
|
#end tell |
|
# |
|
#EOD |
|
|
|
# Enable “focus follows mouse” for Terminal.app and all X11 apps |
|
# i.e. hover over a window and start typing in it without clicking first |
|
defaults write com.apple.terminal FocusFollowsMouse -bool true |
|
defaults write org.x.X11 wm_ffm -bool true |
|
|
|
# Enable Secure Keyboard Entry in Terminal.app |
|
# See: https://security.stackexchange.com/a/47786/8918 |
|
defaults write com.apple.terminal SecureKeyboardEntry -bool true |
|
|
|
# Disable the annoying line marks |
|
defaults write com.apple.Terminal ShowLineMarks -int 0 |
|
|
|
# Disable leading [ on prompt lines (which is totally broken in anything curses) |
|
# https://twitter.com/UINT_MIN/status/652142001932996609 |
|
#defaults write com.apple.Terminal AutoMarkPromptLines -bool false |
|
#defaults write com.apple.Terminal ShowLineMarks -bool false |
|
|
|
# Hide scrollbars in terminal |
|
defaults write com.apple.Terminal AppleShowScrollBars -string "Automatic" |
|
|
|
# Install the Solarized Dark theme for iTerm |
|
#open "${HOME}/init/Solarized Dark.itermcolors" |
|
|
|
# Don’t display the annoying prompt when quitting iTerm |
|
#defaults write com.googlecode.iterm2 PromptOnQuit -bool false |
|
|
|
############################################################################### |
|
# Time Machine # |
|
############################################################################### |
|
|
|
# Prevent Time Machine from prompting to use new hard drives as backup volume |
|
#defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true |
|
|
|
# Disable local Time Machine backups |
|
#hash tmutil &> /dev/null && sudo tmutil disablelocal |
|
|
|
############################################################################### |
|
# Activity Monitor # |
|
############################################################################### |
|
|
|
# Show the main window when launching Activity Monitor |
|
defaults write com.apple.ActivityMonitor OpenMainWindow -bool true |
|
|
|
# Visualize CPU usage in the Activity Monitor Dock icon |
|
defaults write com.apple.ActivityMonitor IconType -int 5 |
|
|
|
# Show all processes in Activity Monitor |
|
defaults write com.apple.ActivityMonitor ShowCategory -int 0 |
|
|
|
# Sort Activity Monitor results by CPU usage |
|
defaults write com.apple.ActivityMonitor SortColumn -string "CPUUsage" |
|
defaults write com.apple.ActivityMonitor SortDirection -int 0 |
|
|
|
############################################################################### |
|
# Address Book, Dashboard, iCal, TextEdit, and Disk Utility # |
|
############################################################################### |
|
|
|
# Enable the debug menu in Address Book |
|
#defaults write com.apple.addressbook ABShowDebugMenu -bool true |
|
|
|
# Enable Dashboard dev mode (allows keeping widgets on the desktop) |
|
#defaults write com.apple.dashboard devmode -bool true |
|
|
|
# Enable the debug menu in iCal (pre-10.8) |
|
#defaults write com.apple.iCal IncludeDebugMenu -bool true |
|
|
|
# Use plain text mode for new TextEdit documents |
|
defaults write com.apple.TextEdit RichText -int 0 |
|
|
|
# Open and save files as UTF-8 in TextEdit |
|
defaults write com.apple.TextEdit PlainTextEncoding -int 4 |
|
defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4 |
|
|
|
# Enable the debug menu in Disk Utility |
|
#defaults write com.apple.DiskUtility DUDebugMenuEnabled -bool true |
|
#defaults write com.apple.DiskUtility advanced-image-options -bool true |
|
|
|
# Disable Auto-play videos when opened with QuickTime Player |
|
defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen -bool false |
|
|
|
############################################################################### |
|
# Mac App Store # |
|
############################################################################### |
|
|
|
# Enable the WebKit Developer Tools in the Mac App Store |
|
#defaults write com.apple.appstore WebKitDeveloperExtras -bool true |
|
|
|
# Enable Debug Menu in the Mac App Store |
|
#defaults write com.apple.appstore ShowDebugMenu -bool true |
|
|
|
# Enable the automatic update check |
|
defaults write com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true |
|
|
|
# Check for software updates daily, not just once per week |
|
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1 |
|
|
|
# Download newly available updates in background |
|
defaults write com.apple.SoftwareUpdate AutomaticDownload -int 1 |
|
|
|
# Install System data files & security updates |
|
defaults write com.apple.SoftwareUpdate CriticalUpdateInstall -int 1 |
|
|
|
# Automatically download apps purchased on other Macs |
|
#defaults write com.apple.SoftwareUpdate ConfigDataInstall -int 1 |
|
|
|
# Turn on app auto-update |
|
defaults write com.apple.commerce AutoUpdate -bool true |
|
|
|
# Allow the App Store to reboot machine on macOS updates |
|
defaults write com.apple.commerce AutoUpdateRestartRequired -bool true |
|
|
|
############################################################################### |
|
# Photos # |
|
############################################################################### |
|
|
|
# Prevent Photos from opening automatically when devices are plugged in |
|
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool true |
|
|
|
############################################################################### |
|
# Messages # |
|
############################################################################### |
|
|
|
# Disable automatic emoji substitution (i.e. use plain text smileys) |
|
#defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticEmojiSubstitutionEnablediMessage" -bool false |
|
|
|
# Disable smart quotes as it’s annoying for messages that contain code |
|
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticQuoteSubstitutionEnabled" -bool false |
|
|
|
# Disable continuous spell checking |
|
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "continuousSpellCheckingEnabled" -bool false |
|
|
|
############################################################################### |
|
# Kill affected applications # |
|
############################################################################### |
|
|
|
for app in "Activity Monitor" \ |
|
"Address Book" \ |
|
"Calendar" \ |
|
"cfprefsd" \ |
|
"Contacts" \ |
|
"Dock" \ |
|
"Finder" \ |
|
"Google Chrome Canary" \ |
|
"Google Chrome" \ |
|
"Mail" \ |
|
"Messages" \ |
|
"Photos" \ |
|
"Safari" \ |
|
"SystemUIServer" \ |
|
"Terminal" \ |
|
"iCal"; do |
|
killall "${app}" &> /dev/null |
|
done |
|
echo "Done. Note that some of these changes require a logout/restart to take effect." |