nixos/treefmt.nix

47 lines
1.3 KiB
Nix

{
perSystem = {lib, ...}: {
treefmt = {
programs = {
alejandra = {
enable = true;
excludes = ["_sources/*.nix"];
};
oxfmt = let
oxfmtConfig = with lib;
pipe ./.oxfmtrc.json [builtins.readFile builtins.fromJSON];
in {
enable = true;
includes = ["*.json" "*.md" "*.toml" "*.yaml"];
excludes = oxfmtConfig.ignorePatterns;
};
just = {
enable = true;
includes = [".justfile"];
};
typos = let
config = with lib;
pipe ./.typos.toml [builtins.readFile 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;
};
};
};
};
}