feat(flake): switch to treefmt-nix #108

Merged
jalil merged 1 commit from use-treefmt-nix into main 2024-10-15 22:22:55 +02:00
4 changed files with 22 additions and 32 deletions

View file

@ -1,26 +0,0 @@
{ lib, ... }:
{
perSystem =
{ pkgs, self', ... }:
{
checks =
let
src = builtins.path {
path = ../.;
name = "configuration.nix";
};
runCmdInSrc =
name: cmd:
pkgs.runCommandNoCC name { } ''
cd ${src}
${cmd}
mkdir $out
'';
in
{
fmt = runCmdInSrc "fmt-src" "${lib.getExe self'.formatter} --check .";
lint = runCmdInSrc "lint-src" "${lib.getExe pkgs.statix} check .";
typos = runCmdInSrc "typos-src" "${lib.getExe pkgs.typos} .";
};
};
}

View file

@ -4,7 +4,8 @@ let
in
{
imports = [
./checks.nix
inputs.treefmt-nix.flakeModule
./devshells.nix
./docs.nix
./example-vm.nix
@ -15,11 +16,19 @@ in
];
perSystem =
{ system, pkgs, ... }:
{ system, ... }:
{
_module.args.pkgs = import inputs.nixpkgs { inherit system overlays; };
# Nix files formatter (run `nix fmt`)
formatter = pkgs.nixfmt-rfc-style;
# Setup formatters
treefmt = {
projectRootFile = "flake.nix";
programs = {
nixfmt.enable = true;
rustfmt.enable = true;
statix.enable = true;
typos.enable = true;
};
};
};
}

View file

@ -289,7 +289,9 @@
"unstable"
],
"nuschtosSearch": [],
"treefmt-nix": "treefmt-nix"
"treefmt-nix": [
"treefmt-nix"
]
},
"locked": {
"lastModified": 1728829992,
@ -314,6 +316,7 @@
"nixvim": "nixvim",
"stylix": "stylix",
"systems": "systems",
"treefmt-nix": "treefmt-nix",
"unstable": "unstable"
}
},
@ -368,7 +371,6 @@
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},

View file

@ -35,6 +35,7 @@
nixpkgs.follows = "unstable";
home-manager.follows = "home-manager";
flake-parts.follows = "flake-parts";
treefmt-nix.follows = "treefmt-nix";
# disable optional inputs
flake-compat.follows = "";
nix-darwin.follows = "";
@ -47,6 +48,10 @@
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# For deduplication
systems.url = "github:nix-systems/default";
};