treefmt: migrate to nilla

This commit is contained in:
Nikodem Rabuliński 2025-03-23 20:58:02 +01:00
parent c88daff343
commit cd8fab9174
Signed by: nrabulinski
SSH key fingerprint: SHA256:AZZVyfKStaCo8sbJB+3Rr/CRrlym1oEgw7vMnynJeR8
4 changed files with 35 additions and 33 deletions

View file

@ -29,8 +29,6 @@
]; ];
imports = [ imports = [
inputs.treefmt.flakeModule
./assets ./assets
./hosts ./hosts
./modules ./modules
@ -39,31 +37,7 @@
flake.devShells = transpose (builtins.mapAttrs (_: shell: shell.result) nilla.shells); flake.devShells = transpose (builtins.mapAttrs (_: shell: shell.result) nilla.shells);
flake.packages = transpose (builtins.mapAttrs (_: pkg: pkg.result) nilla.packages); flake.packages = transpose (builtins.mapAttrs (_: pkg: pkg.result) nilla.packages);
flake.formatter = nilla.packages.formatter.result;
perSystem = {
treefmt = {
programs.deadnix.enable = true;
programs.nixfmt.enable = true;
programs.statix.enable = true;
programs.fish_indent.enable = true;
programs.deno.enable = true;
programs.stylua.enable = true;
programs.shfmt.enable = true;
settings.global.excludes = [
# agenix
"*.age"
# racket
"*.rkt"
"**/rashrc"
# custom assets
"*.png"
"*.svg"
];
settings.on-unmatched = "fatal";
};
};
}; };
inputs = { inputs = {

View file

@ -1,12 +1,7 @@
{ lib }: { lib }:
{ {
config.builders.custom-load = { config.builders.custom-load = {
settings.type = lib.types.submodule { settings.type = lib.types.submodule { };
options.args = lib.options.create {
type = lib.types.null;
default.value = null;
};
};
settings.default = { }; settings.default = { };
build = pkg: lib.attrs.generate pkg.systems (system: pkg.package { inherit system; }); build = pkg: lib.attrs.generate pkg.systems (system: pkg.package { inherit system; });
}; };

View file

@ -61,6 +61,16 @@
]; ];
} }
); );
formatter = {
inherit systems;
builder = "custom-load";
package =
{ system }:
let
eval = inputs.treefmt.lib.evalModule inputs.nixpkgs.legacyPackages.${system} ./treefmt.nix;
in
eval.config.build.wrapper;
};
}; };
config.shells.default = { config.shells.default = {

23
treefmt.nix Normal file
View file

@ -0,0 +1,23 @@
{
projectRootFile = "nilla.nix";
programs.deadnix.enable = true;
programs.nixfmt.enable = true;
programs.statix.enable = true;
programs.fish_indent.enable = true;
programs.deno.enable = true;
programs.stylua.enable = true;
programs.shfmt.enable = true;
settings.global.excludes = [
# agenix
"*.age"
# racket
"*.rkt"
"**/rashrc"
# custom assets
"*.png"
"*.svg"
];
settings.on-unmatched = "fatal";
}