# OSX for Hackers (Mavericks/Yosemite) | |
# | |
# Source: https://gist.github.com/brandonb927/3195465 | |
#!/bin/sh | |
# Some things taken from here | |
# https://github.com/mathiasbynens/dotfiles/blob/master/.osx | |
# Ask for the administrator password upfront | |
sudo -v | |
echo "This script will make your Mac awesome" | |
############################################################################### | |
# General UI/UX | |
############################################################################### | |
echo "" | |
echo "Increasing the window resize speed for Cocoa applications" | |
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001 | |
echo "" | |
echo "Expanding the save panel by default" | |
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true | |
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true | |
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true | |
echo "" | |
echo "Automatically quit printer app once the print jobs complete" | |
defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true | |
echo "" | |
echo "Disabling system-wide resume" | |
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false | |
echo "" | |
echo "Disabling automatic termination of inactive apps" | |
defaults write NSGlobalDomain NSDisableAutomaticTermination -bool true | |
echo "" | |
echo "Saving to disk (not to iCloud) by default" | |
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false | |
echo "" | |
echo "Check for software updates daily, not just once per week" | |
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1 | |
echo "" | |
echo "Disable smart quotes and smart dashes as they’re annoying when typing code" | |
defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false | |
defaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false | |
############################################################################### | |
# Trackpad, mouse, keyboard, Bluetooth accessories, and input | |
############################################################################### | |
echo "" | |
echo "Increasing sound quality for Bluetooth headphones/headsets" | |
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40 | |
echo "" | |
echo "Enabling full keyboard access for all controls (e.g. enable Tab in modal dialogs)" | |
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3 | |
echo "" | |
echo "Disabling press-and-hold for keys in favor of a key repeat" | |
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false | |
echo "" | |
echo "Setting a blazingly fast keyboard repeat rate (ain't nobody got time fo special chars while coding!)" | |
defaults write NSGlobalDomain KeyRepeat -int 0 | |
echo "" | |
echo "Setting trackpad & mouse speed to a reasonable number" | |
defaults write -g com.apple.trackpad.scaling 2 | |
defaults write -g com.apple.mouse.scaling 2.5 | |
echo "" | |
echo "Turn off keyboard illumination when computer is not used for 5 minutes" | |
defaults write com.apple.BezelServices kDimTime -int 300 | |
############################################################################### | |
# Screen | |
############################################################################### | |
echo "" | |
echo "Requiring password immediately after sleep or screen saver begins" | |
defaults write com.apple.screensaver askForPassword -int 1 | |
defaults write com.apple.screensaver askForPasswordDelay -int 0 | |
echo "" | |
echo "Enabling subpixel font rendering on non-Apple LCDs" | |
defaults write NSGlobalDomain AppleFontSmoothing -int 2 | |
echo "" | |
echo "Enable HiDPI display modes (requires restart)" | |
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool true | |
############################################################################### | |
# Finder | |
############################################################################### | |
echo "" | |
echo "Showing icons for hard drives, servers, and removable media on the desktop" | |
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true | |
echo "" | |
echo "Showing all filename extensions in Finder by default" | |
defaults write NSGlobalDomain AppleShowAllExtensions -bool true | |
echo "" | |
echo "Showing status bar in Finder by default" | |
defaults write com.apple.finder ShowStatusBar -bool true | |
echo "" | |
echo "Allowing text selection in Quick Look/Preview in Finder by default" | |
defaults write com.apple.finder QLEnableTextSelection -bool true | |
echo "" | |
echo "Displaying full POSIX path as Finder window title" | |
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true | |
echo "" | |
echo "Disabling the warning when changing a file extension" | |
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false | |
echo "" | |
echo "Use column view in all Finder windows by default" | |
defaults write com.apple.finder FXPreferredViewStyle Clmv | |
echo "" | |
echo "Avoiding the creation of .DS_Store files on network volumes" | |
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true | |
echo "" | |
echo "Enabling snap-to-grid for icons on the desktop and in other icon views" | |
/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist | |
/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist | |
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist | |
############################################################################### | |
# Dock & Mission Control | |
############################################################################### | |
echo "" | |
echo "Setting the icon size of Dock items to 36 pixels for optimal size/screen-realestate" | |
defaults write com.apple.dock tilesize -int 36 | |
echo "" | |
echo "Speeding up Mission Control animations and grouping windows by application" | |
defaults write com.apple.dock expose-animation-duration -float 0.1 | |
defaults write com.apple.dock "expose-group-by-app" -bool true | |
echo "" | |
echo "Setting Dock to auto-hide and removing the auto-hiding delay" | |
defaults write com.apple.dock autohide -bool true | |
defaults write com.apple.dock autohide-delay -float 0 | |
defaults write com.apple.dock autohide-time-modifier -float 0 | |
############################################################################### | |
# Terminal | |
############################################################################### | |
echo "" | |
echo "Enabling UTF-8 ONLY in Terminal.app and setting the Pro theme by default" | |
defaults write com.apple.terminal StringEncodings -array 4 | |
defaults write com.apple.Terminal "Default Window Settings" -string "Pro" | |
defaults write com.apple.Terminal "Startup Window Settings" -string "Pro" | |
############################################################################### | |
# Time Machine | |
############################################################################### | |
echo "" | |
echo "Preventing Time Machine from prompting to use new hard drives as backup volume" | |
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true | |
############################################################################### | |
# Personal Additions | |
############################################################################### | |
echo "" | |
echo "Disable hibernation (speeds up entering sleep mode)" | |
sudo pmset -a hibernatemode 0 | |
echo "" | |
echo "Remove the sleep image file to save disk space" | |
sudo rm /Private/var/vm/sleepimage | |
echo "Creating a zero-byte file instead…" | |
sudo touch /Private/var/vm/sleepimage | |
echo "…and make sure it can’t be rewritten" | |
sudo chflags uchg /Private/var/vm/sleepimage | |
echo "" | |
echo "Disable the sudden motion sensor as it’s not useful for SSDs" | |
sudo pmset -a sms 0 | |
echo "" | |
echo "Speeding up wake from sleep to 24 hours from an hour" | |
# http://www.cultofmac.com/221392/quick-hack-speeds-up-retina-macbooks-wake-from-sleep-os-x-tips/ | |
sudo pmset -a standbydelay 86400 | |
echo "" | |
echo "Disable annoying backswipe in Chrome" | |
defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool false | |
############################################################################### | |
# Kill affected applications | |
############################################################################### | |
echo "Done!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment