Even though commit 711e96b1a2 fixed
checking for gpg-agents already running, there was one pre-existing
problem due to which my gpg-agents were still spawning multiple times.
The only thing missing was exporting the variables sourced from the
environment file.
Even though double checking for the agent, before and after (possible)
sourcing, seems redundant to me, I'm keeping it in and only fixing
that one thing.
Don't just overwrite the environment. First check for a running agent (an
x-session might have one running). If no agent is found, source the
environment and check again using those settings. If again no agent is
found, start a new instance.