
It sounds to me like your life would be a lot easier if you knew about cabal-install's root-cmd configuration parameter! Open your .cabal/config file and uncomment and set:
root-cmd: sudo
I didn't know about this either. As an aside, is the cabal config file documented at all? I haven't been able to find any. That means it's easy to accidentally install everything with no documentation (why is that the default?) or without profiling libs, which will mess you up much later when you want profiling and now dependency checking won't help you reinstall everything. I was trying to turn on --global by default (which is another one of those traps... Setup.hs defaults to global but cabal doesn't... and ~/.cabal is not the most obvious place to look for your installed stuff), but couldn't find a way, and no documentation telling me how. Is there a way? And... is the 'cabal' command supposed to have a man page?