stop using unison, various updates
[distro-setup] / brc
diff --git a/brc b/brc
index df4b90811132aeb5240b18ce2573b13c850c51b2..80a4ae199b04c60a3ce688c312469c6df4b170d0 100644 (file)
--- a/brc
+++ b/brc
@@ -26,9 +26,7 @@ unalias -a
 shopt -s extglob
 # include .files when globbing, but ignore files name . and ..
 # setting this also sets dotglob.
-# Note, this doesnt work in bash 4.4 anymore, for paths with
-# more than 1 directory, like a/b/.foo, since * is fixed to not match /
-export GLOBIGNORE=*/.:*/..
+export GLOBIGNORE="*/.:*/.."
 
 # broken with bash_completion package. Saw a bug for this once. dont anymore.
 # still broken in wheezy
@@ -628,6 +626,12 @@ dus() { # du, sorted, default arg of
 
 e() { echo "$@"; }
 
+# echo var. print var including escapes, etc
+ev() {
+  printf "%qEOL\n" "${!1}"
+  printf "%s" "${!1}" |& hexdump -C
+}
+
 
 ediff() {
   [[ ${#@} == 2 ]] || { echo "error: ediff requires 2 arguments"; return 1; }
@@ -646,7 +650,10 @@ envload() { # load environment from a previous: export > file
 
 # mail related
 etail() {
-  sudo tail -F /var/log/exim4/mainlog -n 50
+  tail -F /var/log/exim4/mainlog -n 200
+}
+eless() {
+  less /var/log/exim4/mainlog
 }
 
 f() {
@@ -1435,7 +1442,10 @@ q() { # start / launch a program in the backround and redir output to null
 }
 
 r() {
-  exit "$@" 2>/dev/null
+  history -a # save history
+  exit "$@"
+  # i had this redir, not sure why
+#  exit "$@" 2>/dev/null
 }
 
 rbpipe() { rbt post -o --diff-filename=- "$@"; }
@@ -1479,8 +1489,6 @@ rlt() {
 rlu() { # [OPTS] HOST PATH
   # eg. rlu -opts frodo /testpath
   # relative paths will expanded with readlink -f.
-  # useful for selectively sending dirs which have been synced with unison,
-  # where the path is the same on both hosts.
   opts=("${@:1:$#-2}") #  1 to last -2
   path="${@:$#}" # last
   host="${@:$#-1:1}" # last -1
@@ -1625,12 +1633,17 @@ sgo() { # service go
   fi
 }
 
+sgu() {
+  systemctl list-unit-files | rg "$@"
+}
 
-shellck() {
+sk() {
   # 2086 = unquoted $var
   # 2046 = unquoted $(cmd)
+  # 2068: Double quote array expansions to avoid re-splitting elements.
   # i had -x as an arg, but debian testing(stretch) doesn\'t support it
-  shellcheck -e 2086,2046,2068,2006,2119 "$@"
+  shellcheck -x -e 2086,2046,2068 "$@"
+  # had this before. not sure what it is 2119
 }
 
 skaraoke() {
@@ -1942,7 +1955,6 @@ psnetns() {
 
 m() { printf "%s\n" "$*";  "$@"; }
 
-
 vpncmd() {
   #m s nsenter -t $(pgrep -f "/usr/sbin/openvpn .* --config /etc/openvpn/.*pia.conf") -n -m "$@"
   m s nsenter -t $(pgrep -f "/usr/sbin/openvpn .* --config /etc/openvpn/.*client.conf") -n -m "$@"
@@ -2081,44 +2093,16 @@ match_lhs=""
 
 if ${use_color} && [[ $- == *i* ]]; then
 
-  if [[ $XTERM_VERSION == Cygwin* ]]; then
-    get_term_color() {
-      for x in "$@"; do
-        case $x in
-         underl) echo -n $'\E[4m' ;;
-         bold) echo -n $'\E[1m' ;;
-         red) echo -n $'\E[31m' ;;
-         green) echo -n $'\E[32m' ;;
-         blue) echo -n $'\E[34m' ;;
-         cyan) echo -n $'\E[36m' ;;
-         yellow) echo -n $'\E[33m' ;;
-         purple) echo -n $'\E[35m' ;;
-         nocolor) echo -n $'\E(B\E[m' ;;
-        esac
-      done
-    }
+  term_underl="$(tput smul)"
+              term_bold="$(tput bold)"
+              term_red="$(tput setaf 1)"
+              term_green="$(tput setaf 2)"
+              term_blue="$(tput setaf 4)"
+              term_cyan="$(tput setaf 6)"
+              term_yellow="$(tput setaf 3)"
+              term_purple="$(tput setaf 5)"
+              term_nocolor="$(tput sgr0)" # no font attributes
 
-  else
-    get_term_color() {
-      for x in "$@"; do
-        case $x in
-         underl) echo -n $(tput smul) ;;
-         bold) echo -n $(tput bold) ;;
-         red) echo -n $(tput setaf 1) ;;
-         green) echo -n $(tput setaf 2) ;;
-         blue) echo -n $(tput setaf 4) ;;
-         cyan) echo -n $(tput setaf 6) ;;
-         yellow) echo -n $(tput setaf 3) ;;
-         purple) echo -n $(tput setaf 5) ;;
-         nocolor) echo -n $(tput sgr0) ;; # no font attributes
-        esac
-      done
-    }
-  fi
-else
-  get_term_color() {
-    :
-  }
 fi
 # Try to keep environment pollution down, EPA loves us.
 unset safe_term match_lhs use_color
@@ -2161,50 +2145,39 @@ if [[ $- == *i* ]]; then
     PS1="\h $PS1"
   fi
 
+  # emacs terminal has problems if this runs slowly,
+  # so I've thrown a bunch of things at the wall to speed it up.
   prompt-command() {
     local return=$? # this MUST COME FIRST
     local psc pst ps_char ps_color stale_subvol
     unset IFS
     history -a # save history
 
-
-
     case $return in
-      0) ps_color="$(get_term_color purple)"
+      0) ps_color="$term_purple"
          ps_char='\$'
          ;;
-      1) ps_color="$(get_term_color green)"
+      1) ps_color="$term_green"
          ps_char="$return \\$"
          ;;
-      *) ps_color="$(get_term_color yellow)"
+      *) ps_color="$term_yellow"
          ps_char="$return \\$"
          ;;
     esac
     if [[ ! -O . ]]; then # not owner
       if [[ -w . ]]; then # writable
-       ps_color="$(get_term_color bold red)"
+       ps_color="$term_bold$term_red"
       else
-       ps_color="$(get_term_color bold green)"
+       ps_color="$term_bold$term_green"
       fi
     fi
-    # I would set nullglob, but bash has had bugs where that
-    # doesnt work if not in top level.
-    if [[ -e /nocow/btrfs-stale ]] && ((`command ls -AUq /nocow/btrfs-stale|wc -l`)); then
-      ps_char="! $ps_char"
-    fi
-    if test -e /Maildir/new/*; then
-      ps_char='!BOUNCE! '"$ps_char"
-    fi
-    if [[ -e /nocow/mailtest-failure ]]; then
-      ps_char='@#$@#$ '"$ps_char"
-    fi
-    source /a/bin/bash_unpublished/source-state
+
+    # faster than sourceing the file im guessing
+    eval $(< /dev/shm/iank-status)
     if [[ ! $SSH_CLIENT && $MAIL_HOST != $HOSTNAME ]]; then
       ps_char="@ $ps_char"
     fi
-    PS1="${PS1%"${PS1#*[wW]}"} \[$ps_color\]$ps_char\[$(get_term_color nocolor)\] "
-    # emacs completion doesnt like the git prompt atm, so disabling it.
-    #PS1="${PS1%"${PS1#*[wW]}"}$(__git_ps1 ' (%s)') \[$ps_color\]$ps_char\[$(get_term_color nocolor)\] "
+    PS1="${PS1%"${PS1#*[wW]}"} \[$ps_color\]$ps_char\[$term_nocolor\] "
   }
   PROMPT_COMMAND=prompt-command