diff --git a/archinstall/default_profiles/desktops/budgie.py b/archinstall/default_profiles/desktops/budgie.py index 68506d4504..28c05f45f2 100644 --- a/archinstall/default_profiles/desktops/budgie.py +++ b/archinstall/default_profiles/desktops/budgie.py @@ -23,4 +23,4 @@ def packages(self) -> List[str]: @property def default_greeter_type(self) -> Optional[GreeterType]: - return GreeterType.Lightdm + return GreeterType.LightdmSlick diff --git a/archinstall/default_profiles/profile.py b/archinstall/default_profiles/profile.py index c7683013f5..982bd5a3cc 100644 --- a/archinstall/default_profiles/profile.py +++ b/archinstall/default_profiles/profile.py @@ -31,7 +31,8 @@ class ProfileType(Enum): class GreeterType(Enum): - Lightdm = 'lightdm' + Lightdm = 'lightdm-gtk-greeter' + LightdmSlick = 'lightdm-slick-greeter' Sddm = 'sddm' Gdm = 'gdm' Ly = 'ly' diff --git a/archinstall/lib/profile/profiles_handler.py b/archinstall/lib/profile/profiles_handler.py index 8ea646b6ea..07910b0847 100644 --- a/archinstall/lib/profile/profiles_handler.py +++ b/archinstall/lib/profile/profiles_handler.py @@ -173,6 +173,9 @@ def install_greeter(self, install_session: 'Installer', greeter: GreeterType): service = None match greeter: + case GreeterType.LightdmSlick: + packages = ['lightdm', 'lightdm-slick-greeter'] + service = ['lightdm'] case GreeterType.Lightdm: packages = ['lightdm', 'lightdm-gtk-greeter'] service = ['lightdm'] @@ -191,6 +194,17 @@ def install_greeter(self, install_session: 'Installer', greeter: GreeterType): if service: install_session.enable_service(service) + # slick-greeter requires a config change + if greeter == GreeterType.LightdmSlick: + path = install_session.target.joinpath('etc/lightdm/lightdm.conf') + with open(path, 'r') as file: + filedata = file.read() + + filedata = filedata.replace('#greeter-session=example-gtk-gnome', 'greeter-session=lightdm-slick-greeter') + + with open(path, 'w') as file: + file.write(filedata) + def install_gfx_driver(self, install_session: 'Installer', driver: Optional[GfxDriver]): try: