{ nixpkgs }:
with nixpkgs;
let
  ghc = pkgs.haskell.packages.ghc844.ghcWithPackages (hp: with hp; [
    blaze-html
    blaze-markup
    bytestring
    MonadRandom
    random
    scotty
    shakespeare
    text
  ]);
  entrypoint = "Ibb";
in
stdenv.mkDerivation rec {
  name = "ibb";
  version = "0";
  src = ../.;
  nativeBuildInputs = [
    ghc
  ];
  strictDeps = true;
  buildPhase = ''
    ${ghc}/bin/ghc -iapex -ilore \
      -main-is ${entrypoint} --make apex/${entrypoint}.hs \
      -o bild/${name}
  '';
  installPhase = ''
    mkdir -p $out/bin
    cp bild/${name} $out/bin/${name}
  '';
}