-
Notifications
You must be signed in to change notification settings - Fork 0
/
.bashrc
95 lines (79 loc) · 2.46 KB
/
.bashrc
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
#!/bin/bash
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# Environment variables
GOPATH=$HOME/go
PATH=$PATH:$HOME/Projects/ghar/bin
PATH=$PATH:$HOME/.local/bin
PATH=$PATH:$HOME/bin
PATH=$PATH:$GOPATH/bin
export FZF_CTRL_R_OPTS='--sort --exact'
export FZF_DEFAULT_OPTS='--height 30%'
export WORKON_HOME="${HOME}/.virtualenvs"
export VIRTUALENV_WRAPPER_PATH="/usr/bin/virtualenvwrapper_lazy.sh"
# Pull ghar files automatically
if which ghar > /dev/null ; then
dotfiles_dir="$(dirname $(readlink ${BASH_SOURCE[0]}))"
days_since=$(( $(date +%s) - $(git --git-dir "${dotfiles_dir}/.git" log -1 --date=unix --format=%cd) / 3600 / 24))
if [ $(( ${days_since} % 31 )) -eq 0 ]; then
echo "Monthly dotfile pull"
ghar pull > /dev/null
fi
if [[ "$(ghar status)" =~ dirty ]]; then
echo "New dotfile changes found, installing dotfiles"
ghar install > /dev/null
fi
fi
FULL_NAME="Allen Ji"
EMAIL="[email protected]"
GIT_BASE="${HOME}/Projects"
# Git config
if which git > /dev/null ; then
git config --global user.name "${FULL_NAME}"
git config --global user.email "${EMAIL}"
fi
# git autocomplete
# Install .git-completion.bash from
# https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
# if does not exist in $HOME
if [ -f ${HOME}/.git-completion.bash ]; then
. ${HOME}/.git-completion.bash
# Add git completion to aliases
__git_complete g _git
fi
# Source additional scripts
# Run additional bashrc scipts
# Only execute additional .bashrc scripts if they are secure
while IFS= read -r -d '' script; do
. "${script}"
done < <(find "${HOME}/.bashrc.d/" -type f -perm -g-xw,o-xw -user "${USER}" -print0)
# Source python virtualenvwrapper
[ -f "${VIRTUALENV_WRAPPER_PATH:-}" ] && . "${VIRTUALENV_WRAPPER_PATH}"
# Start ssh-agent
start-ssh-agent
#Color
if [[ $- == *i* ]]; then
ucolor="\[$(tput setaf 2)\]"
pcolor="\[$(tput setaf 6)\]"
reset="\[$(tput sgr0)\]"
PS1="${pcolor}[\@ ${ucolor}\\u@\\h${pcolor} \\w]\$ "
fi
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# Kubernetes
# Merge kube config files
for contextFile in `find "${HOME}/.kube" -type f -name "*.config"`
do
export KUBECONFIG="$contextFile:$KUBECONFIG"
done
#fzf
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
PATH=${PATH}:/home/aji/local_builds/usr/local/bin
. "/home/aji/local_builds/usr/local/cargo/env"