#!/bin/zsh
cd "${0:a:h}"

FORCE_ROOT=false
CI=false
OVERWRITE_EXISTING=false
COMPILE_DMENU=true
MIN=false

while [[ "${#}" -gt 0 ]]
do
	case "${1}" in
		( --force-root ) FORCE_ROOT=true ;;
		( --ci         ) export CI=true  ;;

		( --overwrite ) OVERWRITE_EXISTING=true ;;

		( --no-compile-dmenu ) COMPILE_DMENU=false ;;

		( --min )
			MIN=true
			COMPILE_DMENU=false
			;;
	esac
	shift 1
done
source ./requirements.zsh || exit 1
################################################################################

logfile="${HOME}/dotwryn-install.txt"

echo.status "installation start : $(date)" 2>> "${logfile}"
{
	setup.os     || utils.fail 1 'failed to set up os-dependencies (see above)'
	setup.git    || utils.fail 2 'failed to set up git (see above)'
	setup.config || utils.fail 3 'failed to set up program configuration (see above)'
} 2>&1 | tee -a "${logfile}"

echo.status "installation complete: $(date)" 2>> "${logfile}"

################################################################################

[[ "${ERRORS}" -eq 0 ]] || {
	utils.yN 'keep logfile?' \
		|| { rm "${logfile}" || echo.error "unable to remove '${logfile}'" }
}

echo.success "\n.wryn setup complete; have a nice day :)\n "
