-# check if this is dos/windows.
-if [ "$OS" == "Windows_NT" ]; then
- if [ -z "$HOME" ]; then
- # set a default that might not be appropriate for everyone, but should
- # still work.
- export HOME=/c/home
- fi
- if [ ! -d "$HOME" ]; then mkdir $HOME; fi
-fi
+# load the larger body of standard feisty meow variables into the environment.
+# we actually want this to always run also; it will decide what variables need
+# to be set again.
+source $FEISTY_MEOW_SCRIPTS/core/variables.sh
+
+##############
+
+# include helpful functions. we do this every time rather than making it part
+# of variable initialization, because functions cannot be exported to
+# sub-shells in bash (much like aliases cannot, to our infinite chagrin after
+# having migrated from korn shell...).
+source "$FEISTY_MEOW_SCRIPTS/core/functions.sh"
+
+##############
+
+# check hash table before searching path.
+shopt -s checkhash
+# don't check path for sourced files.
+shopt -u sourcepath
+# ignore duplicate lines and spaces for history.
+HISTCONTROL=ignoredups:ignorespace
+# append to the history file.
+shopt -s histappend
+# automatically update window size if needed.
+shopt -s checkwinsize