Make pre-commits opt-out instead of opt-in

This commit is contained in:
Nicolas Jeannerod 2025-02-19 18:42:30 +01:00 committed by Valentin Gagarin
parent 3ec09b491d
commit 142af8d0ee

View file

@ -41,34 +41,24 @@
formatter = pkgs.nixfmt-rfc-style;
pre-commit.settings.hooks =
## Not everybody might want pre-commit hooks, so we make them
## opt-in. Maybe one day we will decide to have them everywhere.
let
inherit (builtins) concatStringsSep;
optin = [
"deployment"
"infra"
"keys"
"matrix"
"secrets"
"services"
"panel"
"website"
];
files = "^((" + concatStringsSep "|" optin + ")/.*\\.nix|[^/]*\\.nix)$";
## Add a directory here if pre-commit hooks shouldn't apply to it.
optout = [ "npins" ];
excludes = map (dir: "^${dir}/") optout;
in
{
nixfmt-rfc-style = {
enable = true;
inherit files;
inherit excludes;
};
deadnix = {
enable = true;
inherit files;
inherit excludes;
};
trim-trailing-whitespace = {
enable = true;
inherit files;
files = "\\.nix$";
inherit excludes;
};
};