Add support for `CABAL_PROJECT_FILE` environment variable
The v2 API of Cabal uses cabal.project files to specify configuration, but this file currently has to be supplied through the --project-file flag.
This is painful as new-config doesn't persist this flag so the user has to supply it on each invocation of new-build. Environment variables are also easier to set from "virtual environment" providing tools like nix-shell.
My specific usecase is having a default cabal.project containing source-repository-package sections which is used for a normal cabal-resolved build, while at the same time having a second cabal.project file in a different folder having no such references since all the package overrides would be handled by Nix (see note in my haskell nix tutorial).
I am willing to implement it myself (or at least try).
I love this idea. We can set the env in the nix file or in a .env with an .envrc with use env.
How far has it got?
@danwdart seems like nowhere but it did sound like a good feature to have