### Prompt ### organization="$(echo $HOSTNAME | rev | cut -f 2 -d '.' | rev)" PS1='\[\033[00;31m\][ \[\033[01;32m\]\u\[\033[00;31m\]@\H:${SHELL} {\[\033[m\]$? \[\033[00;36m\]\D{%F-%R} \[\033[00;35m\]\w\[\033[00;31m\]\[\033[00;31m\]\[\033[00;33m\]$(git_prompt_var)\[\033[00;31m\]} ]\n|\[\033[m\]> ' PS2='> ' PS3='> ' PS4='+ ' case ${TERM} in screen|xterm*|rxvt*|Eterm|aterm|kterm|gnome*) PROMPT_COMMAND='echo -en "\033]0;'${organization^^}'/'${HOSTNAME%%.*}'\a"' ;; esac # Terminal settings export TERM=xterm-256color alias weechat="TERM=screen weechat" # Disable bracketed paste mode printf "\e[?2004l" # systemctl --user export XDG_RUNTIME_DIR=/run/user/$UID ### MOTD ### [ -f /etc/bash.motd ] && cat /etc/bash.motd ### SSH ### # Tell shell about ssh-agent -- enable with 'systemctl enable ssh-agent@$USER.service' export SSH_AGENT_PID="$(pgrep -fu "$USER" ssh-agent)" if [ -n "$SSH_AGENT_PID" ]; then export SSH_AUTH_SOCK="$(ls -ld /tmp/ssh-*/agent.* | grep -m 1 "$USER" | awk '{ print $9; }')" echo ssh-agent PID is $SSH_AGENT_PID fi if [ -n "$SSH_AUTH_SOCK" ] && [ `ssh-add -L | grep -c no\ identities` -eq 1 ]; then ssh-add ssh-add -L fi ### GIT ### source /usr/share/git/completion/git-prompt.sh function git_prompt_var() { ### If $PWD is a Git repo, add URL and branch to PS1 url=`git config remote.origin.url 2>/dev/null` if [ -n "$url" ]; then branch=`__git_ps1 '%s'` url=`basename "$url"` echo " $url($branch)" fi } ### User-directory .gitbare Support (Git) ### if [ -d ~/.git ]; then cd printf "~/.git: " if [ $SHLVL -eq 1 ] && [ -z "$TMUX" ]; then git pull else git rev-parse --short HEAD fi git status fi ### GPG ### export GPG_TTY=$(tty) # GPG Key Agent # Credit: https://wiki.archlinux.org/index.php/GnuPG if [ `pgrep -afc -u $USER gpg-agent` -lt 1 ] && [ -x `which gpg-agent` ]; then gpg-agent --daemon 2>&1 | grep -v another fi ### Ansible ### export ANSIBLE_VAULT_PASSWORD_FILE=$HOME/password-store/${organization}.vault.password export ANSIBLE_VAULT_FILE=$HOME/password-store/${organization}.vault ### AniNIX Customizations ### alias get-commands='for i in $( echo $PATH | sed "s/:/\n/g"); do ls $i; done | sort | less' alias whoison='who | grep -v tmux' function vncdesktop() { set -x if [ -z "$@" ]; then vncserver :2 -rfbport 5901 else vncserver $@ fi export DISPLAY=`vncserver -list | tail -n 1 | awk '{print $1; }' ` sleep 3 xfce4-session vncserver -kill "$DISPLAY" set +x } alias vi=vim alias view="vim -R" alias top="top -o %CPU" alias make-entrypoints="egrep '^[a-zA-Z0-9\-]*:' Makefile" alias rdns="dig +short -x " alias dns="dig +short " export WEECHAT_HOME=$HOME/.weechat if [ -x `which torsocks 2>/dev/null` ] && [ `systemctl status tor 2>/dev/null| grep -c running` -eq 1 ]; then alias tor-lynx="torsocks lynx https://check.torproject.org/"; fi IFS=" " # Set up screen/tmux safety nest by default for remote sessions if [ -n "$SSH_CLIENT" ]; then # Prefer tmux if [ -x "$(which tmux 2>/dev/null)" ] && [ -z "$TMUX" ]; then if [ `tmux list-sessions | grep created | wc -l` -eq 0 ]; then exec tmux elif [ `tmux list-sessions | grep created | wc -l` -eq 1 ] && [ `tmux list-sessions | grep attached | wc -l` -eq 0 ]; then exec tmux a -d -t `tmux list-sessions | grep created | cut -f 1 -d ':'` else tmux list-sessions fi alias tat="exec tmux a -d -t" fi; ### XFCE4 ### elif [ `who -m | egrep "^$(whoami)" | awk '{ print $2; }' | egrep -c "^tty"` -eq 1 ] && [ -x /usr/sbin/startxfce4 ] && [ `pgrep -ac xinit` -eq 0 ] && [ `whoami` != 'root' ]; then exec startxfce4 fi