diff --git a/source/recipes/devshell/haskell-flake/flake.nix b/source/recipes/devshell/haskell-flake/flake.nix new file mode 100644 index 0000000..0b86c0f --- /dev/null +++ b/source/recipes/devshell/haskell-flake/flake.nix @@ -0,0 +1,33 @@ +{ + description = "Pandoc build system for maths web"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + haskell-flake.url = "github:srid/haskell-flake"; + pandoc-linear-table.url = "/home/amy/github/pandoc-linear-table"; + pandoc-logic-proof.url = "/home/amy/github/pandoc-logic-proof"; + pandoc-columns.url = "/home/amy/github/pandoc-columns"; + pandoc-query.url = "/home/amy/codeberg/pandoc-query"; + }; + outputs = inputs@{ self, nixpkgs, flake-parts, pandoc-linear-table, pandoc-logic-proof, pandoc-columns, pandoc-query, ... }: + flake-parts.lib.mkFlake { inherit inputs; } { + systems = nixpkgs.lib.systems.flakeExposed; + imports = [ inputs.haskell-flake.flakeModule ]; + + perSystem = { self', pkgs, ... }: { + haskellProjects.default = { + # use my versions of some Haskell pagkages instead of the nixpkgs versions + packages = { + pandoc-linear-table.source = inputs.pandoc-linear-table; + pandoc-logic-proof.source = inputs.pandoc-logic-proof; + pandoc-columns.source = inputs.pandoc-columns; + pandoc-query.source = inputs.pandoc-query; + }; + }; + + # haskell-flake doesn't set the default package, but you can do it here. + packages.default = self'.packages.pandoc-maths-web; + }; + }; +}