I don’t have any admin privileges so I can’t address your request directly, but I would make a couple suggestions (which may or may not be helpful). Please feel free to ignore them if they aren’t helpful.
I believe the “right” way of packaging your snap would be to bundle git with your snap. This would address your third bullet. It’s true you don’t have access to ~/.git-config
(none of the dot files are accessible through the home
interface). However you could put the file in $SNAP_DATA/.git-config
instead. Your wrapper would have to send the correct flag to git to pick it up from a non standard location of course. Finally, you can access ssh keys with the ssh-keys
interface. See: Interface management