Real world Haskell practices
"Install the most recent versions of cabal-install
Don't install things with --global
Make sure $HOME/.cabal/bin is at the front of your path
Don't be afraid to use rm -fr ~/.ghc
Use ghc-pkg for fine-grained package control
Use 'cabal unpack' to download upstream code so you can fix things yourself"
I would only add: use cabal-dev if possible.