{ inputs.nixpkgs.url = "flake:nixpkgs"; outputs = inputs: let pkg = "literate-accounting"; lib = inputs.nixpkgs.lib; forAllSystems = f: lib.genAttrs lib.systems.supported.hydra (system: f rec { inherit system; pkgs = inputs.nixpkgs.legacyPackages.${system}; haskellPackages = pkgs.haskellPackages.extend (with pkgs.haskell.lib; hfinal: hsuper: { ${pkg} = buildFromSdist (hsuper.callCabal2nix pkg ./. {}); #hakyll = hself.callHackage "hakyll" "4.13.4.1" {}; ##hakyll-sass = unmarkBroken hsuper.hakyll-sass; #hakyll-sass = hself.callHackage "hakyll-sass" "0.2.4" {}; ## hakyll 4.13.4 requires pandoc 2.10 #pandoc = hself.callHackage "pandoc" "2.10.1" {}; #pandoc-types = hself.callHackage "pandoc-types" "1.21" {}; #skylighting = hself.callHackage "skylighting" "0.8.5" {}; #skylighting-core = hself.callHackage "skylighting-core" "0.8.5" {}; }); }); in { # nix -L build defaultPackage = forAllSystems ({haskellPackages, ...}: haskellPackages.${pkg}); # nix -L develop devShell = forAllSystems ({pkgs, haskellPackages, ...}: haskellPackages.shellFor { packages = ps: [ ps.${pkg} ]; nativeBuildInputs = [ haskellPackages.cabal-install haskellPackages.fourmolu haskellPackages.ghcid haskellPackages.haskell-language-server haskellPackages.hlint pkgs.git-chglog pkgs.reuse ]; withHoogle = false; }); }; }