The generated shell.nix file accepts a string argument called "compiler" that
determines the package set used to instantiate the generated expression. For
example, running "nix-shell --argstr compiler ghc7102" would evaluate the build
inside of "pkgs.haskell.packages.ghc7102". Earlier versions of cabal2nix had the
current default compiler hard-coded in the expression, but after this change this
is no longer the case. When "compiler" remains unspecified, it defaults to
"default", and this value causes evaluation in "pkgs.haskellPackages", which is
the package set most people would like to use by default. That change has to
benefits:
1) Generated expression no longer contain any particular compiler version. The
choice of the default compiler depends on the version of Nixpkgs that's used
to build the expression.
2) When the default compiler is used, overrides configured for the default
package set apply, which was not the case in earlier versions.