]> code.delx.au - dotfiles/blobdiff - .bashrc
bash: look for git-prompt.sh in more places
[dotfiles] / .bashrc
diff --git a/.bashrc b/.bashrc
index 8f6421ac0e86d8e48d9f638a3256242d47b945e2..dd3cfa296728b509c3c8985b952ae87be5499985 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -1,4 +1,4 @@
-# shellcheck disable=SC1090 # -- Can't follow non-constant source
+# shellcheck disable=SC1090 disable=SC1091 # -- Can't follow non-constant source
 
 ###########################
 # Settings for all shells #
@@ -14,12 +14,11 @@ fi
 # Add ~/bin and subdirs to PATH if needed
 while read -r p; do
     echo "$PATH" | tr ':' '\n' | grep -qxF "$p" || PATH="${p}:$PATH"
-done < <(find ~/bin -type d 2> /dev/null)
+done < <(find -L ~/bin -maxdepth 1 -type d 2> /dev/null)
 
 # Set EMAIL from the freedesktop environment.d
-if [ -r ~/.config/environment.d/10-email.conf ]; then
-    source ~/.config/environment.d/10-email.conf
-    export EMAIL
+if ls ~/.config/environment.d/*.conf &> /dev/null; then
+    eval "$(awk -F= '{print $0 ";export " $1}' ~/.config/environment.d/*.conf)"
 fi
 
 # Pick up SSH agent socket
@@ -62,6 +61,7 @@ export HISTCONTROL='erasedups:ignoredups:ignorespace'
 export HISTSIZE='100000'
 export HISTTIMEFORMAT='%F %T '
 
+[ -r /etc/bash_completion ] && source /etc/bash_completion
 
 ##################
 # Terminal setup #
@@ -71,8 +71,10 @@ export HISTTIMEFORMAT='%F %T '
 stty -ixon
 
 # hostname:workingdir
-PROMPT_COMMAND='echo -ne "\\033]0;$(hostname| cut -d. -f1):${PWD/$HOME/~}\\007"'
+PROMPT_COMMAND='echo -ne "\\033]0;$(hostname|cut -d. -f1):${PWD/$HOME/\~}\\007"'
 
+# Use dark background colors in apps like vim
+export COLORFGBG='15;0'
 
 #############
 # Fancy PS1 #
@@ -91,7 +93,13 @@ function find_up_exists {
     return 1
 }
 
-[ -r /usr/share/git/completion/git-prompt.sh ] && source /usr/share/git/completion/git-prompt.sh
+for p in /usr/lib/git-core/git-sh-prompt \
+         /usr/share/git/completion/git-prompt.sh \
+         /usr/local/share/git-core/contrib/completion/git-prompt.sh
+do
+    [ -r "$p" ] && source "$p" && break
+done
+
 function my_git_ps1 {
     find_up_exists .git || return
     GIT_PS1_SHOWDIRTYSTATE=1 \
@@ -172,8 +180,7 @@ fi
 ##########################
 
 # GNU ls colours
-# shellcheck disable=SC2046
-eval $(TERM=xterm dircolors 2> /dev/null)
+eval "$(TERM=xterm dircolors 2> /dev/null)"
 
 # BSD ls colours
 export LSCOLORS="ExFxCxDxBxEGEDABAGACAD"
@@ -222,7 +229,7 @@ alias bc='bc -ql'
 alias watch='watch -n1'
 alias sudo='sudo ' # ability to use aliases with sudo
 alias sudosu='sudo su -l -s /bin/bash'
-alias py='PYTHONSTARTUP=~/.pythonrc.py python'
+alias python='PYTHONSTARTUP=~/.pythonrc.py python3'
 alias webshare='python3 -mhttp.server'
 
 if ! command -v pbcopy &> /dev/null; then
@@ -241,7 +248,8 @@ function man {
         LESS_TERMCAP_me=$'\E[0m' \
         LESS_TERMCAP_us=$'\E[04;38;5;146m' \
         LESS_TERMCAP_ue=$'\E[0m' \
-    man --encoding ascii "$@"
+        LC_CTYPE=C \
+    man "$@"
 }
 
 # Creates the directory if it doesn't exist, and changes into it
@@ -273,3 +281,5 @@ function ssh_unsafe {
 ###########
 # The end #
 ###########
+
+[ -r ~/.bashrc_local ] && source ~/.bashrc_local