Hello, I used to have a config (when using SLiM) where my system profile did not contain any window manager, so no .desktop files. Instead, the WM would be installed in my profile and ~/.xsession would start it and a couple of other things.
Unfortunately GDM crashes in that context. More precisely, after choosing the user name on the log-in screen, it enters an infinite loop with an assertion failure: gdm_session_set_environment_variable: assertion 'value != NULL' failed At that point you pretty much have to reboot since it becomes very hard to type at the console. (You can try it in a VM.) The workaround is to add at least one window manager to the system’s ‘packages’ field. It would be nice to fix it now that GDM is our default log-in manager. Ludo’.