hetch/flake.nix
2025-01-16 16:35:36 +00:00

38 lines
971 B
Nix

{
description = "Haskell Project Template";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
treefmt.url = "github:numtide/treefmt-nix";
};
outputs = inputs @ {
self,
nixpkgs,
...
}: let
inherit (nixpkgs) lib;
systems = ["x86_64-linux"];
forAllSystems = f:
lib.genAttrs systems (
system:
f {
pkgs = import nixpkgs {
inherit system;
};
}
);
treefmtEval = forAllSystems ({pkgs}: inputs.treefmt.lib.evalModule pkgs ./flake/treefmt.nix);
in {
packages = forAllSystems (
{pkgs}: {
default = pkgs.callPackage ./flake/package.nix {};
hetch = self.packages.${pkgs.system}.default;
}
);
devShells = forAllSystems (
{pkgs}: {
default = pkgs.callPackage ./flake/shell.nix {};
}
);
formatter = forAllSystems ({pkgs}: treefmtEval.${pkgs.system}.config.build.wrapper);
};
}