#!/bin/sh
# Predispone il kiosk del primo avvio. Radice alternativa per immagini e prove isolate.
set -eu
RADICE=${1:-/}
case $RADICE in /*) ;; *) echo 'La radice deve essere assoluta' >&2; exit 2;; esac
RADICE=$(realpath -e -- "$RADICE")
"$RADICE/usr/lib/stidda/pam-primo-avvio" prepara "$RADICE"
install -d "$RADICE/usr/lib/sysusers.d" "$RADICE/etc/sddm.conf.d"
for f in "$RADICE/usr/lib/sysusers.d/stidda-primo-avvio.conf" "$RADICE/etc/sddm.conf.d/10-stidda-primo-avvio.conf"; do
 [ ! -L "$f" ] || { echo 'Configurazione gestita sostituita da un symlink' >&2; exit 1; }
done
cat > "$RADICE/usr/lib/sysusers.d/stidda-primo-avvio.conf" <<'IN'
u stidda-primo-avvio - "Stidda primo avvio" /var/lib/stidda-primo-avvio /usr/bin/nologin
m stidda-primo-avvio stidda-installer
m stidda-primo-avvio video
IN
systemd-sysusers --root "$RADICE"
identita=$(awk -F: '$1 == "stidda-primo-avvio" {print $3 ":" $4; exit}' "$RADICE/etc/passwd")
[ -n "$identita" ] || { echo 'Utente del primo avvio non creato' >&2; exit 1; }
install -d -m750 "$RADICE/var/lib/stidda-primo-avvio"
chown "$identita" "$RADICE/var/lib/stidda-primo-avvio"
cat > "$RADICE/etc/sddm.conf.d/10-stidda-primo-avvio.conf" <<'IN'
[Autologin]
User=stidda-primo-avvio
Session=stidda-primo-avvio.desktop
Relogin=true
IN
chmod 644 "$RADICE/usr/lib/sysusers.d/stidda-primo-avvio.conf" "$RADICE/etc/sddm.conf.d/10-stidda-primo-avvio.conf"
systemctl --root "$RADICE" enable stidda-installerd@primo-avvio.service stidda-pulizia-primo-avvio.service
