]> Git — Sourcephile - haskell/literate-accounting.git/blob - flake.nix
wip
[haskell/literate-accounting.git] / flake.nix
1 {
2 inputs.nixpkgs.url = "flake:nixpkgs";
3 outputs = inputs: let
4 pkg = "literate-accounting";
5 lib = inputs.nixpkgs.lib;
6 forAllSystems = f: lib.genAttrs lib.systems.supported.hydra (system: f rec {
7 inherit system;
8 pkgs = inputs.nixpkgs.legacyPackages.${system};
9 haskellPackages = pkgs.haskellPackages.extend (with pkgs.haskell.lib; hfinal: hsuper: {
10 ${pkg} = buildFromSdist (hsuper.callCabal2nix pkg ./. {});
11 #hakyll = hself.callHackage "hakyll" "4.13.4.1" {};
12 ##hakyll-sass = unmarkBroken hsuper.hakyll-sass;
13 #hakyll-sass = hself.callHackage "hakyll-sass" "0.2.4" {};
14 ## hakyll 4.13.4 requires pandoc 2.10
15 #pandoc = hself.callHackage "pandoc" "2.10.1" {};
16 #pandoc-types = hself.callHackage "pandoc-types" "1.21" {};
17 #skylighting = hself.callHackage "skylighting" "0.8.5" {};
18 #skylighting-core = hself.callHackage "skylighting-core" "0.8.5" {};
19 });
20 });
21 in {
22 # nix -L build
23 defaultPackage = forAllSystems ({haskellPackages, ...}: haskellPackages.${pkg});
24 # nix -L develop
25 devShell = forAllSystems ({pkgs, haskellPackages, ...}:
26 haskellPackages.shellFor {
27 packages = ps: [ ps.${pkg} ];
28 nativeBuildInputs = [
29 haskellPackages.cabal-install
30 haskellPackages.fourmolu
31 haskellPackages.ghcid
32 haskellPackages.haskell-language-server
33 haskellPackages.hlint
34 pkgs.git-chglog
35 pkgs.reuse
36 ];
37 withHoogle = false;
38 });
39 };
40 }