]> Git — Sourcephile - sourcephile-web.git/blob - default.nix
add Hakyll experiments
[sourcephile-web.git] / default.nix
1 { pkgs ? import <nixpkgs> {}
2 , ghc ? null
3 , withHoogle ? false
4 }:
5 let
6 haskellPackages =
7 if ghc == null
8 then pkgs.haskellPackages
9 else pkgs.haskell.packages.${ghc};
10 hs = haskellPackages.extend (with pkgs.haskell.lib;
11 hself: hsuper: {
12 #hakyll = unmarkBroken hsuper.hakyll;
13 hakyll = hself.callHackage "hakyll" "4.13.4.1" {};
14 #hakyll-sass = unmarkBroken hsuper.hakyll-sass;
15 hakyll-sass = hself.callHackage "hakyll-sass" "0.2.4" {};
16 # hakyll 4.13.4 requires pandoc 2.10
17 pandoc = hself.callHackage "pandoc" "2.10.1" {};
18 pandoc-types = hself.callHackage "pandoc-types" "1.21" {};
19 skylighting = hself.callHackage "skylighting" "0.8.5" {};
20 skylighting-core = hself.callHackage "skylighting-core" "0.8.5" {};
21 /*
22 hakyll = appendConfigureFlags ((hself.callHackage "hakyll" "4.13.4.1" {}))
23 ["-f-usePandoc" "-f-previewServer" "-f-watchServer"];
24 pandoc-sidenote = null;
25 sourcephile_web = hself.callPackage ./sourcephile_web.nix {};
26 */
27 } //
28 packageSourceOverrides {
29 sourcephile_web = ./.;
30 #sourcephile_web = ./sourcephile_web.nix;
31 } hself hsuper
32 );
33 in hs.sourcephile_web // {
34 shell = hs.shellFor {
35 packages = p: [ p.sourcephile_web ];
36 nativeBuildInputs = [
37 hs.cabal-install
38 #hs.hpack
39 hs.haskell-language-server
40 #hs.hpc
41 ];
42 buildInputs = [
43 #hs.ghcid
44 #hs.ormolu
45 #hs.hlint
46 #pkgs.nixpkgs-fmt
47 ];
48 inherit withHoogle;
49 };
50 }