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