Skip to content

Instantly share code, notes, and snippets.

@llimllib
Last active March 20, 2018 22:49
Show Gist options
  • Save llimllib/e864a92da94ceb1ef0da2e06fd1f8d70 to your computer and use it in GitHub Desktop.
Save llimllib/e864a92da94ceb1ef0da2e06fd1f8d70 to your computer and use it in GitHub Desktop.
# many settings from https://raw.githubusercontent.com/mathiasbynens/dotfiles/master/.macos
# many settings from https://raw.githubusercontent.com/thoughtbot/laptop/master/mac
# my previous install notes at https://gist.github.com/llimllib/ee591266e05bd880629a4e7511a61bb3
fancy_echo() {
local fmt="$1"; shift
# shellcheck disable=SC2059
printf "\n$fmt\n" "$@"
}
# handle failures
trap 'ret=$?; test $ret -ne 0 && printf "failed\n\n" >&2; exit $ret' EXIT
# Things I don't know how to do from the command line:
# * use caps lock as esc for all keyboards
# * increase screen resolution to retina
# TODO: have a repeatable process for dotfiles; I just copied them manually from backup
# set the computer name:
sudo scutil --set ComputerName "hickory"
sudo scutil --set HostName "hickory"
sudo scutil --set LocalHostName "hickory"
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string "hickory"
# speed up key repeat
defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain InitialKeyRepeat -int 20
# Disable “natural” (Lion-style) scrolling
defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false
# Disable Notification Center and remove the menu bar icon
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist 2> /dev/null
# I don't think this worked; instead I went into system preferences and
# set do not disturb to run from 3:01AM to 3:00AM
# Disable auto-correct
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
# Set the icon size of Dock items to 16 pixels
defaults write com.apple.dock tilesize -int 16
# Set the magnification to true
defaults write com.apple.dock magnification -int 1
# Wipe all (default) app icons from the Dock
defaults write com.apple.dock persistent-apps -array
# Show only open applications in the dock
defaults write com.apple.dock static-only -bool true
# remove autohide delay
defaults write com.apple.dock autohide-delay -float 0
# Automatically hide and show the Dock
defaults write com.apple.dock autohide -bool true
# show batter percentage
defaults write com.apple.menuextra.battery ShowPercent -bool true
# show the date in the toolbar
defaults write com.apple.menuextra.clock DateFormat -string 'EEE MMM d H:mm'
# Disable the sound effects on boot
sudo nvram SystemAudioVolume=" "
# Disable sound effects when changing volume
defaults write NSGlobalDomain com.apple.sound.beep.feedback -integer 0
# Disable sounds effects for user interface changes
defaults write NSGlobalDomain com.apple.sound.uiaudio.enabled -int 0
# Set alert volume to 0
defaults write NSGlobalDomain com.apple.sound.beep.volume -float 0.0
# Show volume in the menu bar
defaults write com.apple.systemuiserver "NSStatusItem Visible com.apple.menuextra.volume" -int 0
# Show Bluetooth in the menu bar
defaults write com.apple.systemuiserver "NSStatusItem Visible com.apple.menuextra.bluetooth" -int 0
# Avoid creating .DS_Store files on network or USB volumes
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
# don't hide files
defaults write com.apple.Finder AppleShowAllFiles true
# Show the ~/Library folder
chflags nohidden ~/Library
# Show the /Volumes folder
sudo chflags nohidden /Volumes
# mouse to max tracking speed
defaults write -g com.apple.mouse.scaling -int 3
# disable shake to locate mouse pointer
defaults write ~/Library/Preferences/.GlobalPreferences CGDisableCursorLocationMagnification -bool YES
# disable pinch to zoom
defaults write com.apple.driver.AppleBluetoothMultitouch.mouse TrackpadPinch -int 0
# disable trackpad rotate
defaults write com.apple.driver.AppleBluetoothMultitouch.mouse TrackpadRotate -int 0
# disable double tap to zoom
defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseOneFingerDoubleTapGesture -int 0
defaults write com.apple.driver.AppleBluetoothMultitouch.mouse TrackpadTwoFingerDoubleTapGesture -int 0
# fix key repeat in vs code. I don't use it that often, but this is necessary when I do
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
# reboot systemUIServer to enable defaults to take effect
killall SystemUIServer
if ! command -v brew >/dev/null; then
fancy_echo "Installing Homebrew ..."
curl -fsS \
'https://raw.githubusercontent.com/Homebrew/install/master/install' | ruby
fi
brew install mas
# install Xcode, seems like some things depend on it. Unfortunately this
# required me to open app store and log in; `mas signin` did not work
fancy_echo 'you may need to log in to app store for this to work'
mas install `mas search Xcode | egrep '\d Xcode$' | awk '{print $1}'`
mas install `mas search Monosnap | egrep '\d Monosnap$' | awk '{print $1}'`
mas install `mas search Pages | egrep '\d Pages$' | awk '{print $1}'`
mas install `mas search Numbers | egrep '\d Numbers$' | awk '{print $1}'`
mas install `mas search iPhoto | egrep '\d iPhoto$' | awk '{print $1}'`
brew install awscli
brew install autoconf
brew install automake
brew install bash
brew install cmake
brew install coreutils
brew install curl
brew install dep
brew install devd
brew install dos2unix
brew install findutils
brew install fzf
brew install gcc
brew install git
brew install gnu-sed
brew install gpg
brew install go
brew install gpg-agent
brew install grep
brew install htop
brew install hub
brew install jq
brew install modd
brew install neovim
brew install nginx
brew install nmap
brew install node
brew install numpy
brew install postgres && brew services start postgresql
brew install python
brew install openssl
brew install pyenv
brew install rbenv
brew install reattach-to-user-namespace
brew install ripgrep
brew install sqlite
brew install tmux
brew install tree
brew install vim
brew install wget
brew install yarn
brew install youtube-dl
# now set the updated bash as your login shell
sudo chsh -s /usr/local/bin/bash llimllib
# for capybara
brew install "qt@5.5"
brew tap caskroom/cask
brew cask install alfred
brew cask install caffeine
brew cask install chromium
brew cask install docker
brew cask install firefox
brew cask install google-chrome
brew cask install hipchat
brew cask install iterm2
brew cask install java
brew cask install keybase
brew cask install kindle
brew cask install macvim
brew cask install screenhero
brew cask install slack
brew cask install spotify
brew cask install viscosity
brew cask install vlc
# install chrome extensions: lastpass and ublock origin
# tell git to use the osx keychain
git config --global credential.helper osxkeychain
# copy ~/.ssh from before and chown to your user
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
# go into vim and :VundleInstall
# * download and install fira code
# * set iTerm ctrl-tab and ctrl-shift-tab to "next term" and "prev term" rather
# than cycle
# install base16
git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell
wget https://raw.githubusercontent.com/chriskempson/base16-iterm2/master/base16-twilight.dark.256.itermcolors -O ~/Downloads/base16-twilight.dark.256.itermcolors
fancy_echo "open iterm -> preferences -> profiles -> color presets and import that file"
eval "$(.config/base16-shell/profile_helper.sh)"
base16_twilight
wget https://raw.githubusercontent.com/chriskempson/base16-vim/master/colors/base16-twilight.vim -O .vim/colors/base16-twilight.vim
# In order to build a python with pyenv I had to tell it where
# to find homebrew's openssl libs:
# https://github.com/pyenv/pyenv/wiki/Common-build-problems#error-the-python-ssl-extension-was-not-compiled-missing-the-openssl-lib
CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install -v 3.6.3
pyenv global 3.6.3
pip install ipython
rbenv install 2.4.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment