clan-core/formatter.nix

72 lines
1.9 KiB
Nix
Raw Permalink Normal View History

2024-07-08 14:05:15 +00:00
{ inputs, ... }:
2024-03-17 18:48:49 +00:00
{
imports = [ inputs.treefmt-nix.flakeModule ];
perSystem =
{ self', pkgs, ... }:
{
2024-07-09 11:49:42 +00:00
treefmt.projectRootFile = ".git/config";
2024-03-17 18:48:49 +00:00
treefmt.programs.shellcheck.enable = true;
2023-08-23 10:32:06 +00:00
2024-03-17 18:48:49 +00:00
treefmt.programs.mypy.enable = true;
2024-07-08 14:05:15 +00:00
treefmt.programs.nixfmt.enable = true;
treefmt.programs.nixfmt.package = pkgs.nixfmt-rfc-style;
treefmt.programs.deadnix.enable = true;
2024-08-02 16:56:53 +00:00
treefmt.settings.global.excludes = [
"*.png"
"*.jpeg"
"*.gitignore"
".vscode/*"
"*.toml"
"*.clan-flake"
"*.code-workspace"
"*.pub"
"*.typed"
"*.age"
"*.list"
"*.desktop"
];
treefmt.programs.prettier = {
enable = true;
includes = [
"*.cjs"
"*.css"
"*.html"
"*.js"
"*.json5"
"*.jsx"
"*.mdx"
"*.mjs"
"*.scss"
"*.ts"
"*.tsx"
"*.vue"
"*.yaml"
"*.yml"
];
};
treefmt.programs.mypy.directories =
{
2024-08-22 11:38:42 +00:00
"pkgs/clan-cli".extraPythonPackages = self'.packages.clan-cli.testDependencies;
"pkgs/clan-app" = {
extraPythonPackages =
(self'.packages.clan-app.externalTestDeps or [ ]) ++ self'.packages.clan-cli.testDependencies;
2024-08-15 15:11:43 +00:00
extraPythonPaths = [ "../clan-cli" ];
};
}
// (
if pkgs.stdenv.isLinux then
{
"pkgs/clan-vm-manager" = {
extraPythonPackages =
self'.packages.clan-vm-manager.externalTestDeps ++ self'.packages.clan-cli.testDependencies;
2024-08-15 15:11:43 +00:00
extraPythonPaths = [ "../clan-cli" ];
};
}
else
{ }
);
2024-07-08 14:05:15 +00:00
treefmt.programs.ruff.check = true;
treefmt.programs.ruff.format = true;
2023-07-21 09:21:09 +00:00
};
}