diff --git a/shared/bash_profile b/shared/bash_profile index 5d1ca8e..e03f58d 100644 --- a/shared/bash_profile +++ b/shared/bash_profile @@ -1,4 +1,13 @@ -if [ -f ~/.bashrc ]; then - source ~/.bashrc -fi - +if [ -f /zz/zPrivate/secrets/bashrc ] +then + source /zz/zPrivate/secrets/bashrc +else + if [ -f /zz/Syno/secrets/bashrc ] + then + source /zz/Syno/secrets/bashrc + else + if [ -f ~/.bashrc ]; then + source ~/.bashrc + fi + fi +fi \ No newline at end of file diff --git a/shared/bashrc b/shared/bashrc deleted file mode 100644 index d618ed7..0000000 --- a/shared/bashrc +++ /dev/null @@ -1,495 +0,0 @@ -# Source .bashrc for non-interactive Bash shells -export BASH_ENV=~/.bashrc - - -if [[ $- != *i* ]] ; then - # Shell is non-interactive. Be done now! - return -fi - -THISOS=$(uname | awk '{print tolower($1)}') -THISHOST=$(uname -n) - - -# History control -# don't use duplicate lines or lines starting with space -HISTCONTROL=ignoreboth -HISTSIZE=1000 -HISTFILESIZE=2000 -# append to the history file instead of overwrite -shopt -s histappend - -_setpath() { - local paths=( - /usr/local/bin - /usr/local/sbin - /usr/local/sqlite/bin - ) - - local i - for i in ${paths[@]}; do - # Move these paths to the front - PATH=$(echo $PATH | sed -e "s#$i##g") - if [ -d $i ]; then - PATH=$i:$PATH - fi - done - - PATH=`echo $PATH | sed -e 's/^\://' -e 's/\:\:/:/g'` - - export PATH -} - -_setldpath() { - local paths=( - /usr/local/sqlite/lib - ) - - local i - for i in ${paths[@]}; do - # Move these paths to the front - LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | sed -e "s#$i##g") - if [ -d $i ]; then - LD_LIBRARY_PATH=$i:$LD_LIBRARY_PATH - fi - done - - LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -e 's/^\://' -e 's/\:\:/:/g'` - - export LD_LIBRARY_PATH -} - -_setldrunpath() { - local paths=( - /usr/local/sqlite/lib - ) - - local i - for i in ${paths[@]}; do - # Move these paths to the front - LD_RUN_PATH=$(echo $LD_RUN_PATH | sed -e "s#$i##g") - if [ -d $i ]; then - LD_RUN_PATH=$i:$LD_RUN_PATH - fi - done - - LD_RUN_PATH=`echo $LD_RUN_PATH | sed -e 's/^\://' -e 's/\:\:/:/g'` - - export LD_RUN_PATH -} - -# Function to calculate total memory consumption grouped by process name -mem() { - local GREPCMD="cat" - if [ ! -z $1 ]; then - GREPCMD="grep -P $1" - fi - ps aux | awk '{print $4"\t"$6"\t"$11}' | - sort -k3 | - awk '{rss[$3]+=$2; per[$3]+=$1} END {for (i in rss) {print rss[i],i,per[i]"%"}}' | - sort -n | - eval $GREPCMD -} - -_setaliases() { - case "$THISOS" in - darwin) - # Use MacVim's terminal vim for awesomeness support - hash rvim 2>/dev/null && alias vim=rvim - local FIND_EGREP="-E ."; - local LS_COLORFLAG='-G' - ;; - linux) - alias ls='ls -G' - local FIND_EGREP=". -regextype posix-egrep"; - local LS_COLORFLAG='--color=auto' - ;; - esac - - alias ls="ls $LS_COLORFLAG" - alias ll='ls -hl' - alias l.='ls -d .* --color=auto' - alias tree='tree -C' - - alias cruft="find $FIND_EGREP -regex '.*swo|.*swp|.*pyc|.*pyo|.*~' -exec rm {} \;" - - alias p="ps aux |grep " - alias grep="grep --color=auto" - - alias facts="echo -ne '\033[36m'; curl -s randomfunfacts.com | grep '' | sed 's/.*\(.*\)<\/i>.*/\1/'; echo -ne '\033[0m'; tput sgr0" - - # show numeric permissions - local FORMATFLAG="-c" - if ( uname -a | grep Darwin >/dev/null); then - FORMATFLAG="-f" - fi - alias perms="stat $FORMATFLAG '%A %a %n' *" - - # Add an "alert" alias for long running commands. Use like so: - # sleep 10; alert - alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' - -# alias dotfiles='git --git-dir=$HOME/.dotfiles.git/ --work-tree=$HOME' -# alias d='dotfiles' - alias .bashrc='source ~/.bashrc' - -# alias vimall='vim -p $(find . -type f)' - -# alias vp='vagrant provision' -# alias vdu='vagrant destroy -f; vagrant up' -# alias be='bundle exec' -# alias bek='bundle exec kitchen' - alias sha256='shasum -a 256' - -# local JSONCHECK="require 'json';puts(JSON.pretty_generate JSON.parse(STDIN.read))" -# alias checkjson="ruby -e \"$JSONCHECK\"" - - alias path='echo -e ${PATH//:/\\n}' -} - -_setlocalaliases() { - case "$THISHOST" in - MINT660) - alias ansible-playbook='docker run -it --rm -v /zz/zAnsible:/ansible ansible:latest ansible-playbook' - alias ansible-lint='docker run -it --rm -v /zz/zAnsible:/ansible ansible:latest ansible-lint' - alias vgit='docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git "$@" ' - alias mycicd='/zz/zDocky/mycicd.sh' - ;; - MINT661) - alias ansible-playbook='docker run -it --rm -v /zz/zAnsible:/ansible ansible:latest ansible-playbook' - alias ansible-lint='docker run -it --rm -v /zz/zAnsible:/ansible ansible:latest ansible-lint' - alias vgit='docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git "$@" ' - alias mycicd='/zz/zDocky/mycicd.sh' - ;; - MINT662) - alias ansible-playbook='docker run -it --rm -v /zz/zAnsible:/ansible ansible:latest ansible-playbook' - alias ansible-lint='docker run -it --rm -v /zz/zAnsible:/ansible ansible:latest ansible-lint' - alias vgit='docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git "$@" ' - alias mycicd='/zz/zDocky/mycicd.sh' - ;; - MINT663) - alias ansible-playbook='docker run -it --rm -v /zz/zAnsible:/ansible ansible:latest ansible-playbook' - alias ansible-lint='docker run -it --rm -v /zz/zAnsible:/ansible ansible:latest ansible-lint' - alias vgit='docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git "$@" ' - alias mycicd='/zz/zDocky/mycicd.sh' - ;; - esac -} - -# function git () { -# (docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git "$@") -# } - - -_setprompt() { - local SAVEHISTORY="history -a" - local SETWINDOWTITLE='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' - - local TMUXCMD='' - if [ -n $TMUX ]; then - local TMUXENV='tmux set-environment -g CWD "$PWD"' - local TMUXPATH='tmux set-option default-path $PWD' - local TMUXCMD="($TMUXENV 2>/dev/null && $TMUXPATH 2>/dev/null >&2)" - fi - - export PROMPT_COMMAND="$SETWINDOWTITLE;$SAVEHISTORY;$TMUXCMD" - - # Reset - local Color_Off='\[\e[0m\]' # Text Reset - - # Regular Colors - local Black='\[\e[0;30m\]' # Black - local Red='\[\e[0;31m\]' # Red - local Green='\[\e[0;32m\]' # Green - local Yellow='\[\e[0;33m\]' # Yellow - local Blue='\[\e[0;34m\]' # Blue - local Purple='\[\e[0;35m\]' # Purple - local Cyan='\[\e[0;36m\]' # Cyan - local White='\[\e[0;37m\]' # White - local NEWLINE="\n" - - # Use for chroots, venvs, or other info that should be stuck in the prompt - EXTRAPROMPT=$2 - - case "$1" in - simple) - export PS1="\[\[\e[32;1m\]\h$EXTRAPROMPT \W> \[\e[0m\]" - ;; - 2line) - # Default PROMPT_COLOR values - : ${PROMPT_COLOR:=Yellow} - : ${PROMPT_COLOR2:=Blue} - local C1=${!PROMPT_COLOR} - local C2=${!PROMPT_COLOR2} - - # ┌(jer@myhost)─(✗)─(10:18 PM Sun Apr 14) - # └─(~/dev/git/myproject)─> - local DASH="\342\224\200" - local X="\342\234\227" - local ERRCODE="\$([[ \$? != 0 ]] && echo \"${DASH}(${Red}${X}${White})\")${DASH}" - - LINE1="${White}\342\224\214(${C1}\u@\h$EXTRAPROMPT${White})${ERRCODE}(${C1}\@ \d${White})" - local LINE2="\342\224\224\342\224\200(${C2}\w${White})-> " - export PS1="${NEWLINE}${LINE1}${NEWLINE}${LINE2}${Color_Off}" - ;; - 3line) - _setprompt 2line - export PS1="$PS1${NEWLINE}${White}\342\224\224\342\224\200>${Color_Off} " - ;; - esac - -} - -_sethistory() { - export HISTFILE=~/.bash_history - export HISTSIZE=10000 - export HISTFILESIZE=${HISTSIZE} - export HISTCONTROL=ignoredups:ignorespace - shopt -s histappend - - # Do *not* append the following to our history: - HISTIGNORE='\&:fg:bg:ls:pwd:cd ..:cd ~-:cd -:cd:jobs:set -x:ls -l:ls -l' - HISTIGNORE=${HISTIGNORE}':%1:%2:popd:top:shutdown*' - export HISTIGNORE - - # Save multi-line commands in history as single line - shopt -s cmdhist -} - -_sources() { - local sources=( - ${HOME}/.nvm/nvm.sh - /etc/bash_completion - ${HOME}/.sources - ${HOME}/.sources/${HOSTNAME} - ${HOME}/.sources/${THISOS} - ${HOME}/.bash_completion.d - ${HOME}/.rvm/scripts/rvm - ) - - local i - for i in ${sources[@]}; do - # Source files - if [ -f $i ]; then - source $i - continue - fi - - # Source all files in a directory - if [ -d $i ]; then - for j in $i/*; do - if [ -f $j ]; then - source $j - fi - done - fi - done -} - -# Use lesspipe for more powerful less output -_moreless() { - local lesspipe='' - if ( type lesspipe >/dev/null 2>&1 ); then - lesspipe=$(which lesspipe) - fi - if ( type lesspipe.sh >/dev/null 2>&1 ); then - lesspipe=$(which lesspipe.sh) - fi - - if [ ! "x${lesspipe}" = "x" ]; then - export LESSOPEN="|$lesspipe %s" - fi -} - -_manpagecolor() { - export LESS_TERMCAP_mb=$'\E[01;31m' - export LESS_TERMCAP_md=$'\E[01;31m' - export LESS_TERMCAP_me=$'\E[0m' - export LESS_TERMCAP_se=$'\E[0m' - export LESS_TERMCAP_so=$'\E[01;44;33m' - export LESS_TERMCAP_ue=$'\E[0m' - export LESS_TERMCAP_us=$'\E[01;32m' -} - -# Vagrant up plus vagrant ssh -vssh() { - vagrant up $1 - vagrant ssh $1 -} - -tmuxssh() { - for i in $@; do tmux split -v "ssh $i"; tmux select-layout tiled; done -} - -# Check if we're online -connected() { - case "$THISOS" in - darwin) - ping -c1 -w2 google.com > /dev/null 2>&1; - ;; - linux) - ping -c1 -t2 google.com > /dev/null 2>&1; - ;; - esac -} - -# Fetch a little info about a domain name -url-info() -{ - doms=$@ - if [ $# -eq 0 ]; then - echo -e "No domain given\nTry $0 domain.com domain2.org anyotherdomain.net" - fi - local i - for i in $doms; do - _ip=$(host $i|grep 'has address'|awk {'print $4'}) - if [ "$_ip" == "" ]; then - echo -e "\nERROR: $i DNS error or not a valid domain\n" - continue - fi - ip=`echo ${_ip[*]}|tr " " "|"` - echo -e "\nInformation for domain: $i [ $ip ]\nQuerying individual IPs" - for j in ${_ip[*]}; do - echo -e "\n$j results:" - whois $j |egrep -w 'OrgName:|City:|Country:|OriginAS:|NetRange:' - done - done -} - -# Map over a list of files -map-find() { find $1 -name $2 -exec ${@:3} {} \; ; } - -# Map over a bunch of lines piped in -map() { - [ -z $1 ] && exit 1 - local IFS="$(printf '\n\t')" - local i cmd - case "$@" in - *\$i*) cmd="$@" ;; - *) cmd="$@ \$i" ;; - esac - while read i; do - eval $cmd - done -} - -# Filter on a predicate. Return all of the matches -filter() { - [ -z $1 ] && exit 1 - local IFS="$(printf '\n\t')" - local i cmd - case "$@" in - *\$i*) cmd="$@" ;; - *) cmd="$@ \$i" ;; - esac - while read i; do - eval $cmd >/dev/null && echo $i; - done -} - -# Execute command $i times, returning the time -timerepeat() { - time ( - local count=$1; shift; - for ((i=0; i< $count; i++)); do - eval $@ - done ) -} - -# For the tmux status bar -#git_tmuxstatus() { -# [ -d .git ] || git rev-parse --git-dir 2> /dev/null || return -# local BRANCH=$(git branch --no-color 2>/dev/null | sed -e "/^[^*]/d" -e "s/* //") -# local ALLCHANGED=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ') -# #local CHANGED=$(git status --porcelain 2>/dev/null| egrep "^(M| M)" | wc -l) -# #local NEW=$(git status --porcelain 2>/dev/null| grep "^??" | wc -l) -# echo "[${BRANCH}:${ALLCHANGED}]" -#} - -# Clears local merged branches and tracking branches that aren't on the server -#git_prune() { -# find . -type dir -name .git -exec sh -c " -# cd {}/..; -# echo Found repo: $(pwd); -# git branch --merged | -# grep -v -P '^(\*| ) master$' | -# xargs -n 1 git branch -d; -# git remote prune origin; -# " \; -#} - -randomizelines() { - awk 'BEGIN {srand()} {print int(rand()*1000000) "\t" $0}' $1 | - sort -n | cut -f 2- -} - -#memoize() { -# local CACHETIME=$1 -# [[ "$CACHETIME" =~ ^[0-9]+$ ]] && shift || CACHETIME=1 -# local SHA=$( shasum<<<$@ | cut -f1 -d' ' ) -# local MEMODIR=/tmp/bash_memoized/$USER -# local MEMOFILE=${MEMODIR}/${SHA} -# -# [ -d $MEMODIR ] || mkdir -p $MEMODIR -# ( [ ! -f $MEMOFILE ] || ( test $(find $MEMOFILE -mmin +${CACHETIME})) ) && $@ | tee ${MEMOFILE} || cat $MEMOFILE -#} - -# Show what is on a certain port -port() { lsof -i :"$1" ; } -# Create an executable file with the specified shebang line -shebang() { if i=$(which $1); then printf '#!%s\n\n' $i > $2 && chmod +x $2 && $EDITOR + $2 ; else echo "'which' could not find $1, is it in your \$PATH?"; fi; } -# Get stock quote -#stock() { curl -s "http://download.finance.yahoo.com/d/quotes.csv?s=$1&f=l1" ; } - -fur() { curl -sL 'http://www.commandlinefu.com/commands/random/plaintext' | grep -v "^# commandlinefu" ; } -#alias funfacts='wget http://www.randomfunfacts.com -O - 2>/dev/null | grep \ | sed "s;^.*\(.*\).*$;\1;";' -nicemount() { (echo "DEVICE PATH TYPE FLAGS" && mount | awk '$2=$4="";1') | column -t ; } -wiki() { dig +short txt $1.wp.dg.cx; } - -#clip() { -# if [[ $THISOS == darwin ]]; then -# pbcopy $@ -# else -# xclip -sel clip $@ -# fi -#} - -_setpath -_setldpath -_setldrunpath -_setaliases -_setlocalaliases -_setprompt 2line -_sethistory -_moreless -_manpagecolor - -export EDITOR=vi - -# Correct minor spelling errors in cd commands -shopt -s cdspell -# Enable egrep-style pattern matching -shopt -s extglob -shopt -s checkwinsize - -export CLICOLOR=1 -export LSCOLORS=ExFxCxDxBxegedabagacad -#export TERM=ansi -export TERM=xterm-256color -#export PIP_REQUIRE_VIRTUALENV=true - -export GOPATH=${HOME}/dev/go - -_sources -# Mac likes to discard ctl-o -if [[ $THISOS == darwin ]]; then - stty discard undef -fi - -export ANSIBLE_STDOUT_CALLBACK=yaml -export GPODDER_HOME=~/DocumentsPodcasts/config -export GPODDER_DOWNLOAD_DIR=~/DocumentsPodcasts/downloads - -PATH=${PATH}:.local/bin ; export PATH -export SIGNAL_PHONE_NUMBER= -