Skip to content

Commit 670eb8f

Browse files
committed
refactor(nix): use pre-commit-hooks flake-parts module and treefmt
1 parent 9dc7d10 commit 670eb8f

File tree

6 files changed

+64
-15
lines changed

6 files changed

+64
-15
lines changed

flake-parts/devshell/default.nix

+5-8
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
inputs',
1313
self',
1414
...
15-
}: let
16-
pre-commit-check = import ./pre_commit.nix inputs system;
17-
in rec {
15+
}: {
1816
devShells = {
1917
default = pkgs.mkShell {
2018
buildInputs = with pkgs; [
@@ -41,12 +39,11 @@
4139

4240
inputs'.lockpad.packages.cli
4341
];
44-
inherit (pre-commit-check) shellHook;
45-
};
46-
};
4742

48-
checks = {
49-
pre-commit = pre-commit-check;
43+
shellHook = ''
44+
${config.pre-commit.installationScript}
45+
'';
46+
};
5047
};
5148
};
5249
}

flake-parts/devshell/pre_commit.nix

-7
This file was deleted.

flake-parts/formatting.nix

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
inputs,
3+
self,
4+
...
5+
}: {
6+
perSystem = {
7+
pkgs,
8+
lib,
9+
...
10+
}: let
11+
formatters = [
12+
pkgs.alejandra
13+
];
14+
15+
treefmt = pkgs.writeShellApplication {
16+
name = "treefmt";
17+
runtimeInputs = [pkgs.treefmt] ++ formatters;
18+
text = ''
19+
exec treefmt "$@"
20+
'';
21+
};
22+
in {
23+
packages = {
24+
inherit treefmt;
25+
};
26+
27+
legacyPackages = {
28+
inherit formatters;
29+
};
30+
};
31+
}

flake-parts/pre-commit.nix

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
inputs,
3+
self,
4+
...
5+
}: {
6+
perSystem = {self', ...}: let
7+
in {
8+
pre-commit = {
9+
check.enable = true;
10+
11+
settings = {
12+
src = ../.;
13+
hooks = {
14+
treefmt.enable = true;
15+
};
16+
17+
settings.treefmt.package = self'.packages.treefmt;
18+
};
19+
};
20+
};
21+
}

flake.nix

+4
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@
116116
./terraform/modules
117117

118118
./nomad
119+
120+
./flake-parts/pre-commit.nix
121+
./flake-parts/formatting.nix
122+
inputs.pre-commit-hooks.flakeModule
119123
];
120124
};
121125
}

treefmt.toml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[formatter.nix]
2+
command = "alejandra"
3+
includes = ["*.nix"]

0 commit comments

Comments
 (0)