You have not shown what the issue is or how you are using the overlay.
Especially, it is not clear to me what you are trying to achieve by the desktops.gnome
thing. There is no desktops
attribute in Nixpkgs.
Either way, overlays will not be enough as some NixOS modules changed so you will need to blacklist them and use the ones from old Nixpkgs. Looking at the changes, doing it for the GDM module should be sufficient (do not forget to add the old attributes used by the module to the overlay).
You also might want to replace only some core packages gnome-shell
, mutter
, gnome-session
and gdm
to be able to use e.g. fresh Geary:
(final: prev: {
gnome = prev.gnome.overrideScope' (finalGnome: prevGnome: {
gnome-shell = pkgs-stable.gnome3.gnome-shell;
…
});
})
Or even better, use the old expression with packages mostly from new Nixpkgs so that you minimize the risk of depending on potentially unsecure libraries:
(final: prev: {
gnome = prev.gnome.overrideScope' (finalGnome: prevGnome: {
gnome-shell = finalGnome.callPackage "${pkgs-stable}/pkgs/desktops/gnome-3/core/gnome-shell" { gnome3 = finalGnome; };
…
});
})
But yeah, none of this is tested and it will likely be a pretty bumpy ride.