43 lines
792 B
Nix
43 lines
792 B
Nix
{
|
|
nixpkgs,
|
|
git-hooks,
|
|
system,
|
|
src,
|
|
}:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
|
|
pre-commit-check = git-hooks.lib.${system}.run {
|
|
inherit src;
|
|
|
|
default_stages = [ "pre-commit" ];
|
|
|
|
hooks = {
|
|
nixfmt = {
|
|
enable = true;
|
|
package = pkgs.nixfmt;
|
|
};
|
|
statix.enable = true;
|
|
deadnix.enable = true;
|
|
|
|
flake-check = {
|
|
enable = true;
|
|
entry = "${pkgs.lib.getExe pkgs.nix} flake check";
|
|
stages = [ "pre-push" ];
|
|
pass_filenames = false;
|
|
always_run = true;
|
|
};
|
|
};
|
|
};
|
|
in
|
|
{
|
|
checks.pre-commit-check = pre-commit-check;
|
|
|
|
formatter = pkgs.nixfmt-tree;
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
inherit (pre-commit-check) shellHook;
|
|
packages = pre-commit-check.enabledPackages;
|
|
};
|
|
}
|