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.