From b5d2fc1ed6aaac487cb66262d5a3ca095f80047d Mon Sep 17 00:00:00 2001 From: o-az Date: Tue, 24 Sep 2024 18:04:59 -0700 Subject: [PATCH] chore: treefmt config file --- docs/openapi.nix | 1 - flake.nix | 144 +----------------- treefmt.nix | 138 +++++++++++++++++ typescript-sdk/typescript-sdk.nix | 2 - .../testdata/test_create_and_read/bins/bin.sh | 4 +- 5 files changed, 148 insertions(+), 141 deletions(-) create mode 100644 treefmt.nix diff --git a/docs/openapi.nix b/docs/openapi.nix index da427ae4d8..e0ea6a6aaf 100644 --- a/docs/openapi.nix +++ b/docs/openapi.nix @@ -3,7 +3,6 @@ _: { { pkgs, unstablePkgs, - self', openapi, ensureAtRepositoryRoot, mkCi, diff --git a/flake.nix b/flake.nix index 3bd9b639f4..eb52ba54ac 100644 --- a/flake.nix +++ b/flake.nix @@ -571,142 +571,14 @@ PROTOC = "${pkgs.protobuf}/bin/protoc"; }; # https://flake.parts/options/treefmt-nix#opt-perSystem.treefmt - treefmt = { - package = unstablePkgs.treefmt; - projectRootFile = "flake.nix"; - programs = { - gofmt = { - enable = true; - package = goPkgs.go; - }; - rustfmt = { - enable = true; - package = rust.toolchains.dev; - }; - taplo = { - enable = true; - }; - biome = { - enable = true; - package = biome; - }; - yamlfmt = { - enable = true; - package = unstablePkgs.yamlfmt; - }; - mdformat = { - enable = true; - package = unstablePkgs.mdformat; - }; - nixfmt-rfc-style = { - enable = true; - package = unstablePkgs.nixfmt-rfc-style; - }; - statix = { - enable = true; - package = unstablePkgs.statix; - }; - deadnix = { - enable = true; - package = unstablePkgs.deadnix; - }; - }; - settings = { - formatter = { - mdformat.options = [ "--number" ]; - deadnix.options = [ "--no-lambda-pattern-names" ]; - yamlfmt.options = [ - "-formatter" - "retain_line_breaks=true" - ]; - biome = { - options = [ - "check" - "--config-path" - "./biome.json" - ]; - includes = [ - "*.ts" - "*.js" - "*.cjs" - "*.cts" - "*.mts" - "*.mjs" - "*.jsx" - "*.tsx" - "*.d.ts" - "*.d.mts" - "*.d.cts" - "*.html" - "*.vue" - "*.css" - "*.json" - "*.jsonc" - "*.astro" - "*.svelte" - "*.graphql" - ]; - }; - sort = - let - filesToSort = [ "dictionary.txt" ]; - in - { - - command = - let - # This sort is consistent across machines because we set the locale. - sort = pkgs.symlinkJoin { - name = "sort"; - paths = [ pkgs.coreutils ]; - buildInputs = [ pkgs.makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/sort \ - --set LC_ALL C \ - --set LC_COLLATE C - ''; - }; - in - "${sort}/bin/sort"; - options = [ - "-uo" - ] ++ filesToSort; - includes = filesToSort; - }; - forge = { - command = - let - forge = pkgs.symlinkJoin { - name = "forge"; - paths = [ pkgs.foundry-bin ]; - buildInputs = [ pkgs.makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/forge \ - --set FOUNDRY_CONFIG "${./foundry.toml}" - ''; - }; - in - "${forge}/bin/forge"; - options = [ "fmt" ]; - includes = [ "*.sol" ]; - }; - }; - global = { - hidden = true; - excludes = [ - "_/**" - "*.ttf" - "*.png" - ".git/**" - "**/.sqlx/**" - "**/vendor/**" - "*.splinecode" - "**/generated/**" - ".github/**/*.md" - "uniond/docs/static/**" - ]; - }; - }; + treefmt = import ./treefmt.nix { + inherit + pkgs + unstablePkgs + goPkgs + rust + biome + ; }; }; }; diff --git a/treefmt.nix b/treefmt.nix new file mode 100644 index 0000000000..382827ac19 --- /dev/null +++ b/treefmt.nix @@ -0,0 +1,138 @@ +# https://flake.parts/options/treefmt-nix#opt-perSystem.treefmt +{ + pkgs, + rust, + biome, + goPkgs, + unstablePkgs, +}: + +{ + package = unstablePkgs.treefmt; + projectRootFile = "treefmt.nix"; + programs = { + gofmt = { + enable = true; + package = goPkgs.go; + }; + rustfmt = { + enable = true; + package = rust.toolchains.dev; + }; + taplo.enable = true; + biome = { + enable = true; + package = biome; + }; + yamlfmt = { + enable = true; + package = unstablePkgs.yamlfmt; + }; + mdformat = { + enable = true; + package = unstablePkgs.mdformat; + }; + shellcheck = { + enable = true; + package = unstablePkgs.shellcheck; + }; + nixfmt-rfc-style = { + enable = true; + package = unstablePkgs.nixfmt-rfc-style; + }; + statix = { + enable = true; + package = unstablePkgs.statix; + }; + deadnix = { + enable = true; + package = unstablePkgs.deadnix; + }; + }; + settings = { + formatter = { + nixfmt-rfc-style = { + options = [ ]; + includes = [ "*.nix" ]; + }; + statix.options = [ "explain" ]; + mdformat.options = [ "--number" ]; + deadnix.options = [ "--no-lambda-pattern-names" ]; + shellcheck.options = [ + "--shell=bash" + "--check-sourced" + ]; + yamlfmt.options = [ + "-formatter" + "retain_line_breaks=true" + ]; + biome = + let + biomeJsonConfig = builtins.fromJSON (builtins.readFile ./biome.json); + in + { + options = [ + "check" + "--config-path" + "./biome.json" + ]; + includes = biomeJsonConfig.files.include; + }; + sort = + let + filesToSort = [ "dictionary.txt" ]; + in + { + command = + let + sort = pkgs.symlinkJoin { + name = "sort"; + paths = [ pkgs.coreutils ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/sort \ + --set LC_ALL C \ + --set LC_COLLATE C + ''; + }; + in + "${sort}/bin/sort"; + options = [ "-uo" ] ++ filesToSort; + includes = filesToSort; + }; + forge = { + command = + let + forge = pkgs.symlinkJoin { + name = "forge"; + paths = [ pkgs.foundry-bin ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/forge \ + --set FOUNDRY_CONFIG "${./foundry.toml}" + ''; + }; + in + "${forge}/bin/forge"; + options = [ "fmt" ]; + includes = [ "*.sol" ]; + }; + }; + global = { + hidden = true; + excludes = [ + "_/**" + "*.ttf" + "*.png" + ".git/**" + "**/.sqlx/**" + "**/vendor/**" + "*.splinecode" + "**/generated/**" + ".github/**/*.sh" + ".github/**/*.md" + "uniond/docs/static/**" + ]; + }; + }; +} diff --git a/typescript-sdk/typescript-sdk.nix b/typescript-sdk/typescript-sdk.nix index 1da075fcbc..0017215d48 100644 --- a/typescript-sdk/typescript-sdk.nix +++ b/typescript-sdk/typescript-sdk.nix @@ -3,9 +3,7 @@ _: { { pkgs, unstablePkgs, - lib, ensureAtRepositoryRoot, - mkCi, ... }: { diff --git a/unionvisor/src/testdata/test_create_and_read/bins/bin.sh b/unionvisor/src/testdata/test_create_and_read/bins/bin.sh index 448d7cdc8d..ea9c6d43a4 100755 --- a/unionvisor/src/testdata/test_create_and_read/bins/bin.sh +++ b/unionvisor/src/testdata/test_create_and_read/bins/bin.sh @@ -1,5 +1,5 @@ #!/usr/bin/env sh set -e -mkdir -p $4 -printf %s '{"name": "upgrade1", "height": 123}' > $4/upgrade-info.json +mkdir -p "$4" +printf %s '{"name": "upgrade1", "height": 123}' > "$4"/upgrade-info.json