summaryrefslogtreecommitdiff
path: root/hakyll-nix/shell.nix
blob: 2f4985b06eb996193fcb128a75c2d828f8e0914e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{ nixpkgs ? import <nixpkgs> {}
, compiler ? "default"
, hakyllSrc ? ./defaultsite
, doBenchmark ? false }:

let

  inherit (nixpkgs) pkgs;

  f = import ./default.nix hakyllSrc;

  haskellPackages = if compiler == "default"
                    then pkgs.haskellPackages
                    else pkgs.haskell.packages.${compiler};

  variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id;

  drv = variant (haskellPackages.callPackage f {});

in
  if pkgs.lib.inNixShell then drv.env else drv