| 1 | { inputs, ... }: |
| 2 | { |
| 3 | imports = [ inputs.treefmt-nix.flakeModule ]; |
| 4 | |
| 5 | perSystem = |
| 6 | { lib, pkgs, ... }: |
| 7 | { |
| 8 | treefmt = { |
| 9 | # Used to find the project root |
| 10 | projectRootFile = ".git/config"; |
| 11 | |
| 12 | settings.global.excludes = [ |
| 13 | "*.age" |
| 14 | "non-critical-infra/secrets/*" |
| 15 | ]; |
| 16 | |
| 17 | # older actionlint version don't recognize aarch64 builder |
| 18 | programs.actionlint.enable = lib.versionAtLeast pkgs.actionlint.version "1.7.7"; |
| 19 | programs.deno = { |
| 20 | enable = true; |
| 21 | excludes = [ |
| 22 | # makes these files *less* readable |
| 23 | "dns/*.js" |
| 24 | ]; |
| 25 | }; |
| 26 | programs.terraform.enable = true; |
| 27 | programs.deadnix.enable = true; |
| 28 | programs.nixfmt.enable = true; |
| 29 | programs.ruff-format.enable = true; |
| 30 | programs.ruff-check.enable = true; |
| 31 | |
| 32 | programs.shellcheck.enable = true; |
| 33 | |
| 34 | programs.shfmt.enable = true; |
| 35 | programs.rustfmt.enable = true; |
| 36 | }; |
| 37 | }; |
| 38 | } |