2021-11-03 02:15:15 +00:00
|
|
|
let
|
|
|
|
sources = import ./nix/sources.nix;
|
|
|
|
in
|
2021-11-12 06:30:39 +00:00
|
|
|
{ compiler ? "ghc8104"
|
2021-11-03 02:15:15 +00:00
|
|
|
, pkgs ? import sources.nixpkgs { }
|
|
|
|
}:
|
|
|
|
|
|
|
|
let
|
|
|
|
inherit (pkgs.lib.trivial) flip pipe;
|
|
|
|
inherit (pkgs.haskell.lib) appendPatch appendConfigureFlags;
|
|
|
|
|
|
|
|
haskellPackages = pkgs.haskell.packages.${compiler}.override {
|
|
|
|
overrides = hpNew: hpOld: {
|
|
|
|
hakyll =
|
|
|
|
pipe
|
|
|
|
hpOld.hakyll
|
|
|
|
[ (flip appendPatch ./hakyll.patch)
|
|
|
|
(flip appendConfigureFlags [ "-f" "watchServer" "-f" "previewServer" ])
|
|
|
|
];
|
|
|
|
|
|
|
|
jfdic-web = hpNew.callCabal2nix "jfdic-web" ./. { };
|
|
|
|
|
|
|
|
niv = import sources.niv { };
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
project = haskellPackages.jfdic-web;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
project = project;
|
|
|
|
|
|
|
|
shell = haskellPackages.shellFor {
|
|
|
|
packages = p: with p; [
|
|
|
|
project
|
|
|
|
];
|
2021-11-12 06:30:39 +00:00
|
|
|
buildInputs = with haskellPackages; [
|
|
|
|
ghcid # GHCi based IDE
|
|
|
|
hlint # or ormolu
|
|
|
|
pkgs.niv # Nix dependency management
|
|
|
|
];
|
2021-11-03 02:15:15 +00:00
|
|
|
withHoogle = true;
|
|
|
|
};
|
|
|
|
}
|