Skip to content

Instantly share code, notes, and snippets.

@ryanhanwu
Last active July 19, 2023 05:22
Show Gist options
  • Star 38 You must be signed in to star a gist
  • Fork 18 You must be signed in to fork a gist
  • Save ryanhanwu/059e210f8fe15e7eadc4a28e8b3e6b27 to your computer and use it in GitHub Desktop.
Save ryanhanwu/059e210f8fe15e7eadc4a28e8b3e6b27 to your computer and use it in GitHub Desktop.
New Mac Setup Script 2021

Basic Setup

git clone https://gist.github.com/059e210f8fe15e7eadc4a28e8b3e6b27.git setup
cd setup && sh ./init.sh

Shell Configuration

  1. Enable plugins - edit ~/.zshrc

    Update plugins

     plugins=(autojump git brew common-aliases zsh-autosuggestions copydir copyfile encode64 node osx sublime tmux xcode pod docker git-extras git-prompt)
    

Generate Your Development SSH Key

  1. Generate your key for the development machine

    ssh-keygen -t rsa -b 2048
    
  2. Copy your public key (~/.ssh/id_rsa.pub) to your Bitbucket Account's "SSH Keys"

# Taps
tap 'homebrew/cask-fonts'
tap 'homebrew/cask-versions'
tap 'heroku/brew'
# Install CLI Tools
## Shell Utilities
brew 'coreutils'
brew 'findutils'
brew 'autojump'
brew 'zsh'
brew 'zsh-completions'
brew 'tmux'
brew 'jq'
brew 'q'
brew 'docker-compose'
brew 'ack'
## Network Utilities
brew 'htop'
brew 'nmap'
brew 'mtr'
brew 'wget'
## System Utilities
brew 'terminal-notifier'
brew 'tree'
brew 'mackup'
brew 'mas'
brew 'trash'
## Dev Utilities
brew 'diff-so-fancy'
brew 'heroku'
brew 'reattach-to-user-namespace'
brew 'git'
brew 'awscli'
brew 'w3m'
brew 'nvm'
brew 'node'
# Mac Apps
## Communication
cask 'slack'
cask 'skype'
## Productivity
cask 'alfred'
cask 'go2shell'
cask 'docker'
cask 'google-chrome'
cask 'rectangle'
cask 'keycastr'
cask 'clipy'
cask 'cheatsheet'
## System
cask 'skitch'
cask 'the-unarchiver'
cask 'coconutbattery'
cask 'appcleaner'
cask 'namechanger'
## Editor
cask 'visual-studio-code'
cask 'macdown'
brew 'vim'
## Development
cask 'atext'
cask 'diffmerge'
cask 'fastlane'
cask 'firefox'
cask 'gas-mask'
cask 'gpg-suite'
cask 'imageoptim'
cask 'iterm2'
cask 'java8'
cask 'microsoft-remote-desktop-beta'
cask 'ngrok'
cask 'opera'
cask 'postman'
cask 'robo-3t'
cask 'sequel-pro'
cask 'psequel'
cask 'sourcetree'
# Fonts
cask 'font-source-code-pro-for-powerline'
cask 'font-source-code-pro'
cask 'font-source-sans-pro'
# App
mas 'XCode', id: 497799835
#!/bin/sh
echo "Installing Homebrew"
if test ! $(which brew); then
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
brew update
echo "Install Homebrew Packages"
brew tap homebrew/bundle
brew bundle
echo "Install XCode CLI Tool"
xcode-select --install
echo "Installing Oh My Zsh"
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
git clone git://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
git clone git://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
echo "source ~/.oh-my-zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
sed -io 's/^plugins=.*/plugins=(autojump git brew common-aliases zsh-autosuggestions copydir copyfile encode64 node osx sublime tmux xcode pod docker git-extras git-prompt)/' ~/.zshrc
sed -io 's/^ZSH_THEME.*/ZSH_THEME="dpoggi"/' ~/.zshrc
echo "Installing Tmux Settings"
git clone https://github.com/gpakosz/.tmux.git ~/.tmux
ln -s ~/.tmux/.tmux.conf ~/.tmux.conf
cp ~/.tmux/.tmux.conf.local ~/
echo "Install VIM settings"
git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
echo "Configrating Git"
git config --global merge.tool diffmerge
git config --global merge.conflictstyle diff3
git config --global mergetool.prompt false
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global core.editor $(which vim)
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"
git config --global alias.tree "log --graph --full-history --all --color --date=short --pretty=format:'%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset'"
echo "Enabling Services"
open /Applications/Alfred\ 4.app
open /Applications/Gas\ Mask.app
open /Applications/Clipy.app
open /Applications/Rectangle.app
#!/bin/sh
git pull
echo "Updating Homebrew"
brew update && brew upgrade && brew cleanup && brew cask cleanup; brew bundle; brew doctor
echo "Updating Oh My Zsh"
env ZSH=$ZSH sh $ZSH/tools/upgrade.sh
echo "Updating VIM"
cd ~/.vim_runtime
git pull --rebase
echo "Updating Tmux"
cd ~/.tmux
git pull --rebase
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment