added send to device shell script.
[my-dotfiles.git] / bashrc
diff --git a/bashrc b/bashrc
index 776707b..6eade8a 100644 (file)
--- a/bashrc
+++ b/bashrc
@@ -1,50 +1,65 @@
-export GIT_PS1_SHOWCOLORHINTS=true
-export GIT_PS1_SHOWUNTRACKEDFILES=true
-export GIT_PS1_SHOWDIRTYSTATE=true
-export GIT_PS1_SHOWSTASHSTATE=true
-
 # turns on bash autocompletion
 if [ -f /etc/profile.d/bash_completion.sh ]; then
  . /etc/profile.d/bash_completion.sh
 fi
 
-# actual theme "MATERIAL DARK"
-#if [ "$TERM" = "linux" ]; then
-#    echo -en "\e]P0303030"
-#    echo -en "\e]P1d32f2f"
-#    echo -en "\e]P2388e3c"
-#    echo -en "\e]P3f57c00"
-#    echo -en "\e]P4303f9f"
-#    echo -en "\e]P5c51162"
-#    echo -en "\e]P61976d2"
-#    echo -en "\e]P7bdbdbd"
-#    echo -en "\e]P8424242"
-#    echo -en "\e]P9e57373"
-#    echo -en "\e]PA81c784"
-#    echo -en "\e]PBffb74d"
-#    echo -en "\e]PC7986cb"
-#    echo -en "\e]PDff4081"
-#    echo -en "\e]PE64b5f6"
-#    echo -en "\e]PFf5f5f5"
-#    clear
-#fi
-
 user_color=32m
 if [ ${UID} -eq 0 ]
 then
         user_color=31m
 fi
 
-PS1='[\[\e[$user_color\]\u\[\e[37m\]@\[\e[34m\]\h \[\e[37m\]- \w] \d \t\n$(__git_ps1)\\$ '
+bash_prompt() {
+    local NONE="\[\033[0m\]"    # unsets color to term's fg color
+
+    # regular colors
+    local K="\[\033[0;30m\]"    # black
+    local R="\[\033[0;31m\]"    # red
+    local G="\[\033[0;32m\]"    # green
+    local Y="\[\033[0;33m\]"    # yellow
+    local B="\[\033[0;34m\]"    # blue
+    local M="\[\033[0;35m\]"    # magenta
+    local C="\[\033[0;36m\]"    # cyan
+    local W="\[\033[0;37m\]"    # white
+
+    # emphasized (bolded) colors
+    local EMK="\[\033[1;30m\]"
+    local EMR="\[\033[1;31m\]"
+    local EMG="\[\033[1;32m\]"
+    local EMY="\[\033[1;33m\]"
+    local EMB="\[\033[1;34m\]"
+    local EMM="\[\033[1;35m\]"
+    local EMC="\[\033[1;36m\]"
+    local EMW="\[\033[1;37m\]"
+
+    # background colors
+    local BGK="\[\033[40m\]"
+    local BGR="\[\033[41m\]"
+    local BGG="\[\033[42m\]"
+    local BGY="\[\033[43m\]"
+    local BGB="\[\033[44m\]"
+    local BGM="\[\033[45m\]"
+    local BGC="\[\033[46m\]"
+    local BGW="\[\033[47m\]"
+
+    local UC=$EMG
+    [ $UID -eq "0" ] && UC=$EMR
+
+    PS1="${UC}\u ${NONE}@ ${EMB}\h ${NONE}{ ${M}\d ${NONE}} ${W}${BGY}${EMK}[ \w ]${NONE}\n\#$(__git_ps1) ${UC}\\$> ${NONE}"
+}
+export PROMPT_COMMAND=bash_prompt
+printf "\033]0;%s@%s\007" "${LOGNAME}" "${HOSTNAME%%.*}"
 
-case "$TERM" in
-    xterm*|*rxvt*)
-           PROMPT_COMMAND='echo -ne "\033]0;${USER}@`echo $HOSTNAME|cut -d"." -f1`: ${PWD}\007"'
-        ;;
-    *)
-           PROMPT_COMMAND=""
-        ;;
-esac
+# turns on git prompt
+if [ -f /home/danix/.git-prompt.sh ]; then
+    GIT_PS1_SHOWDIRTYSTATE=true
+    GIT_PS1_SHOWSTASHSTATE=true
+    GIT_PS1_SHOWUNTRACKEDFILES=true
+    GIT_PS1_SHOWUPSTREAM="auto"
+    GIT_PS1_HIDE_IF_PWD_IGNORED=true
+    GIT_PS1_SHOWCOLORHINTS=true
+    . /home/danix/.git-prompt.sh
+fi
 
 alias su="su -"
 alias ls="ls --color -lh"
@@ -59,21 +74,41 @@ alias df="df -h"
 alias du="du -sh"
 alias diff='diff --color=auto'
 alias grep='grep --color=auto'
+alias path='(IFS=:;ls -1d $PATH |  nl)'
+
+# history as big as possible!!
+HISTSIZE=1000000
+HISTFILESIZE=2000000
+# HISTIGNORE='hf *'
+# unix.stackexchange.com/a/18443
+# history: erase duplicates...
+HISTCONTROL=ignoreboth:erasedups
+shopt -s histappend
+
 
 
-export PATH=~/.local/bin:~/bin:$PATH
+#export PATH=~/.platformio/penv/bin:~/.config/composer/vendor/bin:~/.local/bin:~/bin:$PATH
+#export PATH=~/.config/composer/vendor/bin:~/.local/bin:~/bin:$PATH
 export INTEL_BATCH=1
 export QT_QPA_PLATFORMTHEME="lxqt"
 export QT_STYLE_OVERRIDE="kvantum-dark"
 export XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
+export CM_LAUNCHER=rofi
 
 # Tailoring LESS
+# If any syntax highlighters are available, use them.
+# # pygmentize does more, but source-highlight is still good.
+if command -v pygmentize > /dev/null 2>&1; then
+    export LESSCOLOURIZER="pygmentize -f terminal"
+elif command -v source-highlight > /dev/null 2>&1; then
+    export LESSCOLOURIZER="source-highlight --failsafe --infer-lang -f esc --style-file=esc.style -i"
+fi
 alias more='less'
-export LESS='-R'
+export LESS=' -R'
 export LESSOPEN='|~/.lessfilter %s'
 export PAGER=less
 export SVN_EDITOR=vim
-export LESSCHARSET='latin1'
+export LESSCHARSET='utf-8'
 
 man() {
     LESS_TERMCAP_md=$'\e[01;31m' \
@@ -88,21 +123,29 @@ man() {
 # sudo password helper
 export SUDO_ASKPASS=/usr/bin/lxsudo
 
+# password store directory
+export PASSWORD_STORE_DIR=/home/danix/Programming/GIT/password_store/
+
 # logdate appends a date to a script output
 logdate() {
-       while IFS= read -r line; do
-               echo "$(date +"%F_%R.%S") $line"
-       done
+    while IFS= read -r line; do
+        echo "$(date +"%F_%R.%S") $line"
+    done
 }
 
+# start gpg-agent for ssh authentication as well as key management
 unset GPG_AGENT_INFO
 unset SSH_AGENT_PID
 if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
-       export SSH_AUTH_SOCK="${HOME}/.gnupg/S.gpg-agent.ssh"
+    export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
 fi
-GPG_TTY=$(tty)
-export GPG_TTY
+export GPG_TTY=$(tty)
 if [ -x "$(which gpg-connect-agent)" ]; then
-       gpg-connect-agent updatestartuptty /bye >& /dev/null
+    gpg-connect-agent updatestartuptty /bye > /dev/null
 fi
 
+mount-fs () {
+    ( echo Filesystem Mountpoint Fstype;
+      mount | \grep -E '^[^[:lower:]_-]+' | awk '{print $1,$3,$5}'
+    ) | column -t
+}