#!/bin/bash

timestamp=$( date +%F-%T )

post_install() {
	if ! getent group greeter > /dev/null; then
		groupadd --system greeter
	fi
	if ! getent passwd greeter > /dev/null; then
		useradd -c "Greetd Login Manager" --system -d /var/lib/greeter -s /bin/sh -g greeter -G seat greeter
		passwd -l greeter > /dev/null
	fi
	mkdir -p /var/lib/greeter
	chown -R greeter:greeter /var/lib/greeter > /dev/null
		
	echo "Enabling dinit service"
              dinitctl enable greetd

	kdialog --warningyesno "With this update, your system will move to Dinit as init system.<br>
        To see the the reasons for moving away from systemd see:<br>
        https://kaosx.us/news/2026/systemd_kaos/.<br><br>
        Greetd replaces sddm too, make sure to use <strong>F3 to select the proper session.</strong><br><br>
        Do you want to save this output?"

        save=${?}

            if [[ ${save} == 1 ]]; then

                kdialog --msgbox "Output not saved"

            else

                echo "With this update, your system will move to Dinit as init system.<br>
                    To see the the reasons for moving away from systemd see:<br>
                    https://kaosx.us/news/2026/systemd_kaos/.<br><br>
                    Greetd replaces sddm too, make sure to use <strong>F3 to select the proper session.</strong>" > /var/log/greetd_install${timestamp}.txt

                kdialog --msgbox "Output is saved in /var/log/greetd_install${timestamp}.txt"

            fi
}

post_upgrade() {
	if ! getent group greeter > /dev/null; then
		groupadd --system greeter
	fi
	if ! getent passwd greeter > /dev/null; then
		useradd -c "Greetd Login Manager" --system -d /var/lib/greeter -s /bin/sh -g greeter -G seat greeter
		passwd -l greeter > /dev/null
	fi
	mkdir -p /var/lib/greeter
	chown -R greeter:greeter /var/lib/greeter > /dev/null
	
	kdialog --warningyesno "With this update, your system will move to Dinit as init system.<br>
        To see the the reasons for moving away from systemd see:<br>
        https://kaosx.us/news/2026/systemd_kaos/.<br><br>
        Greetd replaces sddm too, make sure to use <strong>F3 to select the proper session.</strong><br><br>
        Do you want to save this output?"

        save=${?}

            if [[ ${save} == 1 ]]; then

                kdialog --msgbox "Output not saved"

            else

                echo "With this update, your system will move to Dinit as init system.<br>
                    To see the the reasons for moving away from systemd see:<br>
                    https://kaosx.us/news/2026/systemd_kaos/.<br><br>
                    Greetd replaces sddm too, make sure to use <strong>F3 to select the proper session.</strong>" > /var/log/greetd_install${timestamp}.txt

                kdialog --msgbox "Output is saved in /var/log/greetd_install${timestamp}.txt"

            fi
}

pre_remove() {
	echo "Disabling dinit service"
			dinitctl disable greetd
}

post_remove() {
	if getent passwd greeter >/dev/null; then
		userdel greeter
	fi
}

