Sort:  

A good guy is genuine in all that he does, doesn't look for fame, and makes his intentions known.

A nice guy does things just to get noticed and is all "look at me! Look at how virtuous I am" and gets ignored and walked all over.