{ pkgs, ... }: { # Used to find the project root projectRootFile = ".git/config"; package = pkgs.treefmt2; programs = { deadnix.enable = true; hclfmt.enable = true; nixpkgs-fmt.enable = true; prettier.enable = true; ruff.check = true; ruff.format = true; statix.enable = true; }; programs.mypy = { enable = true; directories = { "tasks" = { directory = "."; files = [ "*tasks.py" ]; modules = [ ]; extraPythonPackages = [ pkgs.python3.pkgs.deploykit pkgs.python3.pkgs.invoke ]; }; }; }; settings.global.excludes = [ # vendored from external source "hosts/build02/packages-with-update-script.nix" ]; settings.formatter = { actionlint = { command = pkgs.actionlint; includes = [ ".github/workflows/*.yml" ]; }; editorconfig-checker = { command = pkgs.editorconfig-checker; includes = [ "*" ]; excludes = [ "*.age" ]; priority = 9; # last }; # nix deadnix.priority = 1; statix.priority = 2; nixpkgs-fmt.priority = 3; # python ruff-check.priority = 1; ruff-format.priority = 2; mypy-tasks.priority = 3; prettier = { options = [ "--write" "--prose-wrap" "never" ]; excludes = [ "*secrets.yaml" ]; }; }; }