-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbash_profile.mac
125 lines (104 loc) · 2.89 KB
/
bash_profile.mac
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
# Setup VI Commandline Behaviour
set -o vi
# Setting up the path
PATH=""
PATH=${PATH}:/usr/local/opt/coreutils/libexec/gnubin
PATH=${PATH}:/usr/local/opt/gnu-sed/libexec/gnubin
PATH=${PATH}:/usr/local/opt/ruby/bin
PATH=${PATH}:/usr/local/bin
PATH=${PATH}:/usr/local/share/python
PATH=${PATH}:/usr/bin
PATH=${PATH}:/bin
PATH=${PATH}:/usr/sbin
PATH=${PATH}:/sbin
PATH=${PATH}:/Users/feanil/usr/share/elasti_cache_cli/bin
PATH=${PATH}:/Users/feanil/usr/share/elb_cli/bin
PATH=${PATH}:/Users/feanil/usr/share/ec2_cli/bin
export PATH
# Setup man path
MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
# Setting up Virtual Env
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/src
export VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
source /usr/local/bin/virtualenvwrapper_lazy.sh
# Java / AWS CLI
export JAVA_HOME=`/usr/libexec/java_home`
export AWS_CREDENTIAL_FILE=/Users/feanil/.aws/aws.credentials
export AWS_ELASTICACHE_HOME=/Users/feanil/usr/share/elasti_cache_cli
export AWS_ELB_HOME=/Users/feanil/usr/share/elb_cli
export AWS_ELB_URL=https://elasticloadbalancing.us-east-1.amazonaws.com
export EC2_HOME=/Users/feanil/usr/share/ec2_cli
export AWS_DEFAULT_REGION='us-east-1'
# Aliases
alias ls='ls -G --color'
alias ll='ls -lh --color'
alias vim='nvim'
# Git Bash Completion
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
# OPAM configuration - For patdiff
. /Users/feanil/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true
if [ "$BASH_VERSINFO" -ge 2 ]; then
shopt -s cdspell
shopt -s checkwinsize
shopt -s cmdhist
shopt -s histappend
shopt -s checkhash
shopt -s no_empty_cmd_completion
shopt -s execfail
HISTFILESIZE=10000
HISTDIR="$HOME/.bash_histories/`uname -n`"
[[ ! -d $HISTDIR ]] && mkdir -p "$HISTDIR"
HISTFILE="$HISTDIR/`date +%Y_%m`"
# Suppress duplicates, bare "ls" and bg,fg and exit
HISTIGNORE="&:ls:[bf]g:exit"
fi
h() {
ls ~/.bash_histories/*/* | sort | xargs grep -i "$1"
}
awsenv() {
AWS_PROFILE=$1
if [ -n "$AWS_PROFILE" ]; then
rm ~/.aws
ln -s ~/.aws-$AWS_PROFILE $HOME/.aws
else
ls -ld ~/.aws*
fi
}
export PS1="\u@edx \w$ "
sesame()
{
MODE=$1
. ~/.sesame
EDITOR="/usr/bin/vi -n"
if [ "$MODE" != "w" ]; then
EDITOR="${EDITOR} -R"
fi
MESSAGE=$(export EDITOR && gpg -d ${SESAME_ROOT}/sesame.yml.${MY_KEY_ID}.gpg | vipe)
if [ "$MODE" == "w" ]; then
for id in ${RECIPIENTS}; do echo "${MESSAGE}" | gpg -r $id -o ${SESAME_ROOT}/sesame.yml.${id}.gpg -e; done;
fi
}
api-key()
{
length=$1
cat /dev/urandom | gtr -dC A-Za-z0-9 | head -c${length}
# echo
}
password-gen()
{
length=$1
cat /dev/urandom | tr -dC "A-Za-z0-9!@#$%^&*(){}[]/=?+" | head -c${length}
# echo
}
xkcd()
{
word_len=$1
words=$2
word_len=${word_len:=10}
words=${words:=4}
shuf -n ${words} $HOME/.config/xkcd/xkcd-${word_len}.txt | tr '\n' ' '
echo
}