2026-09-27 12:28:46 +02:00
|
|
|
#!/usr/bin/bash
|
|
|
|
|
set -eoux pipefail
|
|
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
# Transaction: Login-Stack (greetd + tuigreet-Fallback + Noctalia-Greeter)
|
|
|
|
|
###############################################################################
|
|
|
|
|
# - greetd ist der Display-Manager (leicht, Wayland-nativ).
|
|
|
|
|
# - noctalia-greeter (aus Terra, siehe 10-repos.sh) ist die Login-UI in
|
|
|
|
|
# Noctalia-Optik. Braucht ZWINGEND greetd als Unterbau.
|
|
|
|
|
# - tuigreet bleibt als sparsamer Fallback, falls der grafische Greeter
|
|
|
|
|
# je streikt (in /etc/greetd/config.toml per Kommentar umschaltbar).
|
|
|
|
|
###############################################################################
|
|
|
|
|
echo "Installing login stack (greetd + Noctalia greeter)..."
|
|
|
|
|
|
|
|
|
|
# greetd + D-Bus + polkit sind harte Voraussetzungen des Noctalia-Greeters
|
|
|
|
|
# (https://docs.noctalia.dev/greeter/installation/) und werden hier explizit
|
|
|
|
|
# installiert statt von der Basis vorausgesetzt.
|
|
|
|
|
dnf5 install -y \
|
|
|
|
|
--allowerasing \
|
|
|
|
|
greetd \
|
|
|
|
|
greetd-selinux \
|
|
|
|
|
dbus-daemon \
|
|
|
|
|
polkit \
|
|
|
|
|
tuigreet \
|
|
|
|
|
noctalia-greeter
|
|
|
|
|
|
|
|
|
|
dnf5 clean all
|
|
|
|
|
|
|
|
|
|
# accounts-daemon: liefert User-Avatare auf dem Login-Screen.
|
|
|
|
|
systemctl enable accounts-daemon.service
|
|
|
|
|
|
2026-09-27 13:21:20 +02:00
|
|
|
# System-Setup des Greeters: richtet u.a. /etc/pam.d/greetd ein.
|
2026-09-27 12:28:46 +02:00
|
|
|
# Pfad laut PACKAGING.md: share/noctalia-greeter/setup_greeter_system.sh
|
|
|
|
|
if [[ -x /usr/share/noctalia-greeter/setup_greeter_system.sh ]]; then
|
|
|
|
|
/usr/share/noctalia-greeter/setup_greeter_system.sh || true
|
|
|
|
|
else
|
|
|
|
|
echo "WARN: setup_greeter_system.sh nicht gefunden - Greeter-State wird erst beim Boot angelegt"
|
|
|
|
|
fi
|
|
|
|
|
|
2026-09-27 13:21:20 +02:00
|
|
|
# bootc-Hygiene: /var-Inhalte aus dem Build werden beim Deployment verworfen
|
|
|
|
|
# und wuerden nur den var-tmpfiles-Lint triggern. Die /etc-Anteile des Setups
|
|
|
|
|
# (PAM) bleiben erhalten; /var/lib/noctalia-greeter wird zur Laufzeit via
|
|
|
|
|
# tmpfiles.d angelegt (Paket-eigen + unsere Seed-Regel).
|
|
|
|
|
rm -rf /var/lib/noctalia-greeter
|
|
|
|
|
|
2026-09-27 12:28:46 +02:00
|
|
|
# Alte Display-Manager explizit aus (zwei DMs = Blackscreen).
|
|
|
|
|
# Auf fedora-bootc-Basis existieren sie i.d.R. nicht -> Fehler tolerieren.
|
|
|
|
|
systemctl disable sddm.service gdm.service lightdm.service 2>/dev/null || true
|
|
|
|
|
systemctl enable greetd.service
|
|
|
|
|
systemctl set-default graphical.target || true
|