#!/bin/bash
# Fedorium — prepares the live session (ISO only, before the login screen).
# Safety net: if livesys didn't create the live user, create it here.
LOG=/run/fedorium-live.log
exec >>"$LOG" 2>&1
echo "== fedorium-live $(date)"

if ! id liveuser >/dev/null 2>&1; then
    echo "liveuser missing, creating it"
    useradd -m -c "Fedorium Live" -G wheel liveuser
fi
passwd -d liveuser
echo "liveuser ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/90-fedorium-liveuser
chmod 440 /etc/sudoers.d/90-fedorium-liveuser

# no password prompts for the installer and other admin actions in the live session
mkdir -p /etc/polkit-1/rules.d
cat > /etc/polkit-1/rules.d/49-fedorium-liveuser.rules <<'EOF'
polkit.addRule(function(action, subject) {
    if (subject.user == "liveuser") {
        return polkit.Result.YES;
    }
});
EOF
chmod 644 /etc/polkit-1/rules.d/49-fedorium-liveuser.rules

# autologin into Plasma
mkdir -p /etc/sddm.conf.d
cat > /etc/sddm.conf.d/zz-fedorium-live.conf <<EOF
[Autologin]
User=liveuser
Session=plasma
Relogin=true
EOF

# installer icon on the desktop
if [ -f /usr/share/applications/liveinst.desktop ]; then
    install -d -o liveuser -g liveuser /home/liveuser/Desktop
    install -m 755 -o liveuser -g liveuser /usr/share/applications/liveinst.desktop \
        /home/liveuser/Desktop/liveinst.desktop
fi
echo "done"
exit 0
