-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.bashrc
128 lines (104 loc) · 3.34 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
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
export EDITOR=vim
# use starship as shell prompt
eval "$(starship init bash)"
# bind 'TAB:menu-complete'
# if not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# common aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias ..='cd ..'
alias c='clear'
alias tmux='tmux -u'
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
# git completion
if [ -f /usr/share/bash-completion/completions/git ]; then
. /usr/share/bash-completion/completions/git
fi
# git specific
alias gaa="git add ."
alias gcm="git commit"
alias gd="git diff"
alias glog="git log"
alias gp="git pull"
alias gpush="git push"
alias gs="git status"
alias gstash="git stash"
alias gsw="git switch"
export GPG_TTY=$(tty)
# docker specific
cleanup_docker_containers() {
if [ -z "$(docker ps -a | grep -e Exited -e Created)" ]; then
echo "Hooray, there is no dangling container!"
else
docker ps -a | grep -e Exited -e Created | cut -d ' ' -f1 | xargs docker rm
fi
}
cleanup_docker_images() {
if [ -z "$(docker images | awk '/<none>/ {print $3}')" ]; then
echo "Hooray, there is no <none> tagged image!"
else
docker rmi $(docker images | awk '/<none>/ {print $3}')
fi
}
alias dcb="docker compose build"
alias dcu="docker compose up $1"
alias dcd="docker compose down"
alias dcps="docker compose ps"
alias dclog="docker compose logs -f"
alias dps="docker ps"
alias dls="docker container ls $1"
alias dils="docker image ls $1"
alias dvls="docker volume ls"
alias dnls="docker network ls"
# neovim specific
export PATH="$PATH:/usr/local/nvim-linux64/bin"
# # go specific(go1.16+)
# export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
# nodejs specific(nvm)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# # python specific(pyenv)
# export PYENV_ROOT="$HOME/.pyenv"
# command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
# eval "$(pyenv init -)"
# # ruby specific(rbenv)
# eval "$(~/.rbenv/bin/rbenv init - bash)"
# # terraform specific(cli auto-complete)
# complete -C /usr/local/bin/terraform terraform
# # wsl specific
# alias docker-start="sudo service docker start"