-
Notifications
You must be signed in to change notification settings - Fork 0
/
bashrc_mac
202 lines (177 loc) · 9.79 KB
/
bashrc_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
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
# shellcheck disable=SC2148,SC1090,SC1091,SC2012,SC2139
declare sysBashrc='/etc/bashrc'
if [[ -f "$sysBashrc" ]]; then
. "$sysBashrc"
fi
###############################################################################
### System ###
###############################################################################
export TERM='xterm-256color'
export HISTFILESIZE=
export HISTSIZE=
shopt -s histappend
export PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
#export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
export HISTCONTROL=ignoredups
export HISTTIMEFORMAT="%a%l:%M %p "
export HISTIGNORE='ls:bg:fg:history'
###############################################################################
### Homebrew ###
###############################################################################
source /usr/local/etc/bash_completion.d/brew
###############################################################################
### coreutils ###
###############################################################################
export MANPATH=/usr/local/opt/coreutils/libexec/gnuman:/usr/local/share/man:/usr/share/man
# Filesystem Operational Behavior
function ll { ls --color -l "$@" | egrep -v '.(DS_Store|CFUserTextEncoding)'; }
function la { ls --color -al "$@" | egrep -v '.(DS_Store|CFUserTextEncoding)'; }
function ld { ls --color -ld "$@" | egrep -v '.(DS_Store|CFUserTextEncoding)'; }
function lh { ls --color -alh "$@" | egrep -v '.(DS_Store|CFUserTextEncoding)'; }
alias cp='cp -rfvp'
alias mv='mv -v'
# FIX: alias for GNU zip/unzip do not work
alias zip='/usr/local/bin/gzip'
alias unzip='/usr/local/bin/gunzip'
alias hist='history | cut -c 21-'
###############################################################################
### grep ###
###############################################################################
alias grep='grep --color=auto' 2>/dev/null
alias egrep='egrep --color=auto' 2>/dev/null
alias fgrep='fgrep --color=auto' 2>/dev/null
###############################################################################
### find ###
###-------------------------------------------------------------------------###
### Easily find stuff within the root '/' filesystem (fs) without errors.
###----------------------------------------------------------------------------
# Find files somewhere on the system; to use:
# 1) call the alias, 'findsys'
# 2) pass a directory where the search should begin, and
# 3) pass a file name, either exact or fuzzy: e.g.:
# $ findsys /var/ '*.log'
function findSystemStuff() {
findDir="$1"
findFSO="$2"
sudo find "$findDir" -name 'cores' -prune , -name 'dev' -prune , -name 'net' -prune , -name "$findFSO"
}
alias findsys=findSystemStuff
###-------------------------------------------------------------------------###
### Easily find stuff within your home directory. To use:
# 1) call the alias, 'findmy'
# 2) pass a 'type' of fs object, either 'f' (file) or 'd' (directory)
# 3) pass the object name, either exact or fuzzy: e.g.:
# $ findmy f '.vim*'
function findMyStuff() {
findType="$1"
findFSO="$2"
find "$HOME" -type "$findType" -name "$findFSO"
}
alias findmy=findMyStuff
###############################################################################
### VirtualBox ###
###############################################################################
export VBOX_USER_HOME="$HOME/vms/vbox"
###############################################################################
### VMware ###
###############################################################################
export VMWARE_STORAGE="$HOME/vms/vmware"
###############################################################################
### Python ###
###############################################################################
export PIP_CONFIG_FILE="$HOME/.config/python/pip.conf"
# Setup autoenv to your tastes
#export AUTOENV_AUTH_FILE="$HOME/.config/python/autoenv_authorized"
#export AUTOENV_ENV_FILENAME='.env'
#export AUTOENV_LOWER_FIRST=''
#source /usr/local/bin/activate.sh
###############################################################################
### Ruby ###
###############################################################################
#source /usr/local/opt/chruby/share/chruby/chruby.sh
#source /usr/local/opt/chruby/share/chruby/auto.sh
###############################################################################
### Go ###
###############################################################################
export GOPATH="$HOME/code/gocode"
alias mygo="cd $GOPATH"
###############################################################################
### Bash ###
###############################################################################
export SHELL='/usr/local/bin/bash'
export BASH_VERSION="$(bash --version | head -1 | awk -F " " '{print $4}')"
source /usr/local/share/bash-completion/bash_completion
# ShellCheck: Ignore: https://goo.gl/n9W5ly
export SHELLCHECK_OPTS="-e SC2155"
###############################################################################
### Vim ###
###############################################################################
export EDITOR='/usr/local/bin/vim'
alias vi="$EDITOR"
alias nim='/usr/local/bin/nvim'
###############################################################################
### DOCKER ###
###############################################################################
# command-completions for docker, et al.
source /usr/local/etc/bash_completion.d/docker
source /usr/local/etc/bash_completion.d/docker-compose
source /usr/local/etc/bash_completion.d/docker-machine.bash
source /usr/local/etc/bash_completion.d/docker-machine-wrapper.bash
eval "$(docker-machine env default)"
###############################################################################
### Amazon ###
###############################################################################
complete -C "$(type -P aws_completer)" aws
export AWS_PROFILE='userName'
export AWS_REGION='myRegion'
#export AWS_CONFIG_FILE="$HOME/.aws/config"
###############################################################################
### Remote Access ###
###############################################################################
# HashiCorp Atlas
export ATLAS_TOKEN=''
# Homebrew / Github
export HOMEBREW_GITHUB_API_TOKEN=''
###############################################################################
### Terraform ###
###############################################################################
alias tf='/usr/local/bin/terraform'
#export TF_VAR_AWS_PROFILE="$AWS_PROFILE"
export TF_LOG='DEBUG'
export TF_LOG_PATH='/tmp/terraform.log'
###############################################################################
### Packer ###
###############################################################################
source /usr/local/etc/bash_completion.d/packer
#export PACKER_CONFIG="$PACKER_HOME/.packerconfig"
export PACKER_HOME="$HOME/vms/packer"
export PACKER_CACHE_DIR="$PACKER_HOME/iso-cache"
export PACKER_BUILD_DIR="$PACKER_HOME/builds"
export PACKER_LOG='yes'
export PACKER_LOG_PATH='/tmp/packer.log'
#export PACKER_NO_COLOR='yes'
###############################################################################
### Vagrant ###
###############################################################################
source /usr/local/etc/bash_completion.d/vagrant
#export VAGRANT_LOG=debug
export VAGRANT_HOME="$HOME/vms/vagrant"
export VAGRANT_BOXES="$VAGRANT_HOME/boxes"
export VAGRANT_DEFAULT_PROVIDER='virtualbox'
###############################################################################
### Ansible ###
###############################################################################
export ANSIBLE_CONFIG="$HOME/.ansible"
###############################################################################
### GIT ###
###############################################################################
source /usr/local/etc/bash_completion.d/git-completion.bash
###############################################################################
### KUBERNETES ###
###############################################################################
source <(kubectl completion bash) # NEW
###############################################################################
### Google Cloud Platform ###
###############################################################################
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.bash.inc'
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.bash.inc'