#!/bin/sh
# Select the login manager for the next boot; never interrupt the current session.
set -eu
[ "$(id -u)" -eq 0 ] || { echo 'Run as root.' >&2; exit 1; }
case "${1:-}" in
    plm) manager=/opt/plasma/bin/plasmalogin; unit=plasmalogin.service ;;
    sddm) manager=/usr/bin/sddm; unit=sddm.service ;;
    *) echo 'Usage: plasma-next-login-manager plm|sddm' >&2; exit 2 ;;
esac
[ -f "/usr/share/plasma-next/login-managers/$1" ] && [ -x "$manager" ] && [ -f "/usr/lib/systemd/system/$unit" ] || {
    echo "Install plasma-next-$1 integration first." >&2; exit 1;
}
mkdir -p /etc/systemd/system /etc/X11
ln -sfn "/usr/lib/systemd/system/$unit" /etc/systemd/system/display-manager.service
printf '%s\n' "$manager" > /etc/X11/default-display-manager
if [ -d /run/systemd/system ]; then systemctl daemon-reload; fi
printf '%s selected for the next boot; the current session was not restarted.\n' "$1"
