Hi Will,
as git already complains, you cannot push to a non-bare repository. I don't know, whether there is an easier way, but you could bring a fourth repo into play: A bare one on your lappie (git init --bare /some/path). You can add this one as another remote to your working repo (git remote add worksync /some/path) and use this one on your desktop as a remote instead of your repo with the working copy.
Assuming the simple case that you only use a main branch, it could work like this (without guarantee, I haven't double checked the commands):
At home, sync both repos on your macbook (calls from the 'normal' clone):
git pull # sync with SCM-Manager
git push worksync main # sync bare repo
At work on your desktop:
git pull # will fetch the latest changes from home
# do some work
git push # will push changes to the bare repo on the macbook
Back at home on your macbook:
git fetch worksync # get changes from work into the remote branch
git merge worksync/main # merge them with your current main branch
git push # push them to SMC-Manager which is still the 'origin' remote
This will get a bit more complicated, when you use more branches, because somehow you have to merge them. If you do not create conflicts, you may skip the merge and push all branches directly using ref specs with wildcards (something like refs/remotes/worksync/*:..., I'd have to look these up).
Does this help as a first idea?
Kind regards
René