]> git.immae.eu Git - perso/Immae/Config/dotdrop.git/blob - dotfiles/shell_bash/bashrc
Add gnupg configuration
[perso/Immae/Config/dotdrop.git] / dotfiles / shell_bash / bashrc
1 #
2 # ~/.bashrc
3 #
4
5 if [ -n "$HOME/.local/bin" ]; then
6 PATH="$HOME/.local/bin:$PATH"
7 fi
8
9 # If not running interactively, don't do anything
10 [[ $- != *i* ]] && return
11
12 export GPG_TTY=$(tty)
13 export HISTFILE="$XDG_STATE_HOME/bash/history"
14
15 alias vi=vim
16 alias ls='ls --color=auto -F -T 0'
17 alias tmux='tmux -f $XDG_CONFIG_HOME/tmux/tmux.conf'
18
19 alias grep='grep --color=auto'
20 alias fgrep='fgrep --color=auto'
21 alias egrep='egrep --color=auto'
22
23 alias sudo="sudo "
24 alias mv="mv -i"
25 alias cp="cp -i"
26 alias rm="rm -i"
27 alias psp="pstree -aUp $USER"
28 alias dotdrop="dotdrop --cfg $XDG_CONFIG_HOME/dotdrop/config.yaml"
29
30 {%@@ if role.get(profile) == "fretlink" @@%}
31 ##### Some Fretlink aliases
32 alias getDump='s3cmd -c <(pass show Travail/Fretlink/S3) get '
33
34 function vpn() {
35 TMPFILE=$(mktemp /tmp/openvpn.XXXXXX)
36 pass show Travail/Fretlink/OpenVPN >> $TMPFILE
37 sudo openvpn $TMPFILE
38 rm -f $TMPFILE
39 }
40
41 function dev_prompt() {
42 if [ -n "$FRETLINK_ENV" ]; then
43 echo "{$FRETLINK_ENV} "
44 fi
45 }
46 ##### /Fretlink
47 {%@@ endif @@%}
48
49 # Non-printable chars need to be wrapped by \[ ... \] otherwise bash
50 # will wrongly count the size of the prompt and glitch when going
51 # through history
52 function git_prompt_color() {
53 git diff --quiet 2>/dev/null && git diff --cached --quiet 2>/dev/null
54 gitstatus=$?
55 if [ "$gitstatus" -gt 0 ]; then
56 av=$'\033[01;31m'
57 else
58 av=$'\033[01;34m'
59 fi
60 echo "$av"
61 }
62
63 function git_prompt() {
64 gitinfo=$(git branch 2>/dev/null | grep "^*" | cut -c3-);
65 git diff --quiet 2>/dev/null && git diff --cached --quiet 2>/dev/null
66 gitstatus=$?
67 gitlsfiles=$(git ls-files . 2>/dev/null | wc -l);
68 if [ "$gitinfo" -a "$gitlsfiles" -gt 0 ]; then
69 echo -e "($gitinfo) "
70 fi
71 }
72
73 function error_code() {
74 ret=$?
75 if [[ $ret != 0 ]]; then
76 echo "$ret "
77 fi
78 }
79
80 function running_jobs() {
81 ret=$(jobs | wc -l)
82 if [[ $ret != 0 ]]; then
83 echo "[$ret] "
84 fi
85 }
86
87 {%@@ if role.get(profile) == "fretlink" @@%}
88 PS1='\[\033[01;31m\]$(error_code)\[\033[00;00m\]$(running_jobs)\[\033[01;32m\]$(dev_prompt)\[$(git_prompt_color)\]$(git_prompt)\[\033[00;32m\]\u@\h\[\033[94m\] \w \$\[\033[00m\] '
89 {%@@ else @@%}
90 PS1='\[\033[01;31m\]$(error_code)\[\033[00;00m\]$(running_jobs)\[$(git_prompt_color)\]$(git_prompt)\[\033[00;32m\]\u@\h\[\033[94m\] \w \$\[\033[00m\] '
91 {%@@ endif @@%}
92
93 {%@@ if "nodejs" in features.get(profile, []) @@%}
94 source /usr/share/nvm/init-nvm.sh
95 {%@@ endif @@%}