ALPHA: wire is a tool to deploy nixos systems
wire.althaea.zone/
1{
2 perSystem =
3 {
4 toolchain,
5 config,
6 lib,
7 pkgs,
8 ...
9 }:
10 {
11 pre-commit = {
12 settings = {
13 hooks = {
14 statix.enable = true;
15 deadnix = {
16 enable = true;
17 settings.edit = true;
18 };
19 zizmor.enable = true;
20 clippy = {
21 enable = true;
22 settings.extraArgs = "--tests";
23 packageOverrides = {
24 inherit (toolchain) cargo clippy;
25 };
26 };
27 ruff.enable = true;
28 cargo-check = {
29 enable = true;
30 package = toolchain.cargo;
31 };
32 fmt = {
33 enable = true;
34 name = "nix fmt";
35 entry = "${lib.getExe config.formatter} --no-cache";
36 };
37 ty = {
38 enable = true;
39 name = "ty check";
40 files = "\\.py$";
41 entry = lib.getExe (
42 pkgs.writeShellScriptBin "ty-check" ''
43 cd tests/nix
44 ${lib.getExe pkgs.uv} run ty check
45 ''
46 );
47 };
48 machete = {
49 enable = true;
50 name = "cargo-machete";
51 files = "\\.(rs|toml)$";
52 entry = lib.getExe pkgs.cargo-machete;
53 };
54 typos = {
55 enable = true;
56 settings = {
57 configPath = "typos.toml";
58 };
59 };
60
61 };
62
63 };
64
65 };
66 };
67
68}