I recently migrated my main machine to NixOS and the overall experience has been good, but I have a few snags remaining on which I’m looking for advice.

One of these is the option to switch between desktop managers easily. I know the question is a bit hard because at least Plasma and Gnome have a preference for their own login manager. But there are also other aspects that don’t easily match between those two, like both having different options for ssh-askpass (again, this makes sense and one could mkForce a selection) or Plasma setting Noto as a default system font which might not be wanted for Gnome.

I have created specialisations for these environments (Plasma being part of the default one only) which works really well, especially since this also allows filtering applications by environment without modifying the desktop entries. However, to activate a specialisations, I need to reboot in practice. This seems to be because sddm is not part of the Gnome specialisation and when switching to it, reloading sddm’s units fails because the user no longer exists.

Does anyone have an easier way to have both of these environments available and switch easily? Maybe something greetd-based? Could switching into a given specialisation be automated?