You can find a tweaked version of hsenv here: I've relaxed some requirements in order to make it install on newer GHC releases.
Finally, if when using you hit this error:
$ hsenv Creating Virtual Haskell directory structure Installing GHC Initializing GHC Package database at /home/lollo/work/Unique/.hsenv/ghc_pkg_db Copying necessary packages from original GHC package database hsenv: fd:9: hGetContents: invalid argument (invalid byte sequence) hsenv: thread blocked indefinitely in an MVar operation
Then, you have a problem with your locale. Follow the steps here, and retry.