I'll leave it alone after this, but I guess I am making my point kind of strong to point out something that might help you actually detach and move on.
Taking this money would actually be a step in detachment. Your actions are still so attached to what he might think, say, or feel. That will keep you attached forever. You say he is a narcissit and that is the way he controls others: with money. Well, he can only control you with it if you let him, and letting him has nothing to do with taking the money or not. It's about caring so much how he will feel or thing depending on what you chose.
Say you take the money and he feels like some Super hero? Who cares?! Let him feel that way? What does him feeling that way have to do with you anymore. If my ex actually wanted to help with my home, I would take it. He would feel like the king of the world, but how he feels about it doesn't matter to me at all.
This is when I finally felt free. When I didn't care how my actions made him felt. I had surgery in August and couldn't do much. My car batter was very low and the place tried to charge me and arm and a leg. he knows cars, so I asked where I could get a good price. He offered to go to Costco, get the battery and install it for me. The first few years he didn something nice like this, I would refuse, but I didn't want him to think he was some great person for doing something so nice for me when he is a cheater. Now? I don't care if he feels like he swooped in and saved the day. I accepted the nice gesture and was glad I didn't have to worry about it or spend more money.
You are capable of many good things as you listed. You are extraordinarily independent and that is great. You should be proud of yourself. I lack every handy skill there is, lol.
If he can only feel good because he thinks people admire him, so be it. If it makes him feel like super great nice guy because he gave you money I agree with KML, you most definitely deserve, so be it!
You know who you are and what you are capable of. Nothing else matters!