2025-06-09 16:14:57 +08:00
|
|
|
{
|
2025-11-09 06:25:03 +08:00
|
|
|
perSystem = {
|
|
|
|
|
pkgs,
|
|
|
|
|
lib,
|
|
|
|
|
...
|
|
|
|
|
}: {
|
|
|
|
|
treefmt = {
|
|
|
|
|
programs = {
|
|
|
|
|
alejandra = {
|
|
|
|
|
enable = true;
|
|
|
|
|
excludes = ["_sources/*.nix"];
|
|
|
|
|
};
|
|
|
|
|
biome = {
|
|
|
|
|
enable = true;
|
|
|
|
|
includes = ["*.json"];
|
|
|
|
|
excludes = ["_sources/*.json"];
|
|
|
|
|
settings = {
|
|
|
|
|
javascript.formatter.enabled = false;
|
|
|
|
|
css.formatter.enabled = false;
|
2025-06-09 16:14:57 +08:00
|
|
|
};
|
2025-11-09 06:25:03 +08:00
|
|
|
};
|
|
|
|
|
dprint = {
|
|
|
|
|
enable = true;
|
|
|
|
|
includes = [
|
|
|
|
|
"*.md"
|
|
|
|
|
"*.toml"
|
|
|
|
|
"*.yaml"
|
|
|
|
|
];
|
|
|
|
|
excludes = ["secrets/*.yaml"];
|
|
|
|
|
settings = {
|
|
|
|
|
plugins = pkgs.dprint-plugins.getPluginList (
|
|
|
|
|
plugins:
|
|
|
|
|
with plugins; [
|
2025-07-13 06:04:55 +08:00
|
|
|
dprint-plugin-toml
|
|
|
|
|
dprint-plugin-markdown
|
|
|
|
|
g-plane-pretty_yaml
|
|
|
|
|
]
|
2025-11-09 06:25:03 +08:00
|
|
|
);
|
2025-07-13 06:04:55 +08:00
|
|
|
};
|
2025-11-09 06:25:03 +08:00
|
|
|
};
|
|
|
|
|
just = {
|
|
|
|
|
enable = true;
|
|
|
|
|
includes = [".justfile"];
|
|
|
|
|
};
|
|
|
|
|
typos = let
|
|
|
|
|
config = with lib;
|
|
|
|
|
pipe ./.typos.toml [
|
|
|
|
|
builtins.readFile
|
|
|
|
|
builtins.fromTOML
|
|
|
|
|
];
|
|
|
|
|
in {
|
|
|
|
|
enable = true;
|
|
|
|
|
includes = ["*"];
|
|
|
|
|
excludes = ["assets/*"] ++ config.files.extend-exclude;
|
|
|
|
|
configFile = toString ./.typos.toml;
|
|
|
|
|
# Disable all extra option in treefmt module.
|
|
|
|
|
# Use config file.
|
|
|
|
|
sort = false;
|
|
|
|
|
isolated = false;
|
|
|
|
|
hidden = false;
|
|
|
|
|
noIgnore = false;
|
|
|
|
|
noIgnoreDot = false;
|
|
|
|
|
noIgnoreGlobal = false;
|
|
|
|
|
noIgnoreParent = false;
|
|
|
|
|
noIgnoreVCS = false;
|
|
|
|
|
binary = false;
|
|
|
|
|
noCheckFilenames = false;
|
|
|
|
|
noCheckFiles = false;
|
|
|
|
|
noUnicode = false;
|
2025-06-09 16:14:57 +08:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-11-09 06:25:03 +08:00
|
|
|
};
|
2025-06-09 16:14:57 +08:00
|
|
|
}
|