From c7a17c5a62b417add4254fd352b62dddd2b9765d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82?= Date: Thu, 13 Aug 2026 18:30:27 +0200 Subject: [PATCH] hotfix(calamares): make COSMIC greeter actually work on online installs Chain COSMIC as the first branch in DMgreetd.set_autologin so cosmic-greeter-start is picked before gtkgreet/tuigreet/ddlm fallbacks. Also set the cosmic-greeter user and general.service so the generated config.toml matches upstream cosmic-greeter.toml. Gate on the selected desktop being COSMIC. pkgrel 11 -> 12. PS: as the maintainer, a hotfix release will drop shortly after I finish suffering through a Gentoo install. --- packages/calamares/PKGBUILD | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/calamares/PKGBUILD b/packages/calamares/PKGBUILD index 00c69ab..c18c45a 100644 --- a/packages/calamares/PKGBUILD +++ b/packages/calamares/PKGBUILD @@ -5,7 +5,7 @@ _pkgname="calamares" pkgname="$_pkgname" pkgver=3.4.2 -pkgrel=11 +pkgrel=12 pkgdesc="Distribution-independent installer framework" url="https://codeberg.org/Calamares/calamares" license=("GPL-3.0-or-later") @@ -56,9 +56,7 @@ build() { sed -i "/DesktopEnvironment('\/usr\/bin\/Hyprland', 'hyprland'),/a\ DesktopEnvironment('/usr/bin/start-cosmic', 'cosmic')," \ "$_pkgsrc_dir/src/modules/displaymanager/main.py" - sed -i '/"ddlm --target " + de_command/a\ - elif os.path.exists(self.os_path("usr/bin/cosmic-greeter-start")):\ - self.config_data["default_session"]["command"] = "cosmic-greeter-start"' \ + sed -i 's| if os.path.exists(self.os_path("usr/bin/gtkgreet")) and os.path.exists(self.os_path("usr/bin/cage")):| if os.path.exists(self.os_path("usr/bin/cosmic-greeter-start")) and de_command == "/usr/bin/start-cosmic":\n self.config_data["default_session"]["command"] = "cosmic-greeter-start"\n self.config_data["default_session"]["user"] = "cosmic-greeter"\n self.config_data["general"] = dict(service = "cosmic-greeter")\n elif os.path.exists(self.os_path("usr/bin/gtkgreet")) and os.path.exists(self.os_path("usr/bin/cage")):|' \ "$_pkgsrc_dir/src/modules/displaymanager/main.py" local _cmake_options=(