all repos — website @ 8469992f30544606151e200378afceb880843623

My website

add pre-commit hooks

Alan Pearce
commit

8469992f30544606151e200378afceb880843623

parent

c8c7dd2a02eb145632b04d2710d297bd6af63a94

1 file changed, 24 insertions(+), 1 deletion(-)

changed files
M flake.nixflake.nix
@@ -11,8 +11,9 @@ url = "github:tweag/gomod2nix";
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 @@ packages = commonShellPackages;
}; default = pkgs.mkShell { inputsFrom = [ packages.builder ]; + inherit (self.checks.${system}.pre-commit-check) shellHook; packages = with pkgs; [ gopls gotools
@@ -54,6 +56,27 @@ hyperlink = pkgs.runCommandLocal "hyperlink" { } ''
${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; + }; + }; + }; }; }); }