For many graphical-session configurations with Home Manager, xsession.enable = true; is needed, which depends on the configuration xsession.windowManager.command
The out-of-the-box options that provides xsession.windowManager.command are xsession.windowManager.awsome, .bspwm, .i3, and .xmonad (, which are all tiled). To use other windows manager, such as those comes with the desktop environments, users have to set xsession.windowManager.command themselves.
I have tried many ways to enable kwin or mutter from the config, but end up looping in the display manager.
What is the proper way to handle a graphical session of GNOME, KDE, Cinnamon, XFCE, … from Home Manager?