From 4196d9c290688b7b02870f0e94129bf775b83903 Mon Sep 17 00:00:00 2001 From: Akira Komamura Date: Sun, 8 Oct 2023 19:02:39 +0900 Subject: [PATCH] rust: Add treefmt-nix --- rust/flake.nix | 14 ++++++++++++++ rust/treefmt.nix | 6 ++++++ 2 files changed, 20 insertions(+) create mode 100644 rust/treefmt.nix diff --git a/rust/flake.nix b/rust/flake.nix index 827fd7d..32ed907 100644 --- a/rust/flake.nix +++ b/rust/flake.nix @@ -2,11 +2,17 @@ inputs = { rust-overlay.url = "github:oxalica/rust-overlay"; systems.url = "github:nix-systems/default"; + treefmt-nix = { + url = "github:numtide/treefmt-nix"; + inputs.nixpkgs.url = "nixpkgs"; + }; }; outputs = { + self, systems, nixpkgs, + treefmt-nix, ... } @ inputs: let eachSystem = f: @@ -17,6 +23,8 @@ overlays = [inputs.rust-overlay.overlays.default]; }) ); + + treefmtEval = eachSystem (pkgs: treefmt-nix.lib.evalModule pkgs ./treefmt.nix); in { devShells = eachSystem (pkgs: { default = pkgs.mkShell { @@ -28,5 +36,11 @@ ]; }; }); + + formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper); + + checks = eachSystem (pkgs: { + formatting = treefmtEval.${pkgs.system}.config.build.check self; + }); }; } diff --git a/rust/treefmt.nix b/rust/treefmt.nix new file mode 100644 index 0000000..0fd0611 --- /dev/null +++ b/rust/treefmt.nix @@ -0,0 +1,6 @@ +{ + projectRootFile = "treefmt.nix"; + + programs.alejandra.enable = true; + programs.rustfmt.enable = true; +}