Something went wrong. Try again.
My personal dotfiles. dot.kyap.me
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613#!/usr/bin/env bash
# OSX-only stuff. Abort if not OSX.is_osx || return 1
# Ask for the administrator password upfrontsudo -v
# Keep-alive: update existing `sudo` time stamp until script has finishedwhile true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
################################################################################ General UI/UX ################################################################################
# Prompt for computer name (as done via System Preferences → Sharing)read -p "Enter computer name: " computerNamesudo scutil --set ComputerName "$computerName"
defaultHostName="Kevin Yap's Computer"read -p "Enter host name [$defaultHostName]: " hostNamehostName="${hostName:-$defaultHostName}"sudo scutil --set HostName "$hostName"sudo scutil --set LocalHostName "$hostName"sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string "$hostName"
# Set standby delay to 24 hours (default is 1 hour)sudo pmset -a standbydelay 86400
# Disable the sound effects on bootsudo nvram SystemAudioVolume=" "
# Menu bar: disable transparencydefaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false
# Menu bar: hide the Time Machine, Volume, and User iconsdefaults write ~/Library/Preferences/ByHost/com.apple.systemuiserver.* dontAutoLoad -array \ "/System/Library/CoreServices/Menu Extras/TimeMachine.menu" \ "/System/Library/CoreServices/Menu Extras/Volume.menu" \ "/System/Library/CoreServices/Menu Extras/User.menu" \
# Set sidebar icon size to smalldefaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 1
# Only show scrollbars when scrollingdefaults write NSGlobalDomain AppleShowScrollBars -string "WhenScrolling"# Possible values: `WhenScrolling`, `Automatic` and `Always`
# Expand save panel by defaultdefaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
# Expand print panel by defaultdefaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
# Save to iCloud (not disk) by defaultdefaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool true
# Automatically quit printer app once the print jobs completedefaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true
# Disable the “Are you sure you want to open this application?” dialogdefaults write com.apple.LaunchServices LSQuarantine -bool false
# Display ASCII control characters using caret notation in standard text views# Try e.g. `cd /tmp; unidecode "\x{0000}" > cc.txt; open -e cc.txt`defaults write NSGlobalDomain NSTextShowsControlCharacters -bool true
# Disable Resume system-wide# defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false
# Disable automatic termination of inactive appsdefaults write NSGlobalDomain NSDisableAutomaticTermination -bool true
# Reveal IP address, hostname, OS version, etc. when clicking the clock in the login windowsudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName
# Restart automatically if the computer freezessystemsetup -setrestartfreeze on
# Never go into computer sleep mode# systemsetup -setcomputersleep Off > /dev/null
# Check for software updates daily, not just once per weekdefaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1
# Disable Notification Center and remove the menu bar icon# launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist 2> /dev/null
# Disable smart quotes as they’re annoying when typing codedefaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false
# Disable smart dashes as they’re annoying when typing codedefaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false
################################################################################ SSD-specific tweaks ################################################################################
# Disable local Time Machine snapshotssudo tmutil disablelocal
# Disable hibernation (speeds up entering sleep mode)sudo pmset -a hibernatemode 0
# Remove the sleep image file to save disk spacesudo rm /Private/var/vm/sleepimage# Create a zero-byte file instead…sudo touch /Private/var/vm/sleepimage# …and make sure it can’t be rewrittensudo chflags uchg /Private/var/vm/sleepimage
# Disable the sudden motion sensor as it’s not useful for SSDssudo pmset -a sms 0
################################################################################ Trackpad, mouse, keyboard, Bluetooth accessories, and input ################################################################################
# Trackpad: enable tap to click for this user and for the login screendefaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool truedefaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
# Trackpad: map bottom right corner to right-clickdefaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadCornerSecondaryClick -int 2defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool truedefaults -currentHost write NSGlobalDomain com.apple.trackpad.trackpadCornerClickBehavior -int 1defaults -currentHost write NSGlobalDomain com.apple.trackpad.enableSecondaryClick -bool true
# Disable “natural” (Lion-style) scrollingdefaults write NSGlobalDomain com.apple.swipescrolldirection -bool false
# Increase sound quality for Bluetooth headphones/headsetsdefaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40
# Enable full keyboard access for all controls# (e.g. enable Tab in modal dialogs)defaults write NSGlobalDomain AppleKeyboardUIMode -int 3
# Use scroll gesture with the Ctrl (^) modifier key to zoomdefaults write com.apple.universalaccess closeViewScrollWheelToggle -bool truedefaults write com.apple.universalaccess HIDScrollZoomModifierMask -int 262144# Follow the keyboard focus while zoomed indefaults write com.apple.universalaccess closeViewZoomFollowsFocus -bool true
# Disable press-and-hold for keys in favor of key repeatdefaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false
# Set keyboard repeat ratedefaults write NSGlobalDomain KeyRepeat -int 2
# Automatically illuminate built-in MacBook keyboard in low lightdefaults write com.apple.BezelServices kDim -bool true# Turn off keyboard illumination when computer is not used for 5 minutesdefaults write com.apple.BezelServices kDimTime -int 300
# Set language and text formatsdefaults write NSGlobalDomain AppleLanguages -array "en"defaults write NSGlobalDomain AppleLocale -string "en_CA@currency=CAD"defaults write NSGlobalDomain AppleMeasurementUnits -string "Centimeters"defaults write NSGlobalDomain AppleMetricUnits -bool true
# Set the timezone; see `systemsetup -listtimezones` for other valuessystemsetup -settimezone "America/Vancouver" > /dev/null
# Disable auto-correctdefaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
################################################################################ Screen ################################################################################
# Require password 3 seconds after sleep or screen saver beginsdefaults write com.apple.screensaver askForPassword -int 1defaults write com.apple.screensaver askForPasswordDelay -int 3
# Save screenshots to the desktopdefaults write com.apple.screencapture location -string "${HOME}/Desktop"
# Save screenshots in PNG format (other options: BMP, GIF, JPG, PDF, TIFF)defaults write com.apple.screencapture type -string "png"
# Disable shadow in screenshots# defaults write com.apple.screencapture disable-shadow -bool true
# Enable subpixel font rendering on non-Apple LCDsdefaults write NSGlobalDomain AppleFontSmoothing -int 2
# Enable HiDPI display modes (requires restart)sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool true
################################################################################ Finder ################################################################################
# Finder: disable window animations and Get Info animationsdefaults write com.apple.finder DisableAllAnimations -bool true
# Show icons for external hard drives, servers, and removable media on the desktopdefaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool truedefaults write com.apple.finder ShowHardDrivesOnDesktop -bool falsedefaults write com.apple.finder ShowMountedServersOnDesktop -bool truedefaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
# Finder: show path bar# defaults write com.apple.finder ShowPathbar -bool true
# Finder: allow text selection in Quick Lookdefaults write com.apple.finder QLEnableTextSelection -bool true
# Display full POSIX path as Finder window title# defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
# When performing a search, search the current folder by defaultdefaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
# Disable the warning when changing a file extensiondefaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
# Enable spring loading for directoriesdefaults write NSGlobalDomain com.apple.springing.enabled -bool true
# Remove the spring loading delay for directoriesdefaults write NSGlobalDomain com.apple.springing.delay -float 0
# Avoid creating .DS_Store files on network volumesdefaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
# Disable disk image verificationdefaults write com.apple.frameworks.diskimages skip-verify -bool truedefaults write com.apple.frameworks.diskimages skip-verify-locked -bool truedefaults write com.apple.frameworks.diskimages skip-verify-remote -bool true
# Automatically open a new Finder window when a volume is mounteddefaults write com.apple.frameworks.diskimages auto-open-ro-root -bool truedefaults write com.apple.frameworks.diskimages auto-open-rw-root -bool truedefaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true
# Show item info near icons on the desktop and in other icon views/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist
# Show item info to the right of the icons on the desktop/usr/libexec/PlistBuddy -c "Set DesktopViewSettings:IconViewSettings:labelOnBottom false" ~/Library/Preferences/com.apple.finder.plist
# Enable 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
# Increase grid spacing for icons on the desktop and in other icon views/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:gridSpacing 100" ~/Library/Preferences/com.apple.finder.plist/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:gridSpacing 100" ~/Library/Preferences/com.apple.finder.plist/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:gridSpacing 100" ~/Library/Preferences/com.apple.finder.plist
# Increase the size of icons on the desktop and in other icon views/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:iconSize 80" ~/Library/Preferences/com.apple.finder.plist/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:iconSize 80" ~/Library/Preferences/com.apple.finder.plist/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:iconSize 80" ~/Library/Preferences/com.apple.finder.plist
# Use list view in all Finder windows by default# Four-letter codes for the other view modes: `icnv`, `clmv`, `Flwv`defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
# Disable the warning before emptying the Trash# defaults write com.apple.finder WarnOnEmptyTrash -bool false
# Empty Trash securely by default# defaults write com.apple.finder EmptyTrashSecurely -bool true
# Enable AirDrop over Ethernet and on unsupported Macs running Liondefaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true
# Enable the MacBook Air SuperDrive on any Macsudo nvram boot-args="mbasd=1"
# Show the ~/Library folderchflags nohidden ~/Library
# Remove Dropbox’s green checkmark icons in Finderfile=/Applications/Dropbox.app/Contents/Resources/emblem-dropbox-uptodate.icns[ -e "${file}" ] && mv -f "${file}" "${file}.bak"
# Expand the “General” and “Open with” File Info panes:defaults write com.apple.finder FXInfoPanesExpanded -dict \ General -bool true \ OpenWith -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 64 pixelsdefaults write com.apple.dock tilesize -int 64
# Minimize windows into their application’s icondefaults write com.apple.dock minimize-to-application -bool true
# Enable spring loading for all Dock itemsdefaults write com.apple.dock enable-spring-load-actions-on-all-items -bool true
# Show indicator lights for open applications in the Dockdefaults 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
# 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 Spacedefaults write com.apple.dock dashboard-in-overlay -bool true
# Don’t automatically rearrange Spaces based on most recent usedefaults write com.apple.dock mru-spaces -bool false
# Remove the auto-hiding Dock delay# defaults write com.apple.dock autohide-delay -float 0
# Remove the animation when hiding/showing the Dock# defaults write com.apple.dock autohide-time-modifier -float 0
# Enable the 2D Dock# defaults write com.apple.dock no-glass -bool true
# Automatically hide and show the Dock# defaults write com.apple.dock autohide -bool true
# Make Dock icons of hidden applications translucentdefaults write com.apple.dock showhidden -bool true
# Reset Launchpad# find ~/Library/Application\ Support/Dock -name "*.db" -maxdepth 1 -delete
# Add iOS Simulator to Launchpad# sudo ln -sf /Applications/Xcode.app/Contents/Applications/iPhone\ Simulator.app /Applications/iOS\ Simulator.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";}'
# Possible Hot Corner 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 → Start Screensaverdefaults write com.apple.dock wvous-tl-corner -int 5defaults write com.apple.dock wvous-tl-modifier -int 0# Top right screen corner → Mission Controldefaults write com.apple.dock wvous-tr-corner -int 2defaults write com.apple.dock wvous-tr-modifier -int 0# Bottom left screen corner → Desktopdefaults write com.apple.dock wvous-bl-corner -int 4defaults write com.apple.dock wvous-bl-modifier -int 0# Bottom right screen corner → Dashboarddefaults write com.apple.dock wvous-br-corner -int 7defaults write com.apple.dock wvous-br-modifier -int 0
################################################################################ Safari & WebKit ################################################################################
# Set Safari’s home page to `about:blank` for faster loadingdefaults write com.apple.Safari HomePage -string "about:blank"
# Prevent Safari from opening ‘safe’ files automatically after downloadingdefaults write com.apple.Safari AutoOpenSafeDownloads -bool false
# Allow hitting the Backspace key to go to the previous page in historydefaults 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 match substringsdefaults write com.apple.Safari FindOnPageMatchesWordStartsOnly -bool false
# Remove useless icons from Safari’s bookmarks bardefaults write com.apple.Safari ProxiesInBookmarksBar "()"
# Enable the Develop menu and the Web Inspector in Safaridefaults write com.apple.Safari IncludeDevelopMenu -bool truedefaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool truedefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true
# Add a context menu item for showing the Web Inspector in web viewsdefaults write NSGlobalDomain WebKitDeveloperExtras -bool true
################################################################################ Mail ################################################################################
# Copy email addresses as `foo@example.com` instead of `Foo Bar <foo@example.com>` in Mail.appdefaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false
# Add the keyboard shortcut ⌘ + Enter to send an email in Mail.appdefaults write com.apple.mail NSUserKeyEquivalents -dict-add "Send" -string "@\\U21a9"
# Disable inline attachments (just show the icons)defaults write com.apple.mail DisableInlineAttachmentViewing -bool true
# Disable automatic spell checkingdefaults 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
# Use the following to re-enable Spotlight tray icon.# sudo chmod 755 /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 enables all file typesdefaults write com.apple.spotlight orderedItems -array \ '{"enabled" = 1;"name" = "APPLICATIONS";}' \ '{"enabled" = 1;"name" = "SYSTEM_PREFS";}' \ '{"enabled" = 1;"name" = "DIRECTORIES";}' \ '{"enabled" = 1;"name" = "PDF";}' \ '{"enabled" = 1;"name" = "FONTS";}' \ '{"enabled" = 1;"name" = "DOCUMENTS";}' \ '{"enabled" = 1;"name" = "MESSAGES";}' \ '{"enabled" = 1;"name" = "CONTACT";}' \ '{"enabled" = 1;"name" = "EVENT_TODO";}' \ '{"enabled" = 1;"name" = "IMAGES";}' \ '{"enabled" = 1;"name" = "BOOKMARKS";}' \ '{"enabled" = 1;"name" = "MUSIC";}' \ '{"enabled" = 1;"name" = "MOVIES";}' \ '{"enabled" = 1;"name" = "PRESENTATIONS";}' \ '{"enabled" = 1;"name" = "SPREADSHEETS";}' \ '{"enabled" = 1;"name" = "SOURCE";}'# Load new settings before rebuilding the indexkillall mds > /dev/null 2>&1# Make sure indexing is enabled for the main volumesudo mdutil -i on / > /dev/null# Rebuild the index from scratchsudo mdutil -E / > /dev/null
################################################################################ Terminal ################################################################################
# Only use UTF-8 in Terminal.appdefaults write com.apple.terminal StringEncodings -array 4
# 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
################################################################################ Time Machine ################################################################################
# Prevent Time Machine from prompting to use new hard drives as backup volumedefaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true
# Disable local Time Machine backupshash tmutil &> /dev/null && sudo tmutil disablelocal
################################################################################ Activity Monitor ################################################################################
# Show the main window when launching Activity Monitordefaults 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 Monitordefaults write com.apple.ActivityMonitor ShowCategory -int 0
# Sort Activity Monitor results by CPU usagedefaults 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 Bookdefaults 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 documentsdefaults write com.apple.TextEdit RichText -int 0
# Open and save files as UTF-8 in TextEditdefaults write com.apple.TextEdit PlainTextEncoding -int 4defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4
# Enable the debug menu in Disk Utilitydefaults write com.apple.DiskUtility DUDebugMenuEnabled -bool truedefaults write com.apple.DiskUtility advanced-image-options -bool true
################################################################################ Mac App Store ################################################################################
# Enable the WebKit Developer Tools in the Mac App Storedefaults write com.apple.appstore WebKitDeveloperExtras -bool true
# Enable Debug Menu in the Mac App Storedefaults write com.apple.appstore ShowDebugMenu -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 codedefaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticQuoteSubstitutionEnabled" -bool false
# Disable continuous spell checkingdefaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "continuousSpellCheckingEnabled" -bool false
################################################################################ Google Chrome & Google Chrome Canary ################################################################################
# Allow installing user scripts via GitHub or Userscripts.orgdefaults write com.google.Chrome ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
################################################################################ Sublime Text ################################################################################
# Install Sublime Text settingscp ~/.dotfiles/conf/sublprefs.json \ ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/Preferences.sublime-settings 2> /dev/null
################################################################################ Transmission.app ################################################################################
# Use `~/Documents/Torrents` to store incomplete downloadsdefaults write org.m0k.transmission UseIncompleteDownloadFolder -bool truedefaults write org.m0k.transmission IncompleteDownloadFolder -string "${HOME}/Documents/Torrents"
# Don’t prompt for confirmation before downloadingdefaults write org.m0k.transmission DownloadAsk -bool false
# Trash original torrent filesdefaults write org.m0k.transmission DeleteOriginalTorrent -bool true
# Hide the donate messagedefaults write org.m0k.transmission WarningDonate -bool false
# Hide the legal disclaimerdefaults write org.m0k.transmission WarningLegal -bool false
################################################################################ Kill affected applications ################################################################################
for app in "Activity Monitor" "Address Book" "Calendar" "Contacts" \ "Dock" "Finder" "Mail" "Messages" "Safari" "SystemUIServer" \ "Terminal" "Transmission" "iCal"; do killall "${app}" > /dev/null 2>&1doneecho "Done. Note that some of these changes require a logout/restart to take effect."