aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-06-27 18:31:30 -0700
committerFranck Cuny <franck@fcuny.net>2022-06-28 07:03:26 -0700
commit4500d71f1dc72d4d3315ac8f90ae2f0ae22c7a5b (patch)
treeb9a1e2987eb2bdd84c61ef09bf84260b6f650f81 /flake.nix
parentref(flake): import tools top-level module (diff)
downloadinfra-4500d71f1dc72d4d3315ac8f90ae2f0ae22c7a5b.tar.gz
feat(flake): add pre-commit hooks
And configure them to run nixpkgs-fmt and shellcheck. Change-Id: I0aa2025e368b80c5e7d90a4dc05448494525e31e Reviewed-on: https://cl.fcuny.net/c/world/+/590 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
Diffstat (limited to '')
-rw-r--r--flake.nix29
1 files changed, 29 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
index c043444..e36b4ed 100644
--- a/flake.nix
+++ b/flake.nix
@@ -24,6 +24,17 @@
# We want home-manager to use the same set of nixpkgs as our system.
inputs.nixpkgs.follows = "nixpkgs";
};
+
+ pre-commit-hooks = {
+ type = "github";
+ owner = "cachix";
+ repo = "pre-commit-hooks.nix";
+ ref = "master";
+ inputs = {
+ flake-utils.follows = "futils";
+ nixpkgs.follows = "nixpkgs";
+ };
+ };
};
# Output config, or config for NixOS system
@@ -57,6 +68,22 @@
};
};
+ checks = {
+ pre-commit = inputs.pre-commit-hooks.lib.${system}.run {
+ src = ./.;
+
+ hooks = {
+ nixpkgs-fmt = {
+ enable = true;
+ };
+
+ shellcheck = {
+ enable = true;
+ };
+ };
+ };
+ };
+
# `nix run .#ci.format` formats in current directory!
apps.ci.format = ci.fmt.mkFmtScript self;
@@ -67,6 +94,7 @@
default = pkgs.mkShell {
name = "NixOS-config";
buildInputs = with pkgs; [
+ gitAndTools.pre-commit
nixUnstable
nixfmt
nixpkgs-fmt
@@ -76,6 +104,7 @@
go
gopls
];
+ inherit (self.checks.${system}.pre-commit) shellHook;
};
};
}) // {