Are `cabal2nix` or `haskell.nix` necessary, or can I just use `ghc` with `make` or a shell script?

What you’ve got here will work for a simple code base or a single Haskell file, but it would likely get annoying with a big project, multiple modules, multiple libraries, etc.

Most Haskell developers like to do day-to-day development with tools like cabal, stack, ghcid, HLS, etc.

In Super-Simple Haskell Development with Nix - #3 by cdepillabout I outline a couple different approaches for Haskell+Nix that you might want to checkout if you start to hit the limits of calling GHC directly.

1 Like