From 5d6bbabd2302be2754bbaf41aaf362f8eeb3ac4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 17 Nov 2024 18:24:20 +0100 Subject: [PATCH] add treefmt --- flake.nix | 11 +++++++++++ formatter.nix | 27 +++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 formatter.nix diff --git a/flake.nix b/flake.nix index b389c09..57a5056 100644 --- a/flake.nix +++ b/flake.nix @@ -95,6 +95,10 @@ in { home-manager = self.legacyPackages.${system}.homeConfigurations.sops.activation-script; + treefmt = + (pkgs.callPackage ./formatter.nix { + inputs = privateInputs; + }).config.build.check; } // (suffix-stable packages-stable) // nixpkgs.lib.optionalAttrs pkgs.stdenv.isLinux tests @@ -131,6 +135,13 @@ } ); + formatter = eachSystem ( + { pkgs, ... }: + (pkgs.callPackage ./formatter.nix { + inputs = privateInputs; + }).config.build.wrapper + ); + apps = eachSystem ( { pkgs, ... }: { diff --git a/formatter.nix b/formatter.nix new file mode 100644 index 0000000..ae1bd3a --- /dev/null +++ b/formatter.nix @@ -0,0 +1,27 @@ +{ pkgs, inputs, ... }: +inputs.treefmt-nix.lib.evalModule pkgs { + projectRootFile = ".git/config"; + + programs = { + nixfmt.enable = true; + + deadnix.enable = true; + deno.enable = true; + }; + + settings = { + global.excludes = [ + "./pkgs/sops-install-secrets/test-assets/*" + "*.narHash" + # unsupported extensions + "*.{asc,pub,gpg}" + "*/secrets.{bin,json,ini,yaml}" + ]; + + formatter = { + deadnix = { + priority = 1; + }; + }; + }; +}