How to enable GNOME Classic?

I’m moving some users from Fedora, where there is the GNOME Classic session. Some of them prefer it.

On NixOS, I tried services.xserver.desktopManager.gnome.flashback.enableMetacity = true;, but that enables a completely different thing. It’s using Metacity. FWIW I didn’t know that stuff was still maintained and used.

GNOME Classic is, however, just a session with a collection of preinstalled extensions. Quoting from there:

  • AlternateTab (alternate-tab@gnome-shell-extensions.gcampax.github.com),

  • Applications Menu (apps-menu@gnome-shell-extensions.gcampax.github.com),

  • Launch new instance (launch-new-instance@gnome-shell-extensions.gcampax.github.com),

  • Places Status Indicator (places-menu@gnome-shell-extensions.gcampax.github.com),

  • Window List (window-list@gnome-shell-extensions.gcampax.github.com).

Is there some NixOS support for that? Or some module that enables the optional classic session?

Those are all part of gnome-shell-extensions package installed by default with services.xserver.desktopManager.gnome.enable = true.

We do not have any module for enabling “Classic”, looking at the Fedora package, it is an optional part of the same component but we do not enable that.

So would it make sense to enable that option too? To have that option out of the box.

FWIW it’s officially documented in the GNOME docs for users: What is GNOME Classic?