export DOTFILES_PATH=$HOME/.dotfiles

# load our terminal colors
BASE16_SHELL="$DOTFILES_PATH/colors/shell"
[[ -s "$BASE16_SHELL" ]] && source "$BASE16_SHELL"

# if we're a proper terminal?
if [ -t 0 ]; then
	# load variables
	source "$DOTFILES_PATH/variables.bash"

	# disable ctrl-s terminal freeze
	[[ $- == *i* ]] && stty -ixon

	# import our aliases
	source "$DOTFILES_PATH/env/sh/aliases"

	# import out global shell functions
	source "$DOTFILES_PATH/env/sh/shell_funcs"

	# import our prompt
	source "$DOTFILES_PATH/env/sh/prompt"

	# autocompletions
	complete -cf sudo
	complete -cf man

	# allow a per-device script that is pulled in
	if [ -a "$HOME/.bashrc_env" ]; then
		. "$HOME/.bashrc_env"
	fi

	# this bashrc assumes a home directory like /home/username/usr in order to
	# keep dotfiles from cluttering up an "actual" home directory /home/username
	# this snippet will redirect new terminals to the "actual" home directory
	if [ "$PWD" = "$HOME" ]; then
		cd "$HOME/.."
	fi

	# prevents binds or commands pulling from history from insta-sending, and
	# instead places them in the readline for editing
	shopt -s histverify

	# prevents some Java GUI apps from not working or rendering properly due to
	# using bspwm
	export _JAVA_AWT_WM_NONREPARENTING=1

	# load our binds if we've got any inputs
	bind -f "$HOME/.inputrc"
fi