FWIW I've run into this one myself, and use (clones, if necessary, of) v1 sandboxes for it currently.
I've also been both bitten by, and helped by, environment files. The former is somewhat nastier, especially if you have multiple versions of ghc around and a given environment file was generated by a different ghc.
I also have a somewhat weird setup, because of how I ended up cobbling this machine together: the global and user package dbs for my default ghc are more or less "owned" by xmonad development, anything else is in v2, a sandbox, or otherwise a different ghc version. Including nix, also operating as a sandbox (that is, I use an alias to set up nix within specific shells, rather than unconditionally loading its config). Plus that "default ghc" is via wrappers around hvr's ghc repos for Ubuntu. Which means I have lots of different ghcs around, depending on which shell window I'm in. Not that I'm expecting anyone to directly support this mess, but environment files seem to play especially badly with multiple ghc versions with different packages installed.