flake-template-hell/templates/haskell/flake.nix

30 lines
863 B
Nix
Raw Normal View History

2024-09-07 16:33:54 +01:00
{
2024-12-04 17:35:06 +00:00
description = "Haskell Project Template";
2024-09-07 16:33:54 +01:00
inputs = {
2024-12-04 17:35:06 +00:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
2024-09-07 16:33:54 +01:00
treefmt.url = "github:numtide/treefmt-nix";
};
2024-12-04 17:35:06 +00:00
outputs = inputs @ {nixpkgs, ...}: let
inherit (nixpkgs) lib;
systems = ["x86_64-linux"];
forAllSystems = f:
lib.genAttrs systems (
system:
2024-09-07 16:33:54 +01:00
f {
pkgs = import nixpkgs {
inherit system;
};
}
2024-12-04 17:35:06 +00:00
);
treefmtEval = forAllSystems ({pkgs}: inputs.treefmt.lib.evalModule pkgs ./flake/treefmt.nix);
in {
packages = forAllSystems ({pkgs}: {
default = pkgs.callPackage ./flake/package.nix {};
});
devShells = forAllSystems ({pkgs}: {
default = pkgs.callPackage ./flake/shell.nix {};
});
formatter = forAllSystems ({pkgs}: treefmtEval.${pkgs.system}.config.build.wrapper);
};
2024-09-07 16:33:54 +01:00
}