diff --git a/cook/ingredients/packages/core-explicit.ks b/cook/ingredients/packages/core-explicit.ks index 7e5c7b3..5b951c6 100644 --- a/cook/ingredients/packages/core-explicit.ks +++ b/cook/ingredients/packages/core-explicit.ks @@ -17,7 +17,9 @@ # Package list mirrors the Fedora 44 `core` comps group (mandatory + # default packages), plus `basesystem`, `kernel` and `dhcp-client` from # the hidden core group, plus `fedora-repos` (usually pulled in via -# fedora-release-common, which is deselected here). +# fedora-release-common, which is deselected here), plus session-system +# essentials (`dbus-daemon`, `systemd-pam`) that would otherwise be +# dropped by --exclude-weakdeps. %packages --exclude-weakdeps # Beginning of the packages section. Package description courtesy of the Fedora project @@ -71,6 +73,15 @@ zram-generator-defaults # Default configuration for zram-generator ## Repository definitions, pulled explicitly since fedora-release is deselected fedora-repos # Fedora package repositories +## Session-system essentials that nothing else hard-requires: with +## --exclude-weakdeps they would be dropped (systemd merely recommends +## systemd-pam; only anaconda requires dbus-daemon during installation). +## Without them, login sessions never register with logind (no +## pam_systemd.so) and display managers cannot spawn the session bus +## (no /usr/bin/dbus-run-session), which yields a silent black screen. +dbus-daemon # D-BUS message bus (provides /usr/bin/dbus-run-session, used by gdm-wayland-session et al.) +systemd-pam # systemd PAM module (pam_systemd.so — registers login sessions with logind, starts user@.service) + ## Deselect Fedora release/branding packages — the remix packages below ## provide system-release, system-release(44), fedora-release-identity and ## system-logos instead