I'm seeing several instances lately where projects want to use GnuPG internally, but they don't want to share pubrings or secrings between components (e.g. encrypted mailing lists where different lists need to maintain their own keyrings).
however, even in these situations, all of the components might want to share a dirmngr, to take advantage of dirmngr's long-running state and knowledge about the current network status.
I believe these components can already share a dirmngr (i haven't tested it myself) by either symlinking the expected dirmngr socket to a running dirmngr socket, or by using assuan's "socket redirection hack". however, documentation for both of these approaches is sketchy, and there are potentially race conditions and it just feels complicated and fiddly.
it would be great if there were an easy and well-documented way to direct two separate GnuPG instances (gpg and gpgsm, and anything else which uses dirmngr) with different homedirs to share a single running dirmngr instance.