Yeah, the whole X + Unity stack is mind-bogglingly complex, and nvidia is a pain. Their driver is proprietary, so you have to use all of their custom configuration tools to make everything work, and whoopdedoo, their configuration tools are crap.
It took me about two hours to set up XMonad, and about an hour to tweak it to my liking. I haven't touched it in a year. AND since its configuration is stored in a file in my home directory like everything else, and not some random keys in gconf, I can link it into my Dropbox, and persist it across reinstalls. I've switched computers twice - it takes me about an hour to set up my whole environment.