Skip to content

Instantly share code, notes, and snippets.

@fanqi
Forked from jbelke/Mac OSX Setup - Brew
Created April 24, 2020 05:36
Show Gist options
  • Save fanqi/acdfa404a7c24cb07a526caa3e23b350 to your computer and use it in GitHub Desktop.
Save fanqi/acdfa404a7c24cb07a526caa3e23b350 to your computer and use it in GitHub Desktop.
Mac OSX Setup - Brew and Cask
# Get Sudo.
if [ $EUID != 0 ]; then
sudo "$0" "$@"
exit $?
fi
# Install Xcode first - https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12
# Install Xcode command line tools.
xcode-select --install
# Install Homebrew.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Configure Homebrew.
brew doctor
# Setup Homebrew Cask.
brew tap caskroom/cask
brew install brew-cask
brew tap caskroom/versions
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
brew tap homebrew/services
brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup
# Setup Homebrew fonts.
brew tap caskroom/fonts
# Nicer plugins for QuickLook.
brew cask install qlcolorcode
brew cask install qlstephen
brew cask install qlmarkdown
brew cask install quicklook-json
brew cask install webpquicklook
brew cask install qlimagesize
brew cask install qlprettypatch
brew cask install quicklook-csv
brew cask install betterzipql
brew cask install suspicious-package
# Virtualization
brew cask install virtualbox
brew install docker
brew install boot2docker
# System Tools
brew install coreutils
brew install findutils --with-default-names
brew install bash
brew install bash-completion
brew install homebrew/dupes/grep --with-default-names
brew install git
brew install git-flow
brew install nano
brew install vim
brew install macvim
brew install vimpager
brew install emacs
brew install colordiff
brew install jq
brew install wget
brew install calc
brew install htop
brew install hh
brew install openssh
brew install lftp
brew install links
brew install lynx
brew install ccrypt
brew install dos2unix
brew install ncurses
brew install nmap
brew install tig
brew install tree
brew install geoip
brew install unzip
brew install unrar
brew install node
npm update npm -g
brew install java
brew install jenv
brew install python
brew install mysqltuner
brew install webkit2png
brew install imagemagick
brew install jpegoptim
brew install vnstat
curl -L https://get.rvm.io | bash -s stable --ruby
brew install rbenv-gem-rehash
brew install ruby-build
#rbenv install 2.x.x
#rbenv global 2.x.x
#gem update —system
#gem install bundler jekyll rails
#brew install node
brew install php56-opcache
brew install composer
brew install android-sdk
brew install certbot
# Virtualization
brew cask install vagrant
brew cask install vagrant-manager
# Apps.
# Apps - General / Management
brew cask install appcleaner
brew cask install cakebrew
brew cask install disk-inventory-x
# Apps - Browsers
brew cask install google-chrome
brew cask install chrome-devtools
brew cask install epichrome
brew cask install chrome-remote-desktop-host
brew cask install firefox
brew cask install fiddler
brew cask install integrity
# Apps - PHP IDE
brew cask install sublime-text3
brew cask install phpstorm
# Apps - Android
brew cask install androidtool
brew cask install android-studio
brew cask install genymotion
# Apps - Ruby on Rails
brew cask install rubymine
# Apps - Python
brew cask install pycharm
# Apps - DB Management
brew cask install sequel-pro
brew cask install datagrip
brew cask install navicat-premium-essentials
# Apps - Servers
brew cask install zendserver
brew cask install postgres
# Apps - Javascript
brew cask install webstorm
# Apps - CSS
brew cask install codekit
brew cask install cactus
#DB
brew install mysql
brew install postgres
# Service tools
brew cask install heroku-toolbelt
brew cask install dockertoolbox
brew install awscli
# Apps - CVS
brew cask install sourcetree
brew cask install deltawalker
# Apps - Files
brew cask install dropbox
brew cask install filezilla
brew cask install cyberduck
brew cask install owncloud
brew cask install the-unarchiver
# Apps - Data
brew cask install google-refine
brew cask install libreoffice
#brew cask install microsoft-office
# Apps - Design
#brew cask install adobe-photoshop-cc
#brew cask install adobe-photoshop-lightroom
#brew cask install adobe-illustrator-cc
brew cask install adobe-creative-cloud
brew cask install omnigraffle
brew cask install sketch
brew cask install sketchup
brew cask install colorpicker-skalacolor
# Apps - Communication
brew cask install slack
brew cask install droplr
brew cask install skype
brew install irssi
brew cask install vienna
# Apps - Documentation
brew cask install mou
brew cask install jing
# Apps - Remote
brew cask install remote-desktop-connection
brew cask install remote-desktop-manager
# Apps - Entertainment
brew cask install spotify
brew cask install steam
# Command Line
brew cask install fabric
brew cask install jd-gui
brew cask install grandperspective
brew cask install toau
brew cask install mapbox-studio
# System Efficiency
brew cask install resolutionator
brew cask install go2shell
brew cask install grammarly
brew cask install iterm2
#firewall
brew cask install little-snitch
# Setup OSX to use Homebrew-installed apps.
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="$(brew --prefix coreutils)/libexec/gnubin:/usr/local/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
# Setup Git.
read -e -p "Enter your git username: " USERNAME
read -e -p "Enter your git email address: " EMAIL
git config --global user.name $USERNAME
git config --global user.email $EMAIL
ssh-keygen -t rsa -b 4096 -C $EMAIL
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
pbcopy < ~/.ssh/id_rsa.pub
sudo ln -s /usr/local/bin/git-flow /usr/bin/git-flow
sudo ln -s /usr/local/bin/gitflow-common /usr/bin/gitflow-common
sudo ln -s /usr/local/bin/git-flow-init /usr/bin/git-flow-init
sudo ln -s /usr/local/bin/git-flow-version /usr/bin/git-flow-version
sudo ln -s /usr/local/bin/git-flow-feature /usr/bin/git-flow-feature
sudo ln -s /usr/local/bin/git-flow-release /usr/bin/git-flow-release
sudo ln -s /usr/local/bin/git-flow-hotfix /usr/bin/git-flow-hotfix
sudo ln -s /usr/local/bin/git-flow-support /usr/bin/git-flow-support
sudo ln -s /usr/local/bin/gitflow-shFlags /usr/bin/gitflow-shFlags
# ZSH replacing shell.
brew install zsh
curl -L http://install.ohmyz.sh | sh
# All done with Homebrew.
brew update && brew upgrade && brew cleanup && brew cask cleanup
# Expand "Save" and "Print" panels.
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true
# Use current directory as default search scope in Finder.
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
# Remove duplicate "Open With" options.
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
# Show extensions in Finder.
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
# Show path in Finder.
defaults write com.apple.finder ShowPathbar -bool true
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
# Allow selecting text in Quick Look.
defaults write com.apple.finder QLEnableTextSelection -bool true
# Use OSX print dialog in Chrome.
defaults write com.google.Chrome DisablePrintPreview -bool true
defaults write com.google.Chrome PMPrintingExpandedStateForPrint2 -bool true
# Copy email addresses, not names, from Mail.
defaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false
# Quit Printer app when complete.
defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true
# Ignore Quarentine of unknown apps.
defaults write com.apple.LaunchServices LSQuarantine -bool false
# Reboot to a clean slate.
defaults write com.apple.systempreferences NSQuitAlwaysKeepsWindows -bool false
# Enable "Tap to Click".
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
# Invert scrolling direction.
defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false
# Open Finder at "~/" directory.
defaults write com.apple.finder NewWindowTarget -string "PfLo"
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/"
# Don't create temporary files to network mounted drives.
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
# Unhide "~/Library" folder.
chflags nohidden ~/Library
# Add iOS Simulator app to normal "/Applications" directory.
ln -sf "/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app" "/Applications/iOS Simulator.app"
# Disable Time Machine prompt for every disk.
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true
# Configure Activity Monitor to always open a window, sorted by the most CPU intensive tasks.
defaults write com.apple.ActivityMonitor OpenMainWindow -bool true
defaults write com.apple.ActivityMonitor ShowCategory -int 0
defaults write com.apple.ActivityMonitor SortColumn -string "cpUUsage"
defaults write com.apple.ActivityMonitor SortDirection -int 0
# Done.
echo "All Done. Your SSH Key is on the clipboard, ready for pasting into Git."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment