Last active
March 20, 2018 22:49
-
-
Save llimllib/e864a92da94ceb1ef0da2e06fd1f8d70 to your computer and use it in GitHub Desktop.
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
# 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 "[email protected]" | |
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