My Mac OSX Setup

How I setup my mac

January 15, 2019

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew cask
brew tap caskroom/versions

brew install curl
brew install git
brew install wget

brew cask install sublime-text
brew cask install iterm2
brew cask install sourcetree
brew cask install discord
brew cask install google-chrome
brew cask install iterm2
brew cask install insomniax
brew cask install insomnia
brew cask install dropbox
brew cask install kap
brew cask install slack
brew cask install appcleaner

brew tap caskroom/fonts
brew cask install font-fira-code font-inter-ui

Ruby

brew install rbenv ruby-build
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
rbenv install 2.5.1 && rbenv global 2.5.1
# ~/.irbrc

require "irb/completion"
require "irb/ext/save-history"
IRB.conf[:SAVE_HISTORY] = 10000

require "awesome_print"
AwesomePrint.irb!

Node.js

brew install nodenv node-build
echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
nodenv install 8.11.1 && nodenv global 8.11.1

PostgreSQL

brew install postgresql
brew services start postgresql
createdb $(whoami)
sudo -u $(whoami) psql $(whoami)
CREATE USER postgres SUPERUSER;
CREATE DATABASE postgres WITH OWNER postgres;
ALTER ROLE postgres WITH PASSWORD 'postgrespw';

Bash

Bash Prompt

cd ~/
curl https://raw.githubusercontent.com/nicolashery/mac-dev-setup/master/.bash_prompt | grep -v "export PS1" > .bash_prompt
echo 'export PS1="\[${BOLD}${MAGENTA}\]\u \[$WHITE\]in \[$GREEN\]\w\[$WHITE\]\$([[ -n \$(git branch 2> /dev/null) ]] && echo \" on \")\[$PURPLE\]\$(parse_git_branch)\[$WHITE\]\n$ \[$RESET\]"' >> .bash_prompt
echo "source ~/.bash_prompt" >> ~/.bash_profile

Bash Profile

# ~/.bash_profile

alias ll='ls -l'
alias f='open -a Finder ./'
alias d='cd ~/Downloads'

alias gs='git status'
alias gac='git add . && git commit'
alias gp='git push'
alias gdf='git diff'
alias gpl='git pull'
alias gl='git log --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit'

Github

SSH

ssh-keygen -t rsa -C "karis612@gmail.com"
cat ~/.ssh/id_rsa.pub | pbcopy && open "https://github.com/settings/keys"

Config

git config --global user.name "Eunjae Lee"
git config --global user.email "karis612@gmail.com"
git config --global github.user eunjae-lee
git config --global color.ui true

Mac OSX

#Set a blazingly fast keyboard repeat rate
defaults write NSGlobalDomain KeyRepeat -int 0.02

#Set a shorter Delay until key repeat
defaults write NSGlobalDomain InitialKeyRepeat -int 12

#Add a context menu item for showing the Web Inspector in web views
defaults write NSGlobalDomain WebKitDeveloperExtras -bool true

#Show the ~/Library folder
chflags nohidden ~/Library

#Store screenshots in subfolder on desktop
mkdir ~/Desktop/Screenshots
defaults write com.apple.screencapture location ~/Desktop/Screenshots

VSCode

brew cask install visual-studio-code

2gua.rainbow-brackets
dbaeumer.vscode-eslint
eamodio.gitlens
eg2.tslint
eg2.vscode-npm-script
esbenp.prettier-vscode
k--kato.intellij-idea-keybindings
mohsen1.prettify-json
octref.vetur
sysoev.language-stylus
VisualStudioExptTeam.vscodeintellicode
wmaurer.change-case

settings.json

{
  "git.autofetch": true,
  "editor.fontFamily": "Fira Code",
  "editor.tabSize": 2,
  "editor.renderWhitespace": "boundary",
  "editor.fontLigatures": true,
  "editor.fontSize": 18,
  "editor.detectIndentation": false,
  "workbench.colorTheme": "Monokai Dimmed",
  "files.autoSave": "off",
  "terminal.integrated.scrollback": 100000,
  "terminal.integrated.shellArgs.osx": ["-l"],
  "editor.formatOnSave": true,
  "explorer.confirmDragAndDrop": false,
  "explorer.confirmDelete": false,
  "workbench.editor.enablePreview": false,
  "editor.multiCursorModifier": "ctrlCmd",
  "editor.rulers": [80, 120],
  "typescript.updateImportsOnFileMove.enabled": "always",
  "gitlens.advanced.messages": {
    "suppressShowKeyBindingsNotice": true
  },
  "gitlens.currentLine.enabled": false,
  "gitlens.hovers.currentLine.over": "line",
  "gitlens.codeLens.enabled": false,
  "breadcrumbs.enabled": true,
  "window.zoomLevel": 0,
  "git.alwaysShowStagedChangesResourceGroup": true,
  "javascript.updateImportsOnFileMove.enabled": "always"
}