#
# Administrative startup for /bin/sh
# Place user customizations in ~/config/settings/profile
#

_ARCH=`getarch 2>/dev/null`
if [ "$_ARCH" = "`getarch -p 2>/dev/null`" ] ; then
	echo -e "\nWelcome to the Haiku shell.\n"
	PS1="\w"
else
	echo -e "\nSwitching to architecture `getarch`\n"
	PS1="[$_ARCH] \w"
fi
unset _ARCH

export PS1="\["'`if [ $? = 0 ]; then echo "\e[32m";
	else echo "\e[31m"; fi`'"\]$PS1\[\e[0m\]> "

export USER=`id -un`
export GROUP=`id -gn`

if [ -z $BE_HOST_CPU ]; then
	. /boot/system/boot/SetupEnvironment
fi

export HISTFILESIZE=500
export HISTCONTROL=ignoredups

alias ls="ls --color=auto"
alias ll="ls -lA"
alias la="ls -A"
alias m="more"

test -n "$BASH_VERSION" && shopt -s checkwinsize

#
# and now we include a few useful things...
#

#
# An almost-ksh compatible `whence' command.  This is as hairy as it is
# because of the desire to exactly mimic ksh.
#
# This depends somewhat on knowing the format of the output of the bash
# `builtin type' command.
#
# Chet Ramey
# chet@ins.CWRU.Edu
#
test -n "$KSH_VERSION" || whence()
{
	local vflag= path=

	if [ "$#" = "0" ] ; then
		echo "whence: argument expected"
		return 1
	fi
	case "$1" in
		-v) vflag=1
		    shift 1
		    ;;
		-*) echo "whence: bad option: $1"
		    return 1
		    ;;
		 *) ;;
	esac

	if [ "$#" = "0" ] ; then
		echo "whence: bad argument count"
		return 1
	fi

	returnValue=0

	for cmd
	do
		if [ "$vflag" ]	 ; then
			echo $(builtin type $cmd | sed 1q)
		else
			path=$(builtin type -path $cmd)
			if [ "$path" ] ; then
				echo $path
			else
				case "$cmd" in
					*/*) if [ -x "$cmd" ]; then
							echo "$cmd"
						else
							returnValue=1
					    fi
					    ;;
					 *) case "$(builtin type -type $cmd)" in
						"") returnValue=1
							;;
						 *) echo "$cmd"
						    ;;
					    esac
					    ;;
				esac
			fi
		fi
	done
	return $returnValue
}

if test -n "$KSH_VERSION"; then
	ps1_pwd() {
		local e=$? d=${PWD:-?}/ p=~
		[[ $p = ?(*/) ]] || d=${d/#$p\//\~/}
		print -nr -- "${d%/}"
		return $e
	}
	PS1=${PS1/'\w'/'$(ps1_pwd)'}
	alias which='whence -p'
else
	test -n "$BASH_VERSION" || PS1=$(printf '%s' "$PS1" | \
	    sed 's/\\w/$PWD/')
	alias which='whence'
fi

function dir {
	ls -lF "$@";
}

for dir in `findpaths -Re B_FIND_PATH_DATA_DIRECTORY profile.d 2> /dev/null`; do
  for i in $dir/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
done
unset dir

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi