Package environments are files with package IDs that indicate which packages should be visible; see entry in user guide for details.
Note, we're deliberately not creating a ~/.ghc/$ver/environments/default file. This system will be opt-in intially while we experiment with the Cabal side of things. So it should not affect any existing users.
Ultimetely, the intention is that users will use cabal to manage their environment, and ghc will just follow the instructions. So ghc provides the mechanism (this patch) and cabal will provide the policy/management.