summaryrefslogtreecommitdiffstats
path: root/.bashrc
diff options
context:
space:
mode:
authorAmin Bandali <bandali@gnu.org>2022-11-25 18:45:06 -0500
committerAmin Bandali <bandali@gnu.org>2022-11-25 18:45:57 -0500
commit1fb89b3237d4d7e9a16e189fb4d43e06557e2cec (patch)
tree67ce03f2a29beddcc12eaefdf77cb3e6b90d1f76 /.bashrc
parent1512d34ef5d6712c20c63e6d2a221128cf81d03b (diff)
downloadconfigs-1fb89b3237d4d7e9a16e189fb4d43e06557e2cec.tar.gz
configs-1fb89b3237d4d7e9a16e189fb4d43e06557e2cec.tar.xz
configs-1fb89b3237d4d7e9a16e189fb4d43e06557e2cec.zip
A few small but useful additions from a newly set up env
- Show name of current Debian chroot in prompt if we're in one. - More friendly less for non-textual files. - More useful ls aliases. - An alert alias to show notification after a long-running task, along with its exist status. Example usage: sleep 3; alert - Update egrep and fgrep aliases to use grep -E and grep -F directly respectively, since standalone egrep and fgrep have been deprecated.
Diffstat (limited to '')
-rw-r--r--.bashrc32
1 files changed, 22 insertions, 10 deletions
diff --git a/.bashrc b/.bashrc
index 4bc8787..87fdb99 100644
--- a/.bashrc
+++ b/.bashrc
@@ -24,10 +24,14 @@ fi
# prompt
# ------
+if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
+ debian_chroot=$(cat /etc/debian_chroot)
+fi
+
b_prompt() {
case $TERM in
xterm*)
- local TITLEBAR='\[\033]0;\h:\w\007\]'
+ local TITLEBAR="\[\033]0;${debian_chroot:+($debian_chroot) }\h:\w\007\]"
;;
*)
local TITLEBAR=''
@@ -36,7 +40,8 @@ b_prompt() {
PS1="${TITLEBAR}\
$([ $(id -u) = "0" ] && printf "\[\e[1;31m\]")\
-: \h:\w\
+: ${debian_chroot:+($debian_chroot) }\
+\h:\w\
$([ -n "$GUIX_ENVIRONMENT" ] && printf " [env]")\
;\
$([ $(id -u) = "0" ] && printf "\[\e[00m\]")\
@@ -76,6 +81,11 @@ HISTCONTROL=ignoreboth
HISTTIMEFORMAT='%F %T '
stty stop ""
+# make less more friendly for non-text input files, see lesspipe(1)
+[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
+
+export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
+
# enable programmable completion features (not needed if already
# enabled in /etc/bash.bashrc and if /etc/profile sources
# /etc/bash.bashrc).
@@ -107,24 +117,26 @@ if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
-alias ls='ls -p --color=auto'
-alias l='ls -lh' # long format and human-readable sizes
-alias ll='l -A' # long format, all files
+alias ls='ls --color=auto'
+alias l='ls -Flh' # long format and human-readable sizes
+alias ll='l -a' # long format, all files
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
-alias fgrep='fgrep --color=auto'
-alias egrep='egrep --color=auto'
+alias egrep='grep -E --color=auto'
+alias fgrep='grep -F --color=auto'
alias mpv="mpv --ytdl-format=mp4"
alias mv="mv -iv"
alias cp="cp -iv"
alias mbsync='mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc'
alias getmail='getmail --getmaildir "$XDG_CONFIG_HOME"/getmail --rcfile getmailrc'
-alias m="mbsync csclub; mbsync uwaterloo; mbsync shemshak; mbsync gnub"
-alias best="youtube-dl -f best"
+alias m="mbsync csclub; mbsync kelar; mbsync shemshak; mbsync gnub; getmail"
alias e="$EDITOR"
alias se="SUDO_EDITOR=\"emacsclient\" sudo -e"
-alias s="startx"
+
+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 da='change-theme dark'
alias li='change-theme light'