diff --git a/ci/conform-nvim.nix b/ci/conform-nvim.nix index c2d9a4cf..83b024a9 100644 --- a/ci/conform-nvim.nix +++ b/ci/conform-nvim.nix @@ -1,13 +1,12 @@ { vimPlugins, + writers, lib, - writeText, }: lib.pipe "${vimPlugins.conform-nvim}/lua/conform/formatters" [ builtins.readDir builtins.attrNames (builtins.filter (lib.hasSuffix ".lua")) (map (lib.removeSuffix ".lua")) - builtins.toJSON - (writeText "conform-formatters") + (writers.writeJSON "conform-formatters.json") ] diff --git a/ci/efmls-configs.nix b/ci/efmls-configs.nix index 645ebb2c..d068ac54 100644 --- a/ci/efmls-configs.nix +++ b/ci/efmls-configs.nix @@ -1,10 +1,10 @@ { lib, + writers, vimPlugins, - writeText, }: let - tools = lib.trivial.importJSON "${vimPlugins.efmls-configs-nvim.src}/doc/supported-list.json"; + tools = lib.importJSON "${vimPlugins.efmls-configs-nvim.src}/doc/supported-list.json"; languages = lib.attrNames tools; toLangTools' = lang: kind: lib.map (lib.getAttr "name") (tools.${lang}.${kind} or [ ]); @@ -54,8 +54,4 @@ let }; }; in -writeText "efmls-configs-sources.nix" ( - "# WARNING: DO NOT EDIT\n" - + "# This file is generated with packages..efmls-configs-sources, which is run automatically by CI\n" - + (lib.generators.toPretty { } sources) -) +writers.writeJSON "efmls-configs-sources.json" sources diff --git a/ci/generate.nix b/ci/generate.nix index 1e24144d..d05c768e 100644 --- a/ci/generate.nix +++ b/ci/generate.nix @@ -33,25 +33,21 @@ writeShellApplication { shift done - generate_nix() { - echo "$2" - cp "$1" "$generated_dir/$2.nix" - nixfmt "$generated_dir/$2.nix" - } - generate_json() { - echo "$2" - prettier --parser=json "$1" >"$generated_dir/$2.json" + # Get file part from filepath and remove hash prefix + output_name=$(basename "$1" | cut -d "-" -f "2-") + basename "$1" ".json" + prettier "$1" > "$generated_dir/$output_name" } mkdir -p "$generated_dir" - generate_nix "${rust-analyzer-options}" "rust-analyzer" - generate_nix "${efmls-configs-sources}" "efmls-configs" - generate_nix "${none-ls-builtins}" "none-ls" - generate_json "${conform-formatters}" "conform-formatters" - generate_json "${lspconfig-servers}" "lspconfig-servers" - generate_json "${lspconfig-servers.unsupported}" "unsupported-lspconfig-servers" + generate_json "${rust-analyzer-options}" + generate_json "${efmls-configs-sources}" + generate_json "${none-ls-builtins}" + generate_json "${conform-formatters}" + generate_json "${lspconfig-servers}" + generate_json "${lspconfig-servers.unsupported}" if [ -n "$commit" ]; then cd "$generated_dir" diff --git a/ci/none-ls.nix b/ci/none-ls.nix index 70f7d4d0..f6c61791 100644 --- a/ci/none-ls.nix +++ b/ci/none-ls.nix @@ -1,14 +1,10 @@ { vimPlugins, + writers, lib, - writeText, }: -let - builtinSources = lib.trivial.importJSON "${vimPlugins.none-ls-nvim.src}/doc/builtins.json"; - builtinSourceNames = lib.mapAttrs (_: lib.attrNames) builtinSources; -in -writeText "none-ls-sources.nix" ( - "# WARNING: DO NOT EDIT\n" - + "# This file is generated with packages..none-ls-builtins, which is run automatically by CI\n" - + (lib.generators.toPretty { } builtinSourceNames) -) +lib.pipe "${vimPlugins.none-ls-nvim.src}/doc/builtins.json" [ + lib.importJSON + (lib.mapAttrs (_: lib.attrNames)) + (writers.writeJSON "none-ls-sources.json") +] diff --git a/ci/nvim-lspconfig/default.nix b/ci/nvim-lspconfig/default.nix index 07a2b94e..2cfa1c8a 100644 --- a/ci/nvim-lspconfig/default.nix +++ b/ci/nvim-lspconfig/default.nix @@ -5,7 +5,7 @@ pandoc, jq, }: -runCommand "lspconfig-servers" +runCommand "lspconfig-servers.json" { lspconfig = vimPlugins.nvim-lspconfig; nativeBuildInputs = [ diff --git a/ci/nvim-lspconfig/unsupported.nix b/ci/nvim-lspconfig/unsupported.nix index 246b573a..fcd629f0 100644 --- a/ci/nvim-lspconfig/unsupported.nix +++ b/ci/nvim-lspconfig/unsupported.nix @@ -10,7 +10,7 @@ I.e., files in the old `lua/lspconfig/configs/` directory, that aren't present in the new `lsp/` directory. */ -runCommand "unsupported-lspconfig-servers" +runCommand "unsupported-lspconfig-servers.json" { nativeBuildInputs = [ jq ]; lspconfig = vimPlugins.nvim-lspconfig; diff --git a/ci/rust-analyzer/default.nix b/ci/rust-analyzer/default.nix index 9154395e..d2d5492d 100644 --- a/ci/rust-analyzer/default.nix +++ b/ci/rust-analyzer/default.nix @@ -1,22 +1,22 @@ # -# This derivation creates a Nix file that describes the Nix module that needs to be instantiated +# This derivation creates a JSON file that describes the Nix module that needs to be instantiated # # The create file is of the form: # # { -# "" = { -# description = "