feat(nix): add style tooling

This commit was merged in pull request #52.
This commit is contained in:
2026-09-16 00:13:28 -04:00
parent 5d40b43dd9
commit d24f58a4c9
7 changed files with 91 additions and 7 deletions

28
src/dotfiles/apps.nix Normal file
View File

@@ -0,0 +1,28 @@
{
inputs,
lib,
formatter,
system,
}:
let
pkgs = inputs.nixpkgs.legacyPackages.${system};
in
{
fix = {
type = "app";
program = lib.getExe (pkgs.writeShellApplication {
name = "fix";
runtimeInputs = [
formatter.config.build.wrapper
pkgs.statix
pkgs.deadnix
];
text = ''
treefmt
statix fix .
deadnix --edit --exclude configs/nixos/hosts/*/hardware-configuration.nix -- .
treefmt
'';
});
};
}

View File

@@ -3,6 +3,7 @@
inputs,
self,
root,
system,
}:
let
util = import ./util.nix { inherit lib; };
@@ -38,8 +39,23 @@ let
;
registry = registry.collected;
};
formatter = import ./formatter.nix {
inherit inputs system;
};
in
{
formatter.${system} = formatter.config.build.wrapper;
apps.${system} = import ./apps.nix {
inherit
inputs
lib
formatter
system
;
};
nixosConfigurations = import ./hosts.nix {
inherit
inputs

View File

@@ -0,0 +1,10 @@
{ inputs, system }:
inputs.treefmt-nix.lib.evalModule inputs.nixpkgs.legacyPackages.${system} {
projectRootFile = "flake.nix";
programs.nixfmt.enable = true;
settings.formatter.nixfmt.excludes = [
"configs/nixos/hosts/*/hardware-configuration.nix"
];
}