This was achieved using the following command:
sd 'wrapGAppsHook\b' wrapGAppsHook3 (rg -l 'wrapGAppsHook\b')
And then manually reverted the following changes:
- alias in top-level.nix
- function name in wrap-gapps-hook.sh
- comment in postFixup of at-spi2-core
- comment in gtk4
- comment in preFixup of 1password-gui/linux.nix
- comment in postFixup of qgis/unwrapped-ltr.nix and qgis/unwrapped.nix
- comment in postFixup of telegram-desktop
- comment in postFixup of fwupd
- buildCommand of mongodb-compass
- postFixup of xflux-gui
- comment in a patch in kdePackages.kde-gtk-config and plasma5Packages.kde-gtk-config
- description of programs.sway.wrapperFeatures.gtk NixOS option (manual rebuild)
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
These apps don't hardcode their icon themes and the icon theme
is no longer picked up by wrapGAppsHook by default. User may
also able to choose to use icon themes of their choice so pulling
them to XDG_DATA_DIRS is mostly no use.
elementary OS's ecosystem is curated around Ubuntu's LTS releases.
This means the development platform for their curated applications
always includes a LTS version of vala (in 18.04 it's 0.40).
Because of how vala development works it suspect some of these
applications to have serious issues if complied with the latest vala.
However in the past year or so, for Pantheon at least, I don't think
their applications will have much issues with latest vala, and if there
is I don't think they'd be difficult to fix. In this single regard they've
become more responsive since their preferred language is vala.
As for the curated applications I have less of this confidence in.
So I'd have to be accept less applications, but that's something
I'm willing to compromise on. And this is easily reversible or
could be done on a per-application basis. And nix already makes
this trivial.
* uses meson now
* crashes on start complaining schema not installed,
so I added a postInstall that compiles the schema?
Fixes the problem but I'm not particularly familiar
with these bits so review appreciated.