Created
February 12, 2014 23:12
-
-
Save jcanfield/8966452 to your computer and use it in GitHub Desktop.
OSX Defaults Shell Script (by Paul Miller @ https://github.com/paulmillr/dotfiles)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Some stuff was taken from | |
# https://github.com/mathiasbynens/dotfiles/blob/master/.osx | |
# Main | |
# ==== | |
# Show battery life percentage. | |
defaults write com.apple.menuextra.battery ShowPercent -string "YES" | |
# Reveal IP address, hostname, OS version, etc. when clicking the clock | |
# in the login window | |
sudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName | |
# Check for software updates daily, not just once per week | |
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1 | |
# Screen | |
# ====== | |
# 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 downlaods. | |
defaults write com.apple.screencapture location "$HOME/Downloads/" | |
# Sound | |
# ===== | |
# Disable the sound effects on boot | |
sudo nvram SystemAudioVolume=0 | |
# 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 | |
sudo defaults write com.apple.AppleMultitouchTrackpad Clicking 1 | |
# Use scroll gesture with the Ctrl (^) modifier key to zoom | |
defaults write com.apple.universalaccess closeViewScrollWheelToggle -bool true | |
# Disable auto-correct | |
# defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false | |
############################################################################### | |
# SSD-specific tweaks # | |
############################################################################### | |
# 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 snapshots | |
sudo tmutil disablelocal | |
# Disable hibernation (speeds up entering sleep mode) | |
sudo pmset -a hibernatemode 0 | |
# Remove the sleep image file to save disk space | |
sudo rm /Private/var/vm/sleepimage | |
# Create a zero-byte file instead… | |
sudo touch /Private/var/vm/sleepimage | |
# …and make sure it can’t be rewritten | |
sudo chflags uchg /Private/var/vm/sleepimage | |
# Disable the sudden motion sensor as it’s not useful for SSDs | |
sudo pmset -a sms 0 | |
# Finder | |
# ====== | |
# Finder: show all filename extensions | |
defaults write NSGlobalDomain AppleShowAllExtensions -bool true | |
# Disable the warning when changing a file extension | |
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false | |
# Disable disk image verification | |
defaults write com.apple.frameworks.diskimages skip-verify -bool true | |
defaults write com.apple.frameworks.diskimages skip-verify-locked -bool true | |
defaults write com.apple.frameworks.diskimages skip-verify-remote -bool true | |
# When performing a search, search the current folder by default | |
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf" | |
# Disable the warning before emptying the Trash | |
defaults write com.apple.finder WarnOnEmptyTrash -bool false | |
# Show the ~/Library folder | |
chflags nohidden ~/Library | |
# Safari | |
# ====== | |
# 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 | |
# Hide Safari’s bookmarks bar by default | |
defaults write com.apple.Safari ShowFavoritesBar -bool false | |
# 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 | |
# ==== | |
# Copy email addresses as `foo@example.com` instead of `Foo Bar <foo@example.com>` 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" -string "@\\U21a9" | |
# Spotlight | |
# ========= | |
# 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" | |
defaults write com.apple.spotlight orderedItems -array \ | |
'{"enabled" = 1;"name" = "APPLICATIONS";}' \ | |
'{"enabled" = 1;"name" = "SYSTEM_PREFS";}' \ | |
'{"enabled" = 1;"name" = "DIRECTORIES";}' \ | |
'{"enabled" = 1;"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";}' | |
# 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 | |
# ======== | |
# Use a modified version of the Pro theme by default in Terminal.app | |
# open "$pm/dotfiles/terminal/paulmillr.terminal" | |
# sleep 1 # Wait a bit to make sure the theme is loaded | |
# defaults write com.apple.terminal 'Default Window Settings' -string 'paulmillr' | |
# defaults write com.apple.terminal 'Startup Window Settings' -string 'paulmillr' | |
# Transmission | |
# ============ | |
# Use `~/Documents/Torrents` to store incomplete downloads | |
defaults write org.m0k.transmission UseIncompleteDownloadFolder -bool true | |
defaults write org.m0k.transmission IncompleteDownloadFolder -string "${HOME}/Documents/Torrents" | |
# Don’t prompt for confirmation before downloading | |
defaults write org.m0k.transmission DownloadAsk -bool false | |
# Trash original torrent files | |
defaults write org.m0k.transmission DeleteOriginalTorrent -bool true | |
# Hide the donate message | |
defaults write org.m0k.transmission WarningDonate -bool false | |
# Hide the legal disclaimer | |
defaults write org.m0k.transmission WarningLegal -bool false | |
# Memory management | |
# ================= | |
# Disable swap file. OS X will crash if mem will exceed max mem. | |
# sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist | |
# Enable swap back. | |
# sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment