From 8469992f30544606151e200378afceb880843623 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 23 May 2024 03:33:23 +0200 Subject: add pre-commit hooks --- flake.nix | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index 85f7915..bf5695f 100644 --- a/flake.nix +++ b/flake.nix @@ -11,8 +11,9 @@ inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "utils"; }; + inputs.pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; - outputs = { self, nixpkgs, utils, gomod2nix, ... }: + outputs = { self, nixpkgs, utils, gomod2nix, pre-commit-hooks, ... }: utils.lib.eachDefaultSystem (system: let @@ -37,6 +38,7 @@ }; default = pkgs.mkShell { inputsFrom = [ packages.builder ]; + inherit (self.checks.${system}.pre-commit-check) shellHook; packages = with pkgs; [ gopls gotools @@ -54,6 +56,27 @@ ${pkgs.hyperlink}/bin/hyperlink ${packages.website}/website/public touch $out ''; + pre-commit-check = pre-commit-hooks.lib.${system}.run { + src = ./.; + hooks = { + go-mod-tidy = { + enable = true; + name = "go-mod-tidy"; + description = "Run `go mod tidy`"; + types_or = [ "go" "go-mod" ]; + entry = "${pkgs.go}/bin/go mod tidy"; + pass_filenames = false; + }; + gomod2nix = { + enable = true; + name = "gomod2nix"; + description = "Import go.mod updates to nix"; + types_or = [ "go-sum" ]; + entry = "${pkgs.gomod2nix}/bin/gomod2nix"; + pass_filenames = false; + }; + }; + }; }; }); } -- cgit 1.4.1