This is primarily useful in Nix expressions that are also intended to
be used by nix-shell. It allows saying things like:
buildInputs = [ ... ] ++ (if inNixShell then [ emacs ] else [ ]);
This should not be used in Nixpkgs (since the question of what
constitutes a useful nix-shell environment is very subjective).