bash: Disallow overwriting existing file using shell redirection
[~bandali/configs] / .bashrc
diff --git a/.bashrc b/.bashrc
index f7cbfc8..246780c 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -32,9 +32,7 @@ if [ $(id -u) == "0" ]; then
 else
     PS1='\$ '
 fi
-PS1="`[ -n "$GUIX_ENVIRONMENT" ] && printf \" [env]\"`\n$PS1"
-__u='`[ \`id -u\` == "0" ] && printf "\[\e[1;31m\]\u\[\e[00m\]" || printf "\u"`'
-PS1="$__u@\h:\w/$PS1"
+PS1="\u@\h:\w/`[ -n "$GUIX_ENVIRONMENT" ] && printf \" [env]\"`\n$PS1"
 
 # set terminal title
 PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: $(b_prompt)\007"'
@@ -44,6 +42,8 @@ PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: $(b_prompt)\007"'
 echo -e "\033[6 q"              # non-blinking
 
 # various bash tweaks
+# disallow overwriting existing file using redirection
+set -o noclobber
 # append to the history file, don't overwrite it
 shopt -s histappend
 shopt -s cmdhist
@@ -82,6 +82,7 @@ alias m="mbsync csclub; mbsync uwaterloo; mbsync shemshak; mbsync gnub"
 alias best="youtube-dl -f best"
 alias e="$EDITOR"
 alias se="SUDO_EDITOR=\"emacsclient\" sudo -e"
+alias s="startx"
 
 aur() {
    cd ~/usr/builds
@@ -89,6 +90,10 @@ aur() {
    cd ${1}
 }
 
+function t {
+  cd $(mktemp -d /tmp/$1.XXXX)
+}
+
 # separate alias definitions file, if exists
 if [ -f ~/.bash_aliases ]; then
     . ~/.bash_aliases
@@ -104,3 +109,16 @@ if ! shopt -oq posix; then
     . /etc/bash_completion
   fi
 fi
+
+# source Guix shell config dirs, for vte.sh and bash completions
+GUIX_PROFILES=("${HOME}/.guix-profile"
+               "${HOME}/.config/guix/current")
+for profile in "${GUIX_PROFILES[@]}"; do
+    for dir in "${profile}/etc/bash_completion.d" "${profile}/etc/profile.d"; do
+        if [ -d "${dir}" ]; then
+            for f in "${dir}"/*; do
+                . $f
+            done
+        fi
+    done
+done