-
Notifications
You must be signed in to change notification settings - Fork 1
/
.zshrc
164 lines (121 loc) · 4.74 KB
/
.zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# For secret loot that shouldn't be versioned
if [[ -a ~/.localrc ]]
then
source ~/.localrc
fi
export PATH=~/projects/dotfiles/bin:/usr/local/bin:/usr/local/sbin:$PATH
export MANPATH="/usr/local/man:/usr/local/git/man:$MANPATH"
### Terminal colors, prompt, etc
source "`brew --prefix`/etc/grc.bashrc"
colored_printf () {
printf "\001\033[0;$1m\002$2\001\033[0m\002"
}
function git_branch {
# http://stackoverflow.com/a/2185353
if git rev-parse --git-dir > /dev/null 2>&1
then
# http://unix.stackexchange.com/a/155077
if [ -z "$(git status --porcelain)" ]
then # Working directory clean
local color="32" # green
else # Uncommitted changes
local color="31" # red
fi
if branch=$(git symbolic-ref --short -q HEAD)
then
colored_printf "$color" " $branch"
else
colored_printf "$color" " (no branch)"
fi
fi
}
# export PS1="[\w\$(git_branch)]\$ "
### rvm
export PATH="$PATH:$HOME/.rvm/bin"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
### Pyenv
# makes loading slow... do this in the background? is that possible?
# eval "$(pyenv init -)"
### Java
# used by .dotfiles/aws
# export JAVA_HOME=$(/usr/libexec/java_home)
# export PATH=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin:$PATH
### Android Studio
#export ANDROID_HOME=${HOME}/Library/Android/sdk
export ANDROID_HOME='/usr/local/share/android-sdk'
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
### AWS
export AWS_HOME=~/.aws
# EC2
export EC2_HOME=$AWS_HOME/ec2
export PATH=$PATH:$EC2_HOME/bin
#export EC2_URL=https://ec2.us-west-1.amazonaws.com
# ELB
export AWS_ELB_HOME=$AWS_HOME/elb
export PATH=$PATH:$AWS_ELB_HOME/bin
#export AWS_ELB_URL=https://elasticloadbalancing.us-west-1.amazonaws.com
export EC2_PRIVATE_KEY=`ls $AWS_HOME/pk-*.pem`
export EC2_CERT=`ls $AWS_HOME/cert-*.pem`
### Tedware
alias tw='subl ~/projects/tedware/tedware.txt'
### Git
alias gs='git status'
alias gf='git fetch'
alias glog="git log --graph --pretty=format:'%Cred%h%Creset %an: %s - %Creset %C(yellow)%d%Creset %Cgreen(%cr)%Creset' --abbrev-commit --date=relative"
alias gp='git push origin HEAD'
alias gd='git diff'
alias gds='git diff --staged'
alias gc='git commit'
alias gca='git commit -a'
alias gco='git checkout'
alias gb='git branch'
alias gg='git grep'
alias gbr="git for-each-ref --sort=-committerdate refs/heads/ --format='%(refname) %(committerdate) %(authorname)' | sed 's/refs\/heads\///g'"
alias gbdm='git branch --merged | grep -v "\*" | xargs -n 1 git branch -d'
### General conveniences
function p() {
cd "$HOME/Projects/$1"
}
alias subl='"/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl"'
alias setup='~/dotfiles/setup'
alias pubkey="more ~/.ssh/id_rsa.pub | pbcopy | echo '=> Public key copied to pasteboard.'"
# Usage: extract <file>
# Description: extracts archived files / mounts disk images
# Note: .dmg/hdiutil is Mac OS X-specific.
extract () {
if [ -f $1 ]; then
case $1 in
*.tar.bz2) tar -jxvf $1 ;;
*.tar.gz) tar -zxvf $1 ;;
*.bz2) bunzip2 $1 ;;
*.dmg) hdiutil mount $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar -xvf $1 ;;
*.tbz2) tar -jxvf $1 ;;
*.tgz) tar -zxvf $1 ;;
*.zip) unzip $1 ;;
*.ZIP) unzip $1 ;;
*.pax) cat $1 | pax -r ;;
*.pax.Z) uncompress $1 --stdout | pax -r ;;
*.Z) uncompress $1 ;;
*) echo "'$1' cannot be extracted/mounted via extract()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
### Autocompletion
# bind "set completion-ignore-case on"
# bind "set show-all-if-ambiguous on"
# makes bash slow
#if [ -f $(brew --prefix)/etc/bash_completion ]; then
# . $(brew --prefix)/etc/bash_completion
#fi
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/ted/Downloads/google-cloud-sdk/path.bash.inc' ]; then source '/Users/ted/Downloads/google-cloud-sdk/path.bash.inc'; fi
# The next line enables shell command completion for gcloud.
if [ -f '/Users/ted/Downloads/google-cloud-sdk/completion.bash.inc' ]; then source '/Users/ted/Downloads/google-cloud-sdk/completion.bash.inc'; fi
export PATH="$HOME/.poetry/bin:$PATH"
### asdf
. /usr/local/opt/asdf/libexec/asdf.sh