# .profile
# use mac's git prompt if git isn't brewed
if [ ! -f "$(brew --prefix)/etc/bash_completion.d/git-prompt.sh" ]; then
source /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.bash
else
source "$(brew --prefix)/etc/bash_completion.d/git-prompt.sh"
fi
__my_lang_prompt() {
[ -f ~/.rvm/bin/rvm-prompt ] && eval ~/.rvm/bin/rvm-prompt
}
build_git_prompt() {
git_prompt=$(__git_ps1 "(%s)")
}
if ! $(echo $PROMPT_COMMAND | grep -q build_git_prompt); then
PROMPT_COMMAND="build_git_prompt; $PROMPT_COMMAND"
fi
# .bash_profile
# Default Git enabled prompt with dirty state
export PS1="\$(__my_lang_prompt)\$git_prompt \w\nš $ "
# Default Git enabled root prompt (for use with "sudo -s")
# doesn't require txtuid
txtuid="$([ $UID -eq "0" ] && echo $txtred || echo $txtwht)" # user/sudo color
bakred="$(tput setab 1 2>/dev/null || echo '\e[41m')" # Red
txtrst="$(tput sgr 0 2>/dev/null || echo '\e[0m')" # Text Reset
export SUDO_PS1="\[$bakred\]\u@\h\[$txtrst\] \w\$ "
Completion
# .bash_profile
_source_if_exists() {
[ -f "$1" ] && source "$1"
}
# brew install bash_completion
# Homebrew's own bash completion script has been installed to
# /usr/local/etc/bash_completion.d
#
# Bash completion has been installed to:
# /usr/local/etc/bash_completion.d
_source_if_exists "$(brew --prefix)/etc/bash_completion"
# shell_name=$(echo $0 | cut -d- -f2)
# shell_completions_file="$(brew --repository)/Library/Contributions/brew_$(echo $0 | cut -d- -f2)_completion.sh"
# [ -s $shell_completions_file ] && source $shell_completions_file
# If Commandline tools are installed without Xcode.app,
# we'll fall back to local git completion
# handle various places git completion may be
# if not using homebrew git completion
if [ ! -f "$(brew --prefix)/etc/bash_completion.d/git-completion.bash" ]; then
if [ -s /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash ]; then
# echo "using apple git completion for /usr/bin/git"
source /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash
else
# fall back to local (linked) copy
# echo "using local git completion"
source $HOME/.git-completion.sh
# maybe see brew install bash-completion
# source $(brew --prefix)/etc/bash_completion.d/git-prompt.sh
fi
fi
# brew install grc
_source_if_exists "$(brew --prefix grc)/etc/grc.bashrc"
_source_if_exists "$(brew --prefix)/etc/bash_completion.d/go"
Git niceties
# https://git-scm.com/docs/git-config
# http://mislav.uniqpath.com/2010/07/git-tips/
# http://stackoverflow.com/a/1371215
[core]
editor = vim
excludesfile = ~/.gitignore_global
whitespace = trailing-space,space-before-tab
[branch]
autoSetupRebase = always
[fetch]
prune = true
[push]
default = current
[pull]
# see https://github.com/thoughtbot/dotfiles/pull/377
# autosquash = true
rebase = true
[merge]
ff = only
[rerere]
enabled = 1
autoupdate = 1
[include]
path = ~/.gitconfig.local
[credential]
helper = osxkeychain
[alias]
extend = commit --amend -C HEAD
rbc = rebase --continue
prune-merged-local = "!git branch --merged | while read branch ; do git branch -D $branch 2>/dev/null ; done"
plog = log --pretty=format:'%C(red)%h%C(reset) | %C(green)%ad%Creset | %C(yellow)%d%C(reset) %s %C(bold blue)[%an]%Creset | (%cr)' --date=short
[color]
diff = auto
status = auto
branch = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = cyan bold
[color "status"]
added = yellow
changed = green
untracked = cyan
Verbose setup
Go to the apple developer site and download and install the "command line tools" package. This will provide a C compiler and other build tools.
sudo xcodebuild -license # offers option to install only Command line tools
`open /Applications/Xcode.app`
xcode-select --install
# if you don't have a ~/.ssh/id_rsa.pub
email="first.last@example.com"
ssh-keygen -t rsa -b 4096 -C "$email"
# Creates a new ssh key, using the provided email as a label
# Generating public/private rsa key pair.
# Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
# Enter passphrase (empty for no passphrase): [Press enter]
# Enter same passphrase again: [Press enter]
# Your identification has been saved in /Users/you/.ssh/id_rsa.
# Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
#01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com
# Ensure your ssh agent is configured
# start the ssh-agent in the background
eval "$(ssh-agent -s)"
# Agent pid 59566
ssh-add ~/.ssh/id_rsa
# Add your public ssh key to GitHub
pbcopy < ~/.ssh/id_rsa.pub
# Add SSH key
https://github.com/settings/ssh
# Give it a nice name like 'omg my mac'
# While here, optionally set up notifications to go to your desired email
https://github.com/settings/emails
ssh -T git@github.com
# The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)? [ yes ]
# Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.
Prompt (style and completion)
Style
Completion
Git niceties
Verbose setup
Go to the apple developer site and download and install the "command line tools" package. This will provide a C compiler and other build tools.
If you want the full XCode, install from app store https://developer.apple.com/xcode/downloads/ https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12
Install the homebrew package manager:
Install git:
Setup GitHub
Then, follow the ssh key instructions here -> https://help.github.com/articles/generating-ssh-keys to add your ssh key to GitHub so that you can do the next step.
Install Ruby (rvm instructions follow):
Brews (packages and programs)
===Installed brews===
===Installed casks===
brew install caskroom/cask/brew-cask
brew cask install slack