diff options
author | Qyriad <qyriad@qyriad.me> | 2024-05-06 22:50:32 -0600 |
---|---|---|
committer | Qyriad <qyriad@qyriad.me> | 2024-05-07 12:38:01 -0600 |
commit | 4f98d21b71d02c09cab9df9778fcc03df4bcbd4e (patch) | |
tree | 57ec5c120ac8995d09af7763697d2bc3524970f1 /flake.nix | |
parent | 964ac8b0e88fb5789b87e33273e42363958d0afb (diff) |
flake: move the pre-commit definition to its own file
It's a good hundred LOC, and wasn't coupled to the actual flake logic at
all.
Change-Id: Iebb4667b3197dbd8cb2b019014e99fa651848832
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 83 |
1 files changed, 1 insertions, 82 deletions
@@ -286,89 +286,8 @@ system: let pkgs = nixpkgsFor.${system}.native; - # Import pre-commit bypassing the flake because flakes don't let - # you have overlays. Also their implementation forces an - # unnecessary reimport of nixpkgs for our use cases. - tools = import (pre-commit-hooks + "/nix/call-tools.nix") pkgs; - pre-commit-run = pkgs.callPackage (pre-commit-hooks + "/nix/run.nix") { - inherit tools; - isFlakes = true; - # unused! - gitignore-nix-src = builtins.throw "gitignore-nix-src is unused"; - }; in - pre-commit-run { - src = self; - hooks = { - no-commit-to-branch = { - enable = true; - settings.branch = [ "main" ]; - }; - check-case-conflicts.enable = true; - check-executables-have-shebangs = { - enable = true; - stages = [ "commit" ]; - }; - check-shebang-scripts-are-executable = { - enable = true; - stages = [ "commit" ]; - }; - check-symlinks = { - enable = true; - excludes = [ "^tests/functional/lang/symlink-resolution/broken$" ]; - }; - check-merge-conflicts.enable = true; - end-of-file-fixer = { - enable = true; - excludes = [ - "\\.drv$" - "^tests/functional/lang/" - ]; - }; - mixed-line-endings = { - enable = true; - excludes = [ "^tests/functional/lang/" ]; - }; - release-notes = { - enable = true; - package = pkgs.build-release-notes; - files = "^doc/manual/rl-next(-dev)?"; - pass_filenames = false; - entry = '' - ${lib.getExe pkgs.build-release-notes} doc/manual/rl-next doc/manual/rl-next-dev - ''; - }; - check-headers = { - enable = true; - package = pkgs.check-headers; - files = "^src/"; - types = [ - "c++" - "file" - "header" - ]; - # generated files; these will never actually be seen by this - # check, and are left here as documentation - excludes = [ - "(parser|lexer)-tab\\.hh$" - "\\.gen\\.hh$" - ]; - entry = lib.getExe pkgs.check-headers; - }; - # TODO: Once the test suite is nicer, clean up and start - # enforcing trailing whitespace on tests that don't explicitly - # check for it. - trim-trailing-whitespace = { - enable = true; - stages = [ "commit" ]; - excludes = [ "^tests/functional/lang/" ]; - }; - treefmt = { - enable = true; - settings.formatters = [ pkgs.nixfmt ]; - }; - }; - } + import ./misc/pre-commit.nix { inherit self pkgs pre-commit-hooks; } ); }; |