diff --git a/EtcFiles/bashrc b/EtcFiles/bashrc index 0117a2d..39555c2 100644 --- a/EtcFiles/bashrc +++ b/EtcFiles/bashrc @@ -7,17 +7,17 @@ ### Prompt ### organization="$(hostname | rev | cut -f 2 -d '.' | rev)" -PS1='\[\033[00;31m\][ '"${organization^^}"'::\h/\[\033[01;32m\]\u \[\033[00;31m\]\\\\\\\\ ${SHELL} {\[\033[m\]$? \[\033[00;36m\]\D{%F-%R} \[\033[00;35m\]\w\[\033[00;31m\]\[\033[00;31m\]} ]\n|\[\033[m\]> ' +PS1='\[\033[00;31m\][ '"${organization^^}"'::\h/\[\033[01;32m\]\u \[\033[00;31m\]\\\\\\\\ ${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 xterm*|rxvt*|Eterm|aterm|kterm|gnome*) - PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;AniNIX::%s \134\134 %s in %s\007" "${HOSTNAME%%.*}" "${USER}" "${PWD/#$HOME/\~}"' + PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;'${organization^^}'::%s \134\134 %s in %s\007" "${HOSTNAME%%.*}" "${USER}" "${PWD/#$HOME/\~}"' ;; screen) - PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;AniNIX::%s \134\134 %s in %s\007" "${HOSTNAME%%.*}" "${USER}" "${PWD/#$HOME/\~}"' + PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;'${organization^^}'::%s \134\134 %s in %s\007" "${HOSTNAME%%.*}" "${USER}" "${PWD/#$HOME/\~}"' ;; esac @@ -27,7 +27,19 @@ esac ### 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' -alias startvnc="vncserver -xstartup startxfce4; echo Use \"ssh -L 5901:localhost:5901 $(whoami)@$(hostname)\" to tunnel connections." +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" @@ -38,19 +50,43 @@ fi IFS=" " +### GIT ### +source /usr/share/git-core/contrib/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 +} + ### SSH ### -# Aliases for hosts -if [ -f ~/.ssh/config ]; then - for i in `egrep '^Host' ~/.ssh/config | grep -v \* | cut -f 2 -d ' '`; do - alias "$i"="ssh $i"; - done -fi # Tell shell about ssh-agent -- enable with 'systemctl enable ssh-agent@$USER.service' export SSH_AGENT_PID="$(ps -fu "$USER" | grep -v grep | grep -m 1 ssh-agent | awk '{ print $2; }')" 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 + +# ### 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 +# # Set up screen/tmux safety nest by default for remote sessions if [ ! -z "$SSH_CLIENT" ]; then # Prefer tmux diff --git a/EtcFiles/ssh-agent@.service b/EtcFiles/ssh-agent@.service index 40021c3..7e63c02 100644 --- a/EtcFiles/ssh-agent@.service +++ b/EtcFiles/ssh-agent@.service @@ -3,7 +3,7 @@ Description=SSH-Agent for User %I After=network.target shadow.service [Service] -ExecStart=ssh-agent -s +ExecStart=/usr/bin/ssh-agent -s ExecReload=/bin/kill -HUP $MAINPID Type=oneshot KillMode=process diff --git a/EtcFiles/tmux@.service b/EtcFiles/tmux@.service index 7133a49..5f0a227 100644 --- a/EtcFiles/tmux@.service +++ b/EtcFiles/tmux@.service @@ -3,10 +3,12 @@ Description=TMUX/Weechat Session for User %I After=network.target shadow.service [Service] -ExecStart=/usr/sbin/tmux new-session -d -c IRC weechat +Environment=HOME=/home/$I +WorkingDirectory=/home/$I +ExecStart=/usr/bin/tmux new-session -d -s IRC "weechat" ExecReload=/bin/kill -HUP $MAINPID KillMode=process -Restart=on-failed +Restart=no Type=oneshot User=%I Group=%I