{ pkgs ? import ./nix/pkgs.nix {} }:
let
  ghc = import ./nix/ghc924.nix pkgs;
  haskellDeps = import ./nix/haskell-deps.nix;

  tools = with pkgs; [
    # nix tools
    niv
    nix-tree

    # haskell tools
    stack
    (ghc.ghcWithPackages haskellDeps)
    
    # elm tools
    elmPackages.elm
  ];
in
  pkgs.mkShellNoCC {
    buildInputs = tools;
  }