#!/bin/bash

IS_TEXT="/usr/libexec/initial-setup/initial-setup-text"
IS_GRAPHICAL="/usr/libexec/initial-setup/initial-setup-graphical"
IS_UNIT=initial-setup.service

WINDOWMANAGER_SCRIPT="/usr/libexec/initial-setup/firstboot-windowmanager"

START_GUI_COMMAND="/bin/xinit ${WINDOWMANAGER_SCRIPT} ${IS_GRAPHICAL} --no-stdout-log -- /bin/Xorg :9 -ac -nolisten tcp"

# check if graphical Initial Setup is installed
if [ -f ${IS_GRAPHICAL} ]; then
    printf "MESSAGE=starting Initial Setup GUI\nPRIORITY=6" | logger --journald
    ${START_GUI_COMMAND}
else
    printf "MESSAGE=starting Initial Setup TUI\nPRIORITY=6" | logger --journald
    ${IS_TEXT} --no-stdout-log
fi

# check if the Initial Setup run was successfull by looking at the return code
if [ $? -eq 0 ]; then
    printf "MESSAGE=Initial Setup finished successfully, disabling\nPRIORITY=6" | logger --journald
    /bin/systemctl disable initial-setup.service &>/dev/null
    printf "MESSAGE=Initial Setup has been disabled\nPRIORITY=6" | logger --journald
else
    printf "MESSAGE=Initial Setup failed, keeping enabled\nPRIORITY=3" | logger --journald
fi
