let pkgs = import {}; hsEnv = pkgs.haskellPackages.ghcWithPackages (hsPkgs : with hsPkgs; [ mtl ]); in pkgs.myEnvFun { name = "hack"; buildInputs = with pkgs; [ hsEnv ]; # XXX https://nixos.org/wiki/Haskell says: # Since tools (such as hdevtools [snap-loader-dynamic in our case]) that # rely on the ghc-api to do haskell language manipulation are sensitive # to nix-wrapping of ghc, we need the extraCmds line to ensure the # proper ghc-wrapping environment variables are set inside the # dev-environment shell. extraCmds = '' $(grep export ${hsEnv.outPath}/bin/ghc) ''; }