Preferences and settings
Monospace fonts
- SF Mono (bundled with Xcode)
- Hack
- Inconsolata
- Consolas
- Operator Mono
- Courier Prime
- Source Code Pro
Color palettes
Download the base16 templates:
Ocean is the preferred color scheme.
Download our Coda.app and Terminal.app profiles.
Atom
r-exec enables the user to run R code directly from Atom.
apm install r-exec
Microsoft Excel
- Turn off “Display this number of decimal places”.
Default font
should be set toBody Font
.- Preserve display of dates entered with four-digit years should be on.
- Turn off AutoComplete.
Change system defaults
# Unhide the user library
chflags nohidden ~/Library
# Speed up user interface animations
# http://robservatory.com/speed-up-your-mac-via-hidden-prefs/
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -int 0
defaults write com.apple.finder DisableAllAnimations -bool true
defaults write NSGlobalDomain NSWindowResizeTime .001
killall Dock
killall Finder
# Don't write `.DS_Store` files to network storage
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
# Save screenshots into Documents, instead of Desktop
screenshots_dir="${HOME}/Documents/Screenshots"
mkdir -p "$screenshots_dir"
defaults write com.apple.screencapture disable-shadow -bool true
defaults write com.apple.screencapture location "$screenshots_dir"
defaults write com.apple.screencapture name Screenshot
killall SystemUIServer
# Disable podcasts in iTunes
defaults write com.apple.itunes disablePodcasts -bool YES
Generate an SSH key pair
First, check to see if one already exists.
ls -l ~/.ssh/id_rsa*
# Remove existing keys
rm ~/.ssh/id_rsa*
Create a new keypair.
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -C "EMAIL"
On macOS Sierra, you have to enable keychain storage in ~/.ssh/config
to save your passphrase.
Host *
UseKeychain yes
Add the newly created private key to the macOS keychain.
ssh-add -K ~/.ssh/id_rsa
Copy the public key to the clipboard.
cat ~/.ssh/id_rsa.pub | pbcopy
Add your newly created public key to the ~/.ssh/authorized_keys
file of the remote server. Be sure to ensure the correct permissions of both the remote ~/.ssh
folder (700) and ~/.ssh/authorized_keys
(600).
Upgrade OpenSSL
macOS ships with an outdated version of OpenSSL. Compile and install the current version.
cd ~/Downloads
curl -O https://www.openssl.org/source/openssl-1.1.0f.tar.gz
tar -xvzf openssl-*
cd openssl-*
./Configure darwin64-x86_64-cc
make
make test
sudo make install
# Reload terminal and check version
exit 1
which openssl
openssl version
Install Homebrew
Homebrew is an incredibly useful package and application manager for macOS. It requires Xcode to be installed first from the App Store. Then the default workspace environment can be set up using our custom script.
# Install Xcode CLT
xcode-select --install
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Uninstall Homebrew
# /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
# Homebrew Cask
brew tap homebrew cask
# brew cask ====
casks=(java # priority
osxfuse # priority
xquartz # priority
alfred
basictex
bbedit
bibdesk
carbon-copy-cloner
coconutbattery
coda
dropbox
emacs
fiji
firefox
github
google-chrome
google-cloud-sdk
google-drive-file-stream
gpg-suite
hazel
igv
iterm2
java
keka
libreoffice
little-snitch
omnidisksweeper
onyx
r-app
rstudio
scrivener
skype
slack
spillo
sublime-text
superduper
torbrowser
tower
transmit
tunnelblick
vlc
xld
xquartz)
for cask in ${casks[@]}; do
brew cask install $cask
done
# brew ====
brews=(flac # priority
lame # priority
tcl-tk # priority
bash
bfg # Java 1.7+ is required
convmv
coreutils
emacs
exiftool
ffmpeg
findutils
fish
flac
gcc
git
git-lfs
hdf5
hub
imagemagick
leiningen
llvm # full mainline: --with-toolchain (slow)
mariadb-connector-c
mas
mysql
node
pandoc
pandoc-citeproc
pandoc-crossref
"python --with-tcl-tk"
rsync
rbenv
sshfs
"sox --with-flac --with-lame"
trash
tree
vim
wget
youtube-dl
zsh)
for brew in ${brews[@]}; do
brew install "$brew"
done
Note that R should be installed using brew cask install r-app
instead of brew install r
. This command will install the latest official R.app
binary, which has two main advantages: (1) support in the RStudio IDE, and (2) fast downloading of pre-compiled packages from CRAN.
Homebrew needs to be updated on a regular schedule.
brew update
brew upgrade
brew cask outdated | xargs brew cask reinstall
Configure Python
Python is useful for scripting workflows. Homebrew can manage installations of both versions 2 and 3 and the launcher application automatically.
pip install --upgrade pip setuptools
pip3 install --upgrade pip setuptools wheel
Final steps
- Add custom dictionary on iCloud to Microsoft Word.
- Automount NFS shares on NAS.
- Exclude
~/Desktop
and~/Downloads
from Time Machine.