Specifying project-wide tools for cabal project?

Hello,

I would like to be able to specify tools such as ormolu and cabal-hoogle for a cabal project, such that running

cabal freeze

picks a build plan that also includes the appropriate versions of said tools.

In essence, is there a project-wide version of the build-tool-depends package field?

Nothing like that exists afaik. The extra-packages field was at some point supposed to be something like that, but nobody figured out exactly what the semantics would be. Cabal projects don’t have any mechanism for bringing executables into scope – although perhaps in the future we could add something that forced them to be brought into scope under a cabal run environment or the like.

2 Likes

I would use nixpkgs in this case. Since it is the best tool for the job: repeatable configuration with a large package set.

2 Likes