Usually when you set up a new account, there are a bunch of niceties that you will want to have. Here are a bunch of things that you can just copy and paste into your startup scripts.

.zshrc

The zsh prompt expansion reference is here.

.zshrc

# set the font
if [ `whoami` = "root" ]; then
    PROMPT='%F{red}%n@%m%f#'
else
    PROMPT='%F{blue}%n@%m%f>'
fi

# https://superuser.com/questions/1092033/how-can-i-make-zsh-tab-completion-fix-capitalization-errors-for-directories-and
autoload -Uz compinit && compinit
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'

.bashrc and .bash_profile

Why are there two different bash startup files? You can read about it from Josh Staiger here. Also more information from Ramesh Natarajan here.

.bashrc

# Why .bash_profile and .bashrc?
# http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html
# http://www.thegeekstuff.com/2008/10/execution-sequence-for-bash_profile-bashrc-bash_login-profile-and-bash_logout

# Terminal escapes to set the color
BLACK="\[\033[0;30m\]"
BLUE="\[\033[0;34m\]"
GREEN="\[\033[0;32m\]"
CYAN="\[\033[0;36m\]"
RED="\[\033[0;31m\]"
PURPLE="\[\033[0;35m\]"
BROWN="\[\033[0;33m\]"
LIGHT_GRAY="\[\033[0;37m\]"
DARK_GRAY="\[\033[1;30m\]"
LIGHT_BLUE="\[\033[1;34m\]"
LIGHT_GREEN="\[\033[1;32m\]"
LIGHT_CYAN="\[\033[1;36m\]"
LIGHT_RED="\[\033[1;31m\]"
LIGHT_PURPLE="\[\033[1;35m\]"
YELLOW="\[\033[1;33m\]"
WHITE="\[\033[1;37m\]"
NO_COLOR="\[\033[0m\]"

# Check to see we have an xterm so we can set the title.
case $TERM in
    xterm*)
        TITLEBAR='\[\033]0;\w\007\]'
        ;;
    *)
        TITLEBAR=''
        ;;
esac
if [ `whoami` = "root" ]; then
    PROMPT_COLOR=${RED}
else
    PROMPT_COLOR=${BLUE}
fi
PS1="${TITLEBAR}\
${PROMPT_COLOR}\u@\h>${NO_COLOR}"
PS2='>'

# some standard environment variables
MANPAGER="less"
export MANPAGER
export EDITOR=emacs

# environment variables that will affect the display of ls (and perhaps other programs)
export CLICOLOR='YES'
export BLOCKSIZE='1024'
alias ls='ls -FG'
alias dir='ls -l'
alias diff='diff -w -C 5 -B'

# Make bash check it's window size after a process completes
shopt -s checkwinsize

.bash_profile

# Why .bash_profile and .bashrc?
# http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html
# http://www.thegeekstuff.com/2008/10/execution-sequence-for-bash_profile-bashrc-bash_login-profile-and-bash_logout

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

ssh-agent

# ssh-agent configuration
# https://stackoverflow.com/questions/18880024/start-ssh-agent-on-login
# http://mah.everybody.org/docs/ssh
SSH_ENV="$HOME/.ssh/environment-${HOSTNAME}"

function start_agent {
   echo "Initialising new SSH agent..."
   /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
   echo succeeded
   chmod 600 "${SSH_ENV}"
   . "${SSH_ENV}" > /dev/null
   /usr/bin/ssh-add ${HOME}/.ssh/*.rsa
}

# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
   . "${SSH_ENV}" > /dev/null
   #ps ${SSH_AGENT_PID} doesn't work under cywgin
   ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
       start_agent;
   }
else
   start_agent;
fi

.emacs

(configure emacs with --without-ns or it will build the app for you)

These lines in your .emacs will give you a nice backup directory with multiple versions, instead of littering your filesystem with blah~ files everywhere.

.emacs

; http://stackoverflow.com/questions/151945/how-do-i-control-how-emacs-makes-backup-files
(setq backup-directory-alist `(("." . "~/Backup/Emacs")))
(setq backup-by-copying t)
(setq delete-old-versions t
  kept-new-versions 5
  kept-old-versions 2
  version-control t)

.inputrc

To get case insensitive completion in bash, put this into your .inputrc

.inputrc

$include /etc/inputrc
set completion-ignore-case On

Preferred Colors

Text Background: 206:255:221 #CEFFDD