#! /bin/sh

PREREQ=""
DESCRIPTION="Tweaks for the desktop image..."

prereqs()
{
       echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
       prereqs
       exit 0
       ;;
esac

. /scripts/casper-functions

log_begin_msg "$DESCRIPTION"

if [ ! -d /root/snap/ubuntu-desktop-installer/ ]; then
    exit 0
fi

# change settings to have an 'installer only' session by default
printf "[org.gnome.desktop.a11y]\nalways-show-universal-access-status=true\n" >> /root/usr/share/glib-2.0/schemas/casper.gschema.override
# we can't unload the dock because the shell would enter the overview on login, https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1788
printf "[org.gnome.shell.extensions.dash-to-dock:ubuntu]\ndock-fixed=false\nintellihide=false\n" >> /root/usr/share/glib-2.0/schemas/casper.gschema.override
printf "[org.gnome.shell]\ndisabled-extensions=['ding@rastersoft.com']\n" >> /root/usr/share/glib-2.0/schemas/casper.gschema.override

chroot /root glib-compile-schemas /usr/share/glib-2.0/schemas/

# start the installer on session start, restore normal session on close
cat > /root/usr/lib/systemd/user/ubuntu-desktop-installer.service  << EOF

[Unit]
Description=Ubuntu Desktop Installer
PartOf=graphical-session.target
After=graphical-session.target

# Never run in GDM
Conflicts=gnome-session@gnome-login.target

[Service]
Type=oneshot
ExecStart=/snap/bin/ubuntu-desktop-installer --try-or-install
ExecStopPost=sh -c "gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed true; gsettings set org.gnome.shell.extensions.dash-to-dock intellihide true; gnome-extensions enable ding@rastersoft.com"
Restart=no
EOF

mkdir /root/etc/systemd/user/graphical-session.target.wants/
ln -s /root/usr/lib/systemd/user/ubuntu-desktop-installer.service /root/etc/systemd/user/graphical-session.target.wants/

log_end_msg
