ALPHA: wire is a tool to deploy nixos systems wire.althaea.zone/
at trunk 68 lines 1.6 kB view raw
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}