# Begin /etc/bashrc
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>
# updated by Bruce Dubbs <bdubbs@linuxfromscratch.org>

# System wide aliases and functions.

# System wide environment variables and startup programs should go into
# /etc/profile.  Personal environment variables and startup programs
# should go into ~/.bash_profile.  Personal aliases and functions should
# go into ~/.bashrc

# Provides colored /bin/ls and /bin/grep commands.  Used in conjunction
# with code in /etc/profile.

alias ls='ls --color=auto'
alias grep='grep --color=auto'

# Provides prompt for non-login shells, specifically shells started
# in the X environment. [Review the LFS archive thread titled
# PS1 Environment Variable for a great case study behind this script
# addendum.]

# Setup different prompt colors for local/remote and root/non-root users
NORMAL="\[\e[0m\]"
RED="\[\e[1;31m\]"
GREEN="\[\e[1;32m\]"
YELLOW="\[\e[1;33m\]"
MAGENTA="\[\e[1;35m\]"
CYAN="\[\e[1;36m\]"

# Set local prompt color
if [[ $EUID == 0 ]] ; then
  if [[ $TERM == "screen" ]] ; then
    PS1="$RED\u [ $NORMAL\w$RED ] (screen)# $NORMAL"
  else
    PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
  fi
else
  if [[ $TERM == "screen" ]] ; then
    PS1="$YELLOW\w [ $NORMAL\w$YELLOW] (screen)\$ $NORMAL"
  else
    PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
  fi
fi

# Set remote prompt
if [[ "$SSH_CLIENT" != "" ]] ; then
  if [[ $EUID == 0 ]] ; then
    if [[ $TERM == "screen" ]] ; then
      PS1="$MAGENTA\u\h [ $NORMAL\w$MAGENTA ] (screen)# $NORMAL"
    else
      PS1="$MAGENTA\u@\h [ $NORMAL\w$MAGENTA ]# $NORMAL"
    fi
  else
    if [[ $TERM == "screen" ]] ; then
      PS1="$CYAN\u@\h [ $NORMAL\w$CYAN ] (screen)\$ $NORMAL"
    else
      PS1="$CYAN\u@\h [ $NORMAL\w$CYAN ]\$ $NORMAL"
    fi
  fi
fi

unset RED GREEN MAGENTA YELLOW CYAN NORMAL

# End /etc/bashrc
