2025-06-09 16:14:57 +08:00
|
|
|
{
|
2025-07-13 06:04:55 +08:00
|
|
|
perSystem =
|
|
|
|
|
{ pkgs, ... }:
|
|
|
|
|
{
|
|
|
|
|
treefmt = {
|
|
|
|
|
programs = {
|
|
|
|
|
nixfmt = {
|
|
|
|
|
enable = true;
|
|
|
|
|
excludes = [ "_sources/*.nix" ];
|
2025-06-09 16:14:57 +08:00
|
|
|
};
|
2025-07-13 06:04:55 +08:00
|
|
|
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-07-13 06:04:55 +08:00
|
|
|
dprint = {
|
|
|
|
|
enable = true;
|
|
|
|
|
includes = [
|
|
|
|
|
"*.md"
|
|
|
|
|
"*.toml"
|
|
|
|
|
"*.yaml"
|
|
|
|
|
];
|
|
|
|
|
excludes = [ "secrets/*.yaml" ];
|
|
|
|
|
settings = {
|
|
|
|
|
plugins = pkgs.dprint-plugins.getPluginList (
|
|
|
|
|
plugins: with plugins; [
|
|
|
|
|
dprint-plugin-toml
|
|
|
|
|
dprint-plugin-markdown
|
|
|
|
|
g-plane-pretty_yaml
|
|
|
|
|
]
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
just = {
|
|
|
|
|
enable = true;
|
|
|
|
|
includes = [ ".justfile" ];
|
|
|
|
|
};
|
|
|
|
|
typos =
|
|
|
|
|
let
|
|
|
|
|
config = ./.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
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|