X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=brc;h=00200fe01edb09c2899c7e0420f1f5ae2a2c7fd6;hb=7c40848349654f32903ce11d14337b01e740ff89;hp=c243706a73660932f6994e4e84214cdf5c7d282f;hpb=88d40e435fe7d525e033558101f0c0a8101c27b2;p=distro-setup diff --git a/brc b/brc index c243706..00200fe 100644 --- a/brc +++ b/brc @@ -107,12 +107,16 @@ if [[ $- == *i* ]]; then bind '"\C-i": self-insert' else + if [[ $KONSOLE_PROFILE_NAME ]]; then + TERM=xterm-256color + fi + # todo: not sure this works in sakura #stty werase undef #bind "\C-w": kill-region # sakura == xterm-256color # konsole == xterm - if [[ $TERM == "xterm" ]]; then + if [[ $TERM == xterm* ]]; then # control + arrow keys. for other terminals, see http://unix.stackexchange.com/questions/10806/how-to-change-previous-next-word-shortcut-in-bash bind '"\e[1;5C": shell-forward-word' 2>/dev/null bind '"\e[1;5D": shell-backward-word' 2>/dev/null @@ -157,6 +161,7 @@ HISTIGNORE='pass *:[ ]*:lom*:gram*' export BC_LINE_LENGTH=0 +export PROFILE_TASKS_TASK_OUTPUT_LIMIT=100 # note, if I use a machine I dont want files readable by all users, set # umask 077 # If fewer than 4 digits are entered, leading zeros are assumed @@ -164,8 +169,8 @@ export BC_LINE_LENGTH=0 C_DEFAULT_DIR=/a # i for insensitive. the rest from -# https://superuser.com/questions/366930/how-do-i-get-the-git-pager-to-clean-up-screen-output-after-exit -# and reading the man +# X means dont remove the current screenworth of output upon exit +# R means to show colors n things export LESS=RXi export SYSTEMD_LESS=$LESS @@ -178,23 +183,29 @@ unset _x for x in /a/bin/bash_unpublished/source-!(.#*); do source $x; done source $(dirname $(readlink -f $BASH_SOURCE))/path_add-function source /a/bin/log-quiet/logq-function -if [[ -e /a/bin/errhandle/err ]]; then - source /a/bin/errhandle/err - err-allow -fi -# if someone exported $SOE (stop on error), catch errors +# if someone exported $SOE (stop on error), catch errors. +# +# Note, on debian this results in the following warning when in ssh, +# hich I haven't figured out how to fix. It doesn't happen if we source +# after the shell has started +# +# bash: /usr/share/bashdb/bashdb-main.inc: No such file or directory +# bash: warning: cannot start debugger; debugging mode disabled if [[ $SOE ]]; then - err-catch + if [[ -e /a/bin/errhandle/err ]]; then + source /a/bin/errhandle/err + fi fi path_add /a/exe -# end just because it seems safer -path_add --end node_modules/.bin +# add this with absolute paths as needed for better security +#path_add --end /path/to/node_modules/.bin + # pip3 --user things go here: path_add --end ~/.local/bin path_add --ifexists --end /a/work/libremanage path_add --ifexists --end /a/opt/adt-bundle*/tools /a/opt/adt-bundle*/platform-tools -path_add --ifexists --end /a/opt/scancode-toolkit-2.9.2 +path_add --ifexists --end /a/opt/scancode-toolkit-3.0.2 export WCDHOME=/a # based on readme.debian. dunno if this will break on other distros. _x=/usr/share/wcd/wcd-include.sh @@ -312,7 +323,7 @@ khcopy() { } a() { - local x=$(readlink -nf "$@") + local x=$(readlink -nf "${1:-$PWD}") # yes, its kinda dumb that xclip/xsel cant do this in one invocation echo -n "$x" | xclip -selection clipboard echo -n "$x" | xclip @@ -328,6 +339,23 @@ anki() { fi } +ap() { + # pushd in case current directory has an ansible.cfg file + pushd /a/xans >/dev/null + ansible-playbook -v -l ${1:- $(hostname -f)} site.yml + popd >/dev/null +} +aw() { + pushd /a/work/ansible-configs >/dev/null + time ansible-playbook -v -i inventory adhoc.yml "$@" + popd >/dev/null +} +ad() { + pushd /a/bin/distro-setup/a >/dev/null + ansible-playbook site.yml + popd >/dev/null +} + astudio() { # googling android emulator libGL error: failed to load driver: r600 # lead to http://stackoverflow.com/a/36625175/14456 @@ -342,9 +370,20 @@ b() { bbk() { c / + local active=true + if systemctl is-active btrbk.service; then + echo "cron btrbk is already running" + return 1 + fi + systemctl is-active btrbk.timer || active=false + if $active; then + ser disable btrbk.timer + fi # run latest install-my-scripts - btrbk-run "$@" + if ! btrbk-run "$@" && $active; then + ser enable btrbk.timer + fi } bfg() { java -jar /a/opt/bfg-1.12.14.jar "$@"; } @@ -353,21 +392,22 @@ bigclock() { xclock -digital -update 1 -face 'arial black-80:bold' } -bpush() { - case $HOSTNAME in - tp) target=x2 ;; - x2) target=tp ;; - esac - btrbk-run -t $target && switch-mail-host $HOSTNAME $target -} bpull() { - case $HOSTNAME in - tp) source=x2 ;; - x2) source=tp ;; - esac - btrbk-run -s $source && switch-mail-host $source $HOSTNAME + [[ $1 ]] || return 1 + c / + # run latest + install-my-scripts + switch-mail-host $1 $HOSTNAME +} +bpush() { + [[ $1 ]] || return 1 + c / + # run latest + install-my-scripts + switch-mail-host $HOSTNAME $1 } + btc() { local f=/etc/bitcoin/bitcoin.conf # importprivkey will timeout if using the default of 15 mins. @@ -593,7 +633,7 @@ envload() { # load environment from a previous: export > file # mail related etail() { - sudo tail -f /var/log/exim4/mainlog + sudo tail -F /var/log/exim4/mainlog -n 50 } f() { @@ -613,7 +653,7 @@ fa() { faf() { # find all files find -L $1 -not \( -name .svn -prune -o -name .git -prune \ -o -name .hg -prune -o -name .editor-backups -prune \ - -o -name .undo-tree-history -prune \) 2>/dev/null + -o -name .undo-tree-history -prune \) -type f 2>/dev/null } # one that comes with distros is too old for newer devices @@ -932,7 +972,11 @@ gpg() { } gse() { - git send-email --notes '--envelope-sender=' \ + local email=ian@iankelling.org + if readlink ~/.mu | grep fsf &>/dev/null; then + email=iank@fsf.org + fi + git send-email --notes "--envelope-sender=<$email>" \ --suppress-cc=self "$@" } @@ -1058,21 +1102,6 @@ ifn() { } -if [[ $OS == Windows_NT ]]; then - # cygstart wrapper - cs() { - cygstart "$@" & - } - xp() { - explorer.exe . - } - # launch - o() { - local x=(*$1*) - (( ${#x[#]} > 1 )) && { echo "warning ${#x[#]} matches found"; sleep 1; } - cygstart *$1* & - } -else o() { if type gvfs-open &> /dev/null ; then gvfs-open "$@" @@ -1081,31 +1110,25 @@ else fi # another alternative is run-mailcap } -fi ipdrop() { s iptables -A INPUT -s $1 -j DROP } -jr() { journalctl "$@"; } - -net-dev-info() { - e "lspci -nnk|gr -iA2 net" - lspci -nnk|gr -iA2 net - hr - e "s lshw -C network" - hr - s lshw -C network - -} istext() { grep -Il "" "$@" &>/dev/null } +jfilter() { + grep -Evi -e "^(\S+\s+){4}(sudo|sshd|cron)\[\S*:" \ + -e "^(\S+\s+){4}systemd\[\S*: (starting|started) (btrfsmaintstop|dynamicipupdate|spamd dns bug fix cronjob|rss2email)\.*$" +} jtail() { - journalctl -n 10000 -f "$@" | grep -Evi "^(\S+\s+){4}(sudo|sshd|cron)" + journalctl -n 10000 -f "$@" | jfilter } +jr() { journalctl "$@" | jfilter | less ; } +jrf() { journalctl -f "$@" | jfilter; } kff() { # keyboardio firmware flash pushd /a/bin/distro-setup/Arduino/Model01-Firmware @@ -1243,6 +1266,15 @@ mkdir() { command mkdir -p "$@"; } mo() { xset dpms force off; } # monitor off +net-dev-info() { + e "lspci -nnk|gr -iA2 net" + lspci -nnk|gr -iA2 net + hr + e "s lshw -C network" + hr + s lshw -C network + +} nopanic() { sudo tee -a /var/log/exim4/paniclog-archive