35 lines
912 B
Nix
35 lines
912 B
Nix
|
let sources = import ./nix/sources.nix;
|
||
|
in { compiler ? "ghc8104", 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" ])
|
||
|
];
|
||
|
|
||
|
skeleton-web = hpNew.callCabal2nix "skeleton-web" ./. { };
|
||
|
|
||
|
niv = import sources.niv { };
|
||
|
};
|
||
|
};
|
||
|
|
||
|
project = haskellPackages.skeleton-web;
|
||
|
in {
|
||
|
project = project;
|
||
|
|
||
|
shell = haskellPackages.shellFor {
|
||
|
packages = p: with p; [ project ];
|
||
|
buildInputs = with haskellPackages; [
|
||
|
ghcid # GHCi based IDE
|
||
|
hlint # or ormolu
|
||
|
pkgs.niv # Nix dependency management
|
||
|
];
|
||
|
withHoogle = true;
|
||
|
};
|
||
|
}
|