mfgames-project-setup-flake/src/configs/treefmt.nix

59 lines
1.3 KiB
Nix

inputs @ { pkgs, dotnet, rust, ... }:
let
data = {
formatter = {
nix = {
command = "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt";
includes = [ "*.nix" ];
};
prettier = {
command = "${pkgs.nodePackages.prettier}/bin/prettier";
options = [ "--write" ];
includes = [
"*.css"
"*.html"
"*.js"
"*.json"
"*.jsx"
"*.md"
"*.mdx"
"*.mjs"
"*.scss"
"*.ts"
"*.yaml"
];
excludes = [ "**.min.js" ];
};
}
// pkgs.lib.attrsets.optionalAttrs dotnet.enable {
csharpier = {
command = "${pkgs.csharpier}/bin/dotnet-csharpier";
includes = [ "*.cs" ];
};
}
// pkgs.lib.attrsets.optionalAttrs dotnet.format {
dotnet-format-style = {
command = "dotnet format style --include";
includes = [ "*.cs" ];
};
dotnet-format-analyzers = {
command = "dotnet format analyzers --include";
includes = [ "*.cs" ];
};
}
// pkgs.lib.attrsets.optionalAttrs rust.enable {
rust = {
command = "rustfmt";
options = [ "--edition" "2021" ];
includes = [ "*.rs" ];
};
};
};
in
{
inherit data;
output = "treefmt.toml";
}