From 85dc79b45e5c4ea858535b7a458eac0f5815bcd3 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 6 Aug 2024 00:36:26 +0200 Subject: [PATCH] ci: fix luarocks workflow --- .github/workflows/luarocks.yml | 4 + doc/rocks-edit.txt | 46 +- flake.lock | 1196 ++++++++++++++++++---------- flake.nix | 2 +- ftplugin/toml.lua | 22 +- lua/rocks-edit/_meta.lua | 38 + lua/rocks-edit/api.lua | 3 - lua/rocks-edit/config.lua | 13 +- lua/rocks-edit/init.lua | 39 +- lua/rocks-edit/internal.lua | 156 ++-- lua/rocks-edit/sources/updates.lua | 53 +- nix/ci-overlay.nix | 4 +- 12 files changed, 1049 insertions(+), 527 deletions(-) create mode 100644 lua/rocks-edit/_meta.lua diff --git a/.github/workflows/luarocks.yml b/.github/workflows/luarocks.yml index 84884ee..a446804 100644 --- a/.github/workflows/luarocks.yml +++ b/.github/workflows/luarocks.yml @@ -20,6 +20,10 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 # Required to count the commits + - name: Install Rust toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + rustflags: "" - name: Get Version run: echo "LUAROCKS_VERSION=$(git describe --abbrev=0 --tags)" >> $GITHUB_ENV - name: Luarocks Upload diff --git a/doc/rocks-edit.txt b/doc/rocks-edit.txt index 09b6d36..bfc5e89 100644 --- a/doc/rocks-edit.txt +++ b/doc/rocks-edit.txt @@ -1,3 +1,43 @@ +============================================================================== +See useful diagnostics right from your rocks.toml *rocks-edit.nvim* + +============================================================================== +Table of Contents *rocks-edit-contents* + +See useful diagnostics right from your rocks.toml ············ |rocks-edit.nvim| +rocks-edit.nvim configuration ······························ |rocks-edit.config| +rocks-edit.nvim Lua API ······································· |rocks-edit.api| + +============================================================================== +rocks-edit.nvim configuration *rocks-edit.config* + +You can configure rocks-edit.nvim using a `[edit]` table in your rocks.toml. + +Example: +>toml + [edit.builtin_sources] + unsynced = true + updated = true + + [edit] + events = [ "TextChanged", "BufWritePost" ] +< + + +rocks-edit.Config *rocks-edit.Config* + + Fields: ~ + {builtin_sources} (table) + A list of module paths to invoke that act as sources for `rocks-edit.nvim`. + + +builtin_source *builtin_source* + + + Variants: ~ + + + ============================================================================== rocks-edit.nvim Lua API *rocks-edit.api* @@ -39,10 +79,4 @@ rocks-edit.Source *rocks-edit.Source* fun(toml:RocksToml,set:fun(diagnostic:rocks-edit.Diagnostic)) -rocks-edit.Config *rocks-edit.Config* - - Fields: ~ - {builtin_sources} (table) A list of module paths to invoke that act as sources for `rocks-edit.nvim`. - - vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/flake.lock b/flake.lock index 8879e67..f1b2889 100755 --- a/flake.lock +++ b/flake.lock @@ -1,63 +1,70 @@ { "nodes": { - "cats-doc": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs" - }, + "flake-compat": { + "flake": false, "locked": { - "lastModified": 1719860562, - "narHash": "sha256-zB0xoHts0+K8dO6Gbm+v9bjKHA5POdStdBUjomZTikY=", - "owner": "mrcjkb", - "repo": "cats-doc", - "rev": "8c054023347c9aa577dd3bcbed26e6e0a88900ec", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { - "owner": "mrcjkb", - "repo": "cats-doc", + "owner": "edolstra", + "repo": "flake-compat", "type": "github" } }, - "cats-doc_2": { - "inputs": { - "flake-parts": "flake-parts_7", - "nixpkgs": "nixpkgs_7" - }, + "flake-compat_10": { + "flake": false, "locked": { - "lastModified": 1719860562, - "narHash": "sha256-zB0xoHts0+K8dO6Gbm+v9bjKHA5POdStdBUjomZTikY=", - "owner": "mrcjkb", - "repo": "cats-doc", - "rev": "8c054023347c9aa577dd3bcbed26e6e0a88900ec", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { - "owner": "mrcjkb", - "repo": "cats-doc", + "owner": "edolstra", + "repo": "flake-compat", "type": "github" } }, - "cats-doc_3": { - "inputs": { - "flake-parts": "flake-parts_13", - "nixpkgs": "nixpkgs_12" + "flake-compat_11": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_12": { + "flake": false, "locked": { - "lastModified": 1719860562, - "narHash": "sha256-zB0xoHts0+K8dO6Gbm+v9bjKHA5POdStdBUjomZTikY=", - "owner": "mrcjkb", - "repo": "cats-doc", - "rev": "8c054023347c9aa577dd3bcbed26e6e0a88900ec", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { - "owner": "mrcjkb", - "repo": "cats-doc", + "owner": "edolstra", + "repo": "flake-compat", "type": "github" } }, - "flake-compat": { + "flake-compat_13": { "flake": false, "locked": { "lastModified": 1696426674, @@ -73,7 +80,7 @@ "type": "github" } }, - "flake-compat_10": { + "flake-compat_14": { "flake": false, "locked": { "lastModified": 1696426674, @@ -89,7 +96,7 @@ "type": "github" } }, - "flake-compat_11": { + "flake-compat_15": { "flake": false, "locked": { "lastModified": 1696426674, @@ -105,7 +112,7 @@ "type": "github" } }, - "flake-compat_12": { + "flake-compat_16": { "flake": false, "locked": { "lastModified": 1696426674, @@ -121,7 +128,7 @@ "type": "github" } }, - "flake-compat_13": { + "flake-compat_17": { "flake": false, "locked": { "lastModified": 1696426674, @@ -137,7 +144,7 @@ "type": "github" } }, - "flake-compat_14": { + "flake-compat_18": { "flake": false, "locked": { "lastModified": 1696426674, @@ -153,7 +160,7 @@ "type": "github" } }, - "flake-compat_15": { + "flake-compat_19": { "flake": false, "locked": { "lastModified": 1696426674, @@ -302,11 +309,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1726153070, + "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", "type": "github" }, "original": { @@ -316,47 +323,6 @@ } }, "flake-parts_10": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_8" - }, - "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_11": { - "inputs": { - "nixpkgs-lib": [ - "rocks-nvim", - "neorocks", - "neovim-nightly", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_12": { "inputs": { "nixpkgs-lib": [ "rocks-nvim", @@ -379,9 +345,9 @@ "type": "indirect" } }, - "flake-parts_13": { + "flake-parts_11": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_9" + "nixpkgs-lib": "nixpkgs-lib_7" }, "locked": { "lastModified": 1696343447, @@ -397,16 +363,16 @@ "type": "github" } }, - "flake-parts_14": { + "flake-parts_12": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_10" + "nixpkgs-lib": "nixpkgs-lib_8" }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1725024810, + "narHash": "sha256-ODYRm8zHfLTH3soTFWE452ydPYz2iTvr9T8ftDMUQ3E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "af510d4a62d071ea13925ce41c95e3dec816c01d", "type": "github" }, "original": { @@ -415,9 +381,9 @@ "type": "github" } }, - "flake-parts_15": { + "flake-parts_13": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_11" + "nixpkgs-lib": "nixpkgs-lib_9" }, "locked": { "lastModified": 1717285511, @@ -433,16 +399,16 @@ "type": "github" } }, - "flake-parts_16": { + "flake-parts_14": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_12" + "nixpkgs-lib": "nixpkgs-lib_10" }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1725024810, + "narHash": "sha256-ODYRm8zHfLTH3soTFWE452ydPYz2iTvr9T8ftDMUQ3E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "af510d4a62d071ea13925ce41c95e3dec816c01d", "type": "github" }, "original": { @@ -451,7 +417,7 @@ "type": "github" } }, - "flake-parts_17": { + "flake-parts_15": { "inputs": { "nixpkgs-lib": [ "rocks-nvim-flake", @@ -461,11 +427,11 @@ ] }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "type": "github" }, "original": { @@ -474,7 +440,7 @@ "type": "github" } }, - "flake-parts_18": { + "flake-parts_16": { "inputs": { "nixpkgs-lib": [ "rocks-nvim-flake", @@ -497,16 +463,16 @@ "type": "indirect" } }, - "flake-parts_2": { + "flake-parts_17": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" + "nixpkgs-lib": "nixpkgs-lib_11" }, "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "lastModified": 1696343447, + "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", "type": "github" }, "original": { @@ -515,9 +481,27 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_18": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" + "nixpkgs-lib": "nixpkgs-lib_12" + }, + "locked": { + "lastModified": 1725234343, + "narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "567b938d64d4b4112ee253b9274472dc3a346eb6", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { "lastModified": 1717285511, @@ -533,16 +517,16 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_3": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_4" + "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "lastModified": 1726153070, + "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", "type": "github" }, "original": { @@ -551,7 +535,7 @@ "type": "github" } }, - "flake-parts_5": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "neorocks", @@ -560,11 +544,11 @@ ] }, "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "lastModified": 1726153070, + "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", "type": "github" }, "original": { @@ -573,7 +557,7 @@ "type": "github" } }, - "flake-parts_6": { + "flake-parts_5": { "inputs": { "nixpkgs-lib": [ "neorocks", @@ -595,16 +579,34 @@ "type": "indirect" } }, + "flake-parts_6": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_4" + }, + "locked": { + "lastModified": 1725024810, + "narHash": "sha256-ODYRm8zHfLTH3soTFWE452ydPYz2iTvr9T8ftDMUQ3E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "af510d4a62d071ea13925ce41c95e3dec816c01d", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-parts_7": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_5" }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -618,11 +620,11 @@ "nixpkgs-lib": "nixpkgs-lib_6" }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1725024810, + "narHash": "sha256-ODYRm8zHfLTH3soTFWE452ydPYz2iTvr9T8ftDMUQ3E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "af510d4a62d071ea13925ce41c95e3dec816c01d", "type": "github" }, "original": { @@ -633,14 +635,19 @@ }, "flake-parts_9": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_7" + "nixpkgs-lib": [ + "rocks-nvim", + "neorocks", + "neovim-nightly", + "nixpkgs" + ] }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "type": "github" }, "original": { @@ -651,17 +658,19 @@ }, "gen-luarc": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_2", + "git-hooks": "git-hooks", + "luvit-meta": "luvit-meta", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1718922730, - "narHash": "sha256-ykhhOPqA9NzdNBr3ii+3h2DkK2+wasNqQLfMF6BXxTE=", + "lastModified": 1724097937, + "narHash": "sha256-Q4tgm8ZHAQUdvsNft86MqIbHQAm7OF7RT/wwYWXqSdY=", "owner": "mrcjkb", "repo": "nix-gen-luarc-json", - "rev": "021e8078e43884c6cdc70ca753d9a0b146cd55a4", + "rev": "b36b69c4ded9f31b079523bc452e23458734cf00", "type": "github" }, "original": { @@ -672,18 +681,20 @@ }, "gen-luarc_2": { "inputs": { - "flake-parts": "flake-parts_9", + "flake-parts": "flake-parts_7", + "git-hooks": "git-hooks_5", + "luvit-meta": "luvit-meta_2", "nixpkgs": [ "rocks-nvim", "nixpkgs" ] }, "locked": { - "lastModified": 1718922730, - "narHash": "sha256-ykhhOPqA9NzdNBr3ii+3h2DkK2+wasNqQLfMF6BXxTE=", + "lastModified": 1724097937, + "narHash": "sha256-Q4tgm8ZHAQUdvsNft86MqIbHQAm7OF7RT/wwYWXqSdY=", "owner": "mrcjkb", "repo": "nix-gen-luarc-json", - "rev": "021e8078e43884c6cdc70ca753d9a0b146cd55a4", + "rev": "b36b69c4ded9f31b079523bc452e23458734cf00", "type": "github" }, "original": { @@ -694,18 +705,20 @@ }, "gen-luarc_3": { "inputs": { - "flake-parts": "flake-parts_15", + "flake-parts": "flake-parts_13", + "git-hooks": "git-hooks_8", + "luvit-meta": "luvit-meta_3", "nixpkgs": [ "rocks-nvim-flake", "nixpkgs" ] }, "locked": { - "lastModified": 1718922730, - "narHash": "sha256-ykhhOPqA9NzdNBr3ii+3h2DkK2+wasNqQLfMF6BXxTE=", + "lastModified": 1724097937, + "narHash": "sha256-Q4tgm8ZHAQUdvsNft86MqIbHQAm7OF7RT/wwYWXqSdY=", "owner": "mrcjkb", "repo": "nix-gen-luarc-json", - "rev": "021e8078e43884c6cdc70ca753d9a0b146cd55a4", + "rev": "b36b69c4ded9f31b079523bc452e23458734cf00", "type": "github" }, "original": { @@ -718,15 +731,18 @@ "inputs": { "flake-compat": "flake-compat", "gitignore": "gitignore", - "nixpkgs": "nixpkgs_2", + "nixpkgs": [ + "gen-luarc", + "nixpkgs" + ], "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1722857853, - "narHash": "sha256-3Zx53oz/MSIyevuWO/SumxABkrIvojnB7g9cimxkhiE=", + "lastModified": 1723803910, + "narHash": "sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "06939f6b7ec4d4f465bf3132a05367cccbbf64da", + "rev": "bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba", "type": "github" }, "original": { @@ -735,19 +751,29 @@ "type": "github" } }, - "git-hooks_2": { + "git-hooks_10": { "inputs": { - "flake-compat": "flake-compat_3", - "gitignore": "gitignore_2", - "nixpkgs": "nixpkgs_3", - "nixpkgs-stable": "nixpkgs-stable_2" + "flake-compat": "flake-compat_17", + "gitignore": "gitignore_11", + "nixpkgs": [ + "rocks-nvim-flake", + "neorocks", + "neovim-nightly", + "nixpkgs" + ], + "nixpkgs-stable": [ + "rocks-nvim-flake", + "neorocks", + "neovim-nightly", + "nixpkgs" + ] }, "locked": { - "lastModified": 1721042469, - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -756,27 +782,44 @@ "type": "github" } }, - "git-hooks_3": { + "git-hooks_11": { "inputs": { - "flake-compat": "flake-compat_5", - "gitignore": "gitignore_3", + "flake-compat": "flake-compat_19", + "gitignore": "gitignore_13", "nixpkgs": [ - "neorocks", - "neovim-nightly", + "vimcats", "nixpkgs" ], - "nixpkgs-stable": [ - "neorocks", - "neovim-nightly", - "nixpkgs" - ] + "nixpkgs-stable": "nixpkgs-stable_10" + }, + "locked": { + "lastModified": 1725438226, + "narHash": "sha256-lL4hQ+g2qiZ02WfidLkrujaT23c6E2Wm7S0ZQhSB8Jk=", + "owner": "mrcjkb", + "repo": "git-hooks.nix", + "rev": "ec0f4d97f48a1f32bd87804e2390f03999790ec0", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "ref": "clippy", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "git-hooks_2": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore_2", + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1721042469, - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", + "lastModified": 1725513492, + "narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "rev": "7570de7b9b504cfe92025dd1be797bf546f66528", "type": "github" }, "original": { @@ -785,19 +828,19 @@ "type": "github" } }, - "git-hooks_4": { + "git-hooks_3": { "inputs": { - "flake-compat": "flake-compat_7", - "gitignore": "gitignore_4", - "nixpkgs": "nixpkgs_8", + "flake-compat": "flake-compat_4", + "gitignore": "gitignore_3", + "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1725513492, + "narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "7570de7b9b504cfe92025dd1be797bf546f66528", "type": "github" }, "original": { @@ -806,29 +849,52 @@ "type": "github" } }, - "git-hooks_5": { + "git-hooks_4": { "inputs": { - "flake-compat": "flake-compat_9", - "gitignore": "gitignore_5", + "flake-compat": "flake-compat_6", + "gitignore": "gitignore_4", "nixpkgs": [ - "rocks-nvim", "neorocks", "neovim-nightly", "nixpkgs" ], "nixpkgs-stable": [ - "rocks-nvim", "neorocks", "neovim-nightly", "nixpkgs" ] }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1725513492, + "narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "7570de7b9b504cfe92025dd1be797bf546f66528", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "git-hooks_5": { + "inputs": { + "flake-compat": "flake-compat_7", + "gitignore": "gitignore_5", + "nixpkgs": [ + "rocks-nvim", + "gen-luarc", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_4" + }, + "locked": { + "lastModified": 1723803910, + "narHash": "sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba", "type": "github" }, "original": { @@ -839,17 +905,17 @@ }, "git-hooks_6": { "inputs": { - "flake-compat": "flake-compat_12", - "gitignore": "gitignore_7", - "nixpkgs": "nixpkgs_13", + "flake-compat": "flake-compat_9", + "gitignore": "gitignore_6", + "nixpkgs": "nixpkgs_6", "nixpkgs-stable": "nixpkgs-stable_5" }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -860,27 +926,73 @@ }, "git-hooks_7": { "inputs": { - "flake-compat": "flake-compat_14", - "gitignore": "gitignore_8", + "flake-compat": "flake-compat_11", + "gitignore": "gitignore_7", "nixpkgs": [ - "rocks-nvim-flake", + "rocks-nvim", "neorocks", "neovim-nightly", "nixpkgs" ], "nixpkgs-stable": [ - "rocks-nvim-flake", + "rocks-nvim", "neorocks", "neovim-nightly", "nixpkgs" ] }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "git-hooks_8": { + "inputs": { + "flake-compat": "flake-compat_13", + "gitignore": "gitignore_9", + "nixpkgs": [ + "rocks-nvim-flake", + "gen-luarc", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_7" + }, + "locked": { + "lastModified": 1723803910, + "narHash": "sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "git-hooks_9": { + "inputs": { + "flake-compat": "flake-compat_15", + "gitignore": "gitignore_10", + "nixpkgs": "nixpkgs_11", + "nixpkgs-stable": "nixpkgs-stable_8" + }, + "locked": { + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -892,6 +1004,7 @@ "gitignore": { "inputs": { "nixpkgs": [ + "gen-luarc", "git-hooks", "nixpkgs" ] @@ -910,9 +1023,10 @@ "type": "github" } }, - "gitignore_2": { + "gitignore_10": { "inputs": { "nixpkgs": [ + "rocks-nvim-flake", "neorocks", "git-hooks", "nixpkgs" @@ -932,9 +1046,10 @@ "type": "github" } }, - "gitignore_3": { + "gitignore_11": { "inputs": { "nixpkgs": [ + "rocks-nvim-flake", "neorocks", "neovim-nightly", "git-hooks", @@ -955,11 +1070,98 @@ "type": "github" } }, + "gitignore_12": { + "inputs": { + "nixpkgs": [ + "rocks-nvim-flake", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_13": { + "inputs": { + "nixpkgs": [ + "vimcats", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_3": { + "inputs": { + "nixpkgs": [ + "neorocks", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "gitignore_4": { "inputs": { "nixpkgs": [ - "rocks-nvim", "neorocks", + "neovim-nightly", "git-hooks", "nixpkgs" ] @@ -982,8 +1184,7 @@ "inputs": { "nixpkgs": [ "rocks-nvim", - "neorocks", - "neovim-nightly", + "gen-luarc", "git-hooks", "nixpkgs" ] @@ -1006,7 +1207,8 @@ "inputs": { "nixpkgs": [ "rocks-nvim", - "pre-commit-hooks", + "neorocks", + "git-hooks", "nixpkgs" ] }, @@ -1027,8 +1229,9 @@ "gitignore_7": { "inputs": { "nixpkgs": [ - "rocks-nvim-flake", + "rocks-nvim", "neorocks", + "neovim-nightly", "git-hooks", "nixpkgs" ] @@ -1050,10 +1253,8 @@ "gitignore_8": { "inputs": { "nixpkgs": [ - "rocks-nvim-flake", - "neorocks", - "neovim-nightly", - "git-hooks", + "rocks-nvim", + "pre-commit-hooks", "nixpkgs" ] }, @@ -1075,7 +1276,8 @@ "inputs": { "nixpkgs": [ "rocks-nvim-flake", - "pre-commit-hooks", + "gen-luarc", + "git-hooks", "nixpkgs" ] }, @@ -1095,7 +1297,7 @@ }, "hercules-ci-effects": { "inputs": { - "flake-parts": "flake-parts_6", + "flake-parts": "flake-parts_5", "nixpkgs": [ "neorocks", "neovim-nightly", @@ -1103,11 +1305,11 @@ ] }, "locked": { - "lastModified": 1719226092, - "narHash": "sha256-YNkUMcCUCpnULp40g+svYsaH1RbSEj6s4WdZY/SHe38=", + "lastModified": 1724947644, + "narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "11e4b8dc112e2f485d7c97e1cee77f9958f498f5", + "rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef", "type": "github" }, "original": { @@ -1118,7 +1320,7 @@ }, "hercules-ci-effects_2": { "inputs": { - "flake-parts": "flake-parts_12", + "flake-parts": "flake-parts_10", "nixpkgs": [ "rocks-nvim", "neorocks", @@ -1127,11 +1329,11 @@ ] }, "locked": { - "lastModified": 1719226092, - "narHash": "sha256-YNkUMcCUCpnULp40g+svYsaH1RbSEj6s4WdZY/SHe38=", + "lastModified": 1724947644, + "narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "11e4b8dc112e2f485d7c97e1cee77f9958f498f5", + "rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef", "type": "github" }, "original": { @@ -1142,7 +1344,7 @@ }, "hercules-ci-effects_3": { "inputs": { - "flake-parts": "flake-parts_18", + "flake-parts": "flake-parts_16", "nixpkgs": [ "rocks-nvim-flake", "neorocks", @@ -1151,11 +1353,11 @@ ] }, "locked": { - "lastModified": 1719226092, - "narHash": "sha256-YNkUMcCUCpnULp40g+svYsaH1RbSEj6s4WdZY/SHe38=", + "lastModified": 1724947644, + "narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "11e4b8dc112e2f485d7c97e1cee77f9958f498f5", + "rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef", "type": "github" }, "original": { @@ -1164,20 +1366,68 @@ "type": "github" } }, + "luvit-meta": { + "flake": false, + "locked": { + "lastModified": 1705776742, + "narHash": "sha256-zAAptV/oLuLAAsa2zSB/6fxlElk4+jNZd/cPr9oxFig=", + "owner": "Bilal2453", + "repo": "luvit-meta", + "rev": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60", + "type": "github" + }, + "original": { + "owner": "Bilal2453", + "repo": "luvit-meta", + "type": "github" + } + }, + "luvit-meta_2": { + "flake": false, + "locked": { + "lastModified": 1705776742, + "narHash": "sha256-zAAptV/oLuLAAsa2zSB/6fxlElk4+jNZd/cPr9oxFig=", + "owner": "Bilal2453", + "repo": "luvit-meta", + "rev": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60", + "type": "github" + }, + "original": { + "owner": "Bilal2453", + "repo": "luvit-meta", + "type": "github" + } + }, + "luvit-meta_3": { + "flake": false, + "locked": { + "lastModified": 1705776742, + "narHash": "sha256-zAAptV/oLuLAAsa2zSB/6fxlElk4+jNZd/cPr9oxFig=", + "owner": "Bilal2453", + "repo": "luvit-meta", + "rev": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60", + "type": "github" + }, + "original": { + "owner": "Bilal2453", + "repo": "luvit-meta", + "type": "github" + } + }, "neorocks": { "inputs": { - "flake-compat": "flake-compat_2", - "flake-parts": "flake-parts_4", - "git-hooks": "git-hooks_2", + "flake-compat": "flake-compat_3", + "flake-parts": "flake-parts_3", + "git-hooks": "git-hooks_3", "neovim-nightly": "neovim-nightly", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1722835619, - "narHash": "sha256-byDwYcAztY2XRjqaE/G1+lzLRzUa/bz3sJF/dgxT3eE=", + "lastModified": 1726466340, + "narHash": "sha256-SAR+77hJmpe1VrhBmhs0vSjAJvqiZ1/xaXRK2U+PiXs=", "owner": "nvim-neorocks", "repo": "neorocks", - "rev": "c30a1ed6b453b748401e9eba2c35d1c98ce6e58f", + "rev": "660765996eb051874ec242fb8be75739e68d780a", "type": "github" }, "original": { @@ -1188,18 +1438,18 @@ }, "neorocks_2": { "inputs": { - "flake-compat": "flake-compat_6", - "flake-parts": "flake-parts_10", - "git-hooks": "git-hooks_4", + "flake-compat": "flake-compat_8", + "flake-parts": "flake-parts_8", + "git-hooks": "git-hooks_6", "neovim-nightly": "neovim-nightly_2", - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1719552233, - "narHash": "sha256-srQ8MbcPgXrQj2xywQLKy/p/x+kFYStUhdNhFK2pZL0=", + "lastModified": 1725081882, + "narHash": "sha256-bH2AF0wtT/zSXlQ0yrGzmEWuBWdAZR5YDbj0E3rkEOc=", "owner": "nvim-neorocks", "repo": "neorocks", - "rev": "8c01ff3cba17c57271a0a55558ee9c93fe0f0ea1", + "rev": "355898b986e1294253465ae84bbb07f95ba1fcdc", "type": "github" }, "original": { @@ -1210,18 +1460,18 @@ }, "neorocks_3": { "inputs": { - "flake-compat": "flake-compat_11", - "flake-parts": "flake-parts_16", - "git-hooks": "git-hooks_6", + "flake-compat": "flake-compat_14", + "flake-parts": "flake-parts_14", + "git-hooks": "git-hooks_9", "neovim-nightly": "neovim-nightly_3", - "nixpkgs": "nixpkgs_15" + "nixpkgs": "nixpkgs_13" }, "locked": { - "lastModified": 1719552233, - "narHash": "sha256-srQ8MbcPgXrQj2xywQLKy/p/x+kFYStUhdNhFK2pZL0=", + "lastModified": 1725081882, + "narHash": "sha256-bH2AF0wtT/zSXlQ0yrGzmEWuBWdAZR5YDbj0E3rkEOc=", "owner": "nvim-neorocks", "repo": "neorocks", - "rev": "8c01ff3cba17c57271a0a55558ee9c93fe0f0ea1", + "rev": "355898b986e1294253465ae84bbb07f95ba1fcdc", "type": "github" }, "original": { @@ -1232,19 +1482,19 @@ }, "neovim-nightly": { "inputs": { - "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_5", - "git-hooks": "git-hooks_3", + "flake-compat": "flake-compat_5", + "flake-parts": "flake-parts_4", + "git-hooks": "git-hooks_4", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1722755885, - "narHash": "sha256-+q9aul2Dy77Qd/Sl/sTcWjFYAhjE41BEzW2YOoMZEgw=", + "lastModified": 1726396311, + "narHash": "sha256-+5XiPehXPmVym1LGgd8bK3VRSX5TRdku639TNA/H3VY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "da6d85c958e345129f3f85b39392e00fd78e2e46", + "rev": "a97833a4f127d2723032afa6661adb15a020bbe1", "type": "github" }, "original": { @@ -1255,19 +1505,19 @@ }, "neovim-nightly_2": { "inputs": { - "flake-compat": "flake-compat_8", - "flake-parts": "flake-parts_11", - "git-hooks": "git-hooks_5", + "flake-compat": "flake-compat_10", + "flake-parts": "flake-parts_9", + "git-hooks": "git-hooks_7", "hercules-ci-effects": "hercules-ci-effects_2", "neovim-src": "neovim-src_2", - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1719467057, - "narHash": "sha256-8gQ0txwuLoBpBeIhTAkl+/7Hi/AD4KE5m4YhOn1OA3E=", + "lastModified": 1724996444, + "narHash": "sha256-bgDfNsVPleUyx6vNr5INJTLfkLycNmL3yvSBv1OguLs=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "bb6bea003dc464a4248a173e71a007d368691092", + "rev": "d0f68c980e3a0a3a8e63ccca93a01f87fb77937e", "type": "github" }, "original": { @@ -1278,19 +1528,19 @@ }, "neovim-nightly_3": { "inputs": { - "flake-compat": "flake-compat_13", - "flake-parts": "flake-parts_17", - "git-hooks": "git-hooks_7", + "flake-compat": "flake-compat_16", + "flake-parts": "flake-parts_15", + "git-hooks": "git-hooks_10", "hercules-ci-effects": "hercules-ci-effects_3", "neovim-src": "neovim-src_3", - "nixpkgs": "nixpkgs_14" + "nixpkgs": "nixpkgs_12" }, "locked": { - "lastModified": 1719467057, - "narHash": "sha256-8gQ0txwuLoBpBeIhTAkl+/7Hi/AD4KE5m4YhOn1OA3E=", + "lastModified": 1724996444, + "narHash": "sha256-bgDfNsVPleUyx6vNr5INJTLfkLycNmL3yvSBv1OguLs=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "bb6bea003dc464a4248a173e71a007d368691092", + "rev": "d0f68c980e3a0a3a8e63ccca93a01f87fb77937e", "type": "github" }, "original": { @@ -1302,11 +1552,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1722722994, - "narHash": "sha256-UpW1FMRNS8uCM8ONSYQhVua8ESqABnsWu6nh5MCvDVg=", + "lastModified": 1726314671, + "narHash": "sha256-KwsP2EVfcKexBaqrt3QGUX7GRFieDKEP/bx521dUOso=", "owner": "neovim", "repo": "neovim", - "rev": "58406ab9f0adba6f26402d47479ca061864b2584", + "rev": "3b54adc6c6d25dd146fa1eac21321f6bd612f50a", "type": "github" }, "original": { @@ -1318,11 +1568,11 @@ "neovim-src_2": { "flake": false, "locked": { - "lastModified": 1719414226, - "narHash": "sha256-h/qJ+1R+BtY+mX02UsqYW82hEl78mrHTGAs9yjpFEzU=", + "lastModified": 1724970905, + "narHash": "sha256-6HqoxweeX3tQbchJpjUNiBKj/2P3oiQBR42B/QuB+a0=", "owner": "neovim", "repo": "neovim", - "rev": "fc9b70826ec88ca2e6c0624c522b872e87aa7ac1", + "rev": "4353996d0fa8e5872a334d68196d8088391960cf", "type": "github" }, "original": { @@ -1334,11 +1584,11 @@ "neovim-src_3": { "flake": false, "locked": { - "lastModified": 1719414226, - "narHash": "sha256-h/qJ+1R+BtY+mX02UsqYW82hEl78mrHTGAs9yjpFEzU=", + "lastModified": 1724970905, + "narHash": "sha256-6HqoxweeX3tQbchJpjUNiBKj/2P3oiQBR42B/QuB+a0=", "owner": "neovim", "repo": "neovim", - "rev": "fc9b70826ec88ca2e6c0624c522b872e87aa7ac1", + "rev": "4353996d0fa8e5872a334d68196d8088391960cf", "type": "github" }, "original": { @@ -1349,11 +1599,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1697379843, - "narHash": "sha256-RcnGuJgC2K/UpTy+d32piEoBXq2M+nVFzM3ah/ZdJzg=", + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", "type": "github" }, "original": { @@ -1364,6 +1614,30 @@ } }, "nixpkgs-lib": { + "locked": { + "lastModified": 1725233747, + "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + } + }, + "nixpkgs-lib_10": { + "locked": { + "lastModified": 1722555339, + "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + } + }, + "nixpkgs-lib_11": { "locked": { "dir": "lib", "lastModified": 1696019113, @@ -1381,19 +1655,19 @@ "type": "github" } }, - "nixpkgs-lib_10": { + "nixpkgs-lib_12": { "locked": { - "lastModified": 1717284937, - "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "lastModified": 1725233747, + "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" } }, - "nixpkgs-lib_11": { + "nixpkgs-lib_2": { "locked": { "lastModified": 1717284937, "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", @@ -1405,19 +1679,19 @@ "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" } }, - "nixpkgs-lib_12": { + "nixpkgs-lib_3": { "locked": { - "lastModified": 1717284937, - "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "lastModified": 1725233747, + "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" } }, - "nixpkgs-lib_2": { + "nixpkgs-lib_4": { "locked": { "lastModified": 1722555339, "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", @@ -1429,7 +1703,7 @@ "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" } }, - "nixpkgs-lib_3": { + "nixpkgs-lib_5": { "locked": { "lastModified": 1717284937, "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", @@ -1441,7 +1715,7 @@ "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" } }, - "nixpkgs-lib_4": { + "nixpkgs-lib_6": { "locked": { "lastModified": 1722555339, "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", @@ -1453,7 +1727,7 @@ "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" } }, - "nixpkgs-lib_5": { + "nixpkgs-lib_7": { "locked": { "dir": "lib", "lastModified": 1696019113, @@ -1471,31 +1745,19 @@ "type": "github" } }, - "nixpkgs-lib_6": { - "locked": { - "lastModified": 1717284937, - "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" - } - }, - "nixpkgs-lib_7": { + "nixpkgs-lib_8": { "locked": { - "lastModified": 1717284937, - "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "lastModified": 1722555339, + "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" } }, - "nixpkgs-lib_8": { + "nixpkgs-lib_9": { "locked": { "lastModified": 1717284937, "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", @@ -1507,25 +1769,23 @@ "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" } }, - "nixpkgs-lib_9": { + "nixpkgs-stable": { "locked": { - "dir": "lib", - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-stable": { + "nixpkgs-stable_10": { "locked": { "lastModified": 1720386169, "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", @@ -1559,100 +1819,117 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1718811006, - "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable_4": { "locked": { - "lastModified": 1718811006, - "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable_5": { "locked": { - "lastModified": 1718811006, - "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable_6": { "locked": { - "lastModified": 1718811006, - "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_10": { + "nixpkgs-stable_7": { "locked": { - "lastModified": 1719468428, - "narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=", - "owner": "nixos", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e3deb3d8a86a870d925760db1a5adecc64d329d", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_11": { + "nixpkgs-stable_8": { "locked": { - "lastModified": 1720424647, - "narHash": "sha256-fxNxyMY8yq6IoBIrBB6mncdk9BLO0RdEZ3CMVu1LOE8=", - "owner": "nixos", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "6edd5cc7bd8eb73d2e7c2f05b34c04a7a4d02de9", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_12": { + "nixpkgs-stable_9": { + "locked": { + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_10": { "locked": { "lastModified": 1697379843, "narHash": "sha256-RcnGuJgC2K/UpTy+d32piEoBXq2M+nVFzM3ah/ZdJzg=", @@ -1668,7 +1945,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_11": { "locked": { "lastModified": 1719082008, "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", @@ -1684,13 +1961,13 @@ "type": "github" } }, - "nixpkgs_14": { + "nixpkgs_12": { "locked": { - "lastModified": 1719379843, - "narHash": "sha256-u+D+IOAMMl70+CJ9NKB+RMrASjInuIWMHzjLWQjPZ6c=", + "lastModified": 1724840184, + "narHash": "sha256-RXftd9nVNpCKHEaiMhAWiZo3U/SEdRPF0zD7s7u50Oc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b3f3c1b13fb08f3828442ee86630362e81136bbc", + "rev": "4f9cb71da3ec4f76fd406a0d87a1db491eda6870", "type": "github" }, "original": { @@ -1700,13 +1977,13 @@ "type": "github" } }, - "nixpkgs_15": { + "nixpkgs_13": { "locked": { - "lastModified": 1719468428, - "narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=", + "lastModified": 1725067332, + "narHash": "sha256-bMi5zhDwR6jdmN5mBHEu9gQQf9CibIEasA/6mc34Iek=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1e3deb3d8a86a870d925760db1a5adecc64d329d", + "rev": "192e7407cc66e2eccc3a6c5ad3834dd62fae3800", "type": "github" }, "original": { @@ -1716,6 +1993,38 @@ "type": "github" } }, + "nixpkgs_14": { + "locked": { + "lastModified": 1697379843, + "narHash": "sha256-RcnGuJgC2K/UpTy+d32piEoBXq2M+nVFzM3ah/ZdJzg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_15": { + "locked": { + "lastModified": 1725910328, + "narHash": "sha256-n9pCtzGZ0httmTwMuEbi5E78UQ4ZbQMr1pzi5N0LAG8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5775c2583f1801df7b790bf7f7d710a19bac66f4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1719082008, @@ -1734,11 +2043,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1719082008, - "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "lastModified": 1726206720, + "narHash": "sha256-tI7141IHDABMNgz4iXDo8agCp0SeTLbaIZ2DRndwcmk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "rev": "673d99f1406cb09b8eb6feab4743ebdf70046557", "type": "github" }, "original": { @@ -1750,15 +2059,15 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1722640603, - "narHash": "sha256-TcXjLVNd3VeH1qKPH335Tc4RbFDbZQX+d7rqnDUoRaY=", - "owner": "NixOS", + "lastModified": 1726436956, + "narHash": "sha256-a3rP7uafX/qBFX0y4CGS8vvTPvxsLl9eZQ85DkIn3DI=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "81610abc161d4021b29199aa464d6a1a521e0cc9", + "rev": "039b72d0c738c934e2e36d7fc5520d1b425287a6", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" @@ -1766,11 +2075,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1722640603, - "narHash": "sha256-TcXjLVNd3VeH1qKPH335Tc4RbFDbZQX+d7rqnDUoRaY=", + "lastModified": 1726436956, + "narHash": "sha256-a3rP7uafX/qBFX0y4CGS8vvTPvxsLl9eZQ85DkIn3DI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "81610abc161d4021b29199aa464d6a1a521e0cc9", + "rev": "039b72d0c738c934e2e36d7fc5520d1b425287a6", "type": "github" }, "original": { @@ -1782,15 +2091,15 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1722730825, - "narHash": "sha256-X6U+w8qFBuGPCYrZzc9mpN34aRjQ8604MonpBUkj908=", - "owner": "nixos", + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "f3834de3782b82bfc666abf664f946d0e7d1f116", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" @@ -1798,11 +2107,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1697379843, - "narHash": "sha256-RcnGuJgC2K/UpTy+d32piEoBXq2M+nVFzM3ah/ZdJzg=", + "lastModified": 1724840184, + "narHash": "sha256-RXftd9nVNpCKHEaiMhAWiZo3U/SEdRPF0zD7s7u50Oc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d", + "rev": "4f9cb71da3ec4f76fd406a0d87a1db491eda6870", "type": "github" }, "original": { @@ -1814,15 +2123,15 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1719082008, - "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", - "owner": "NixOS", + "lastModified": 1725067332, + "narHash": "sha256-bMi5zhDwR6jdmN5mBHEu9gQQf9CibIEasA/6mc34Iek=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "rev": "192e7407cc66e2eccc3a6c5ad3834dd62fae3800", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" @@ -1830,36 +2139,35 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1719379843, - "narHash": "sha256-u+D+IOAMMl70+CJ9NKB+RMrASjInuIWMHzjLWQjPZ6c=", - "owner": "NixOS", + "lastModified": 1725151913, + "narHash": "sha256-EkY43zIALfs4z8LoVOdb+Hlt5Z36dC9/YcKH23tBKdM=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "b3f3c1b13fb08f3828442ee86630362e81136bbc", + "rev": "5fcbdb939dcdf26e2262b74607c2676dbcedc961", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", "repo": "nixpkgs", "type": "github" } }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_10", - "gitignore": "gitignore_6", + "flake-compat": "flake-compat_12", + "gitignore": "gitignore_8", "nixpkgs": [ "rocks-nvim", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_4" + "nixpkgs-stable": "nixpkgs-stable_6" }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -1870,20 +2178,20 @@ }, "pre-commit-hooks_2": { "inputs": { - "flake-compat": "flake-compat_15", - "gitignore": "gitignore_9", + "flake-compat": "flake-compat_18", + "gitignore": "gitignore_12", "nixpkgs": [ "rocks-nvim-flake", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_6" + "nixpkgs-stable": "nixpkgs-stable_9" }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -1894,19 +2202,19 @@ }, "rocks-nvim": { "inputs": { - "cats-doc": "cats-doc_2", - "flake-parts": "flake-parts_8", + "flake-parts": "flake-parts_6", "gen-luarc": "gen-luarc_2", "neorocks": "neorocks_2", - "nixpkgs": "nixpkgs_11", - "pre-commit-hooks": "pre-commit-hooks" + "nixpkgs": "nixpkgs_9", + "pre-commit-hooks": "pre-commit-hooks", + "vimcats": "vimcats" }, "locked": { - "lastModified": 1722642819, - "narHash": "sha256-a+kc48pP2TTznbWDng9z/2eGIooKxJTmDvZpEomh61Y=", + "lastModified": 1725470843, + "narHash": "sha256-8WnxlFIQq5VwvlH3qhZGcGExp53c8REgbfzjDG8NCMo=", "owner": "nvim-neorocks", "repo": "rocks.nvim", - "rev": "c4b12461e41ef8fca97ed775fb2524be5776f31c", + "rev": "1f8c8c4dc7be7dd2dcac9b55319c7db5734edb2a", "type": "github" }, "original": { @@ -1917,21 +2225,21 @@ }, "rocks-nvim-flake": { "inputs": { - "cats-doc": "cats-doc_3", - "flake-parts": "flake-parts_14", + "flake-parts": "flake-parts_12", "gen-luarc": "gen-luarc_3", "neorocks": "neorocks_3", "nixpkgs": [ "nixpkgs" ], - "pre-commit-hooks": "pre-commit-hooks_2" + "pre-commit-hooks": "pre-commit-hooks_2", + "vimcats": "vimcats_2" }, "locked": { - "lastModified": 1722960873, - "narHash": "sha256-/hsJja9ogzk6YaWo4ReROmFzclVmbKlxmVL6IQOPAxk=", + "lastModified": 1726495650, + "narHash": "sha256-Ef0gF+4cC3LyakRIBiTmrjin5ij3y45jBSeM25TR3s0=", "owner": "nvim-neorocks", "repo": "rocks.nvim", - "rev": "00a8e78ba5e995973a55992a377a4289a80de378", + "rev": "7321589aa166073b29e6cb239c3948207cfc02c5", "type": "github" }, "original": { @@ -1942,14 +2250,72 @@ }, "root": { "inputs": { - "cats-doc": "cats-doc", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts", "gen-luarc": "gen-luarc", - "git-hooks": "git-hooks", + "git-hooks": "git-hooks_2", "neorocks": "neorocks", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_5", "rocks-nvim": "rocks-nvim", - "rocks-nvim-flake": "rocks-nvim-flake" + "rocks-nvim-flake": "rocks-nvim-flake", + "vimcats": "vimcats_3" + } + }, + "vimcats": { + "inputs": { + "flake-parts": "flake-parts_11", + "nixpkgs": "nixpkgs_10" + }, + "locked": { + "lastModified": 1725470456, + "narHash": "sha256-QV/eIy6yd6Lnmo8XV+E37/oCZCC3jlPu31emH0MgiO4=", + "owner": "mrcjkb", + "repo": "vimcats", + "rev": "28a72e0934b5d4beb95eb7cfd17cec9f289cbb0e", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "repo": "vimcats", + "type": "github" + } + }, + "vimcats_2": { + "inputs": { + "flake-parts": "flake-parts_17", + "nixpkgs": "nixpkgs_14" + }, + "locked": { + "lastModified": 1725470456, + "narHash": "sha256-QV/eIy6yd6Lnmo8XV+E37/oCZCC3jlPu31emH0MgiO4=", + "owner": "mrcjkb", + "repo": "vimcats", + "rev": "28a72e0934b5d4beb95eb7cfd17cec9f289cbb0e", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "repo": "vimcats", + "type": "github" + } + }, + "vimcats_3": { + "inputs": { + "flake-parts": "flake-parts_18", + "git-hooks": "git-hooks_11", + "nixpkgs": "nixpkgs_15" + }, + "locked": { + "lastModified": 1726045206, + "narHash": "sha256-/ekQF2pE/juZ7AVge9bqodQLx4n0uaV4j2taD5U78R0=", + "owner": "mrcjkb", + "repo": "vimcats", + "rev": "fd213ad22ffbfff87899c872752a1c92814c93fa", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "repo": "vimcats", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 382d68d..9f486b7 100755 --- a/flake.nix +++ b/flake.nix @@ -24,7 +24,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - cats-doc.url = "github:mrcjkb/cats-doc"; + vimcats.url = "github:mrcjkb/vimcats"; rocks-nvim-flake = { url = "github:nvim-neorocks/rocks.nvim"; diff --git a/ftplugin/toml.lua b/ftplugin/toml.lua index 6471b01..42392ea 100644 --- a/ftplugin/toml.lua +++ b/ftplugin/toml.lua @@ -1,9 +1,17 @@ -local ok, rocks = pcall(require, "rocks.api") +local rocks_edit = require("rocks-edit") -assert(ok, "rocks.nvim is required for `rocks-edit.nvim` to function, please install it!") - -if vim.uv.fs_realpath(vim.fn.expand("%")) == vim.uv.fs_realpath(rocks.get_rocks_toml_path()) then - local rocks_edit = require("rocks-edit") - - rocks_edit.display_diagnostics(vim.api.nvim_get_current_buf()) +if not vim.g.rocks_edit_nvim_loaded then + local group = vim.api.nvim_create_augroup("rocks-edit.nvim", { clear = true }) + rocks_edit.configure() + -- one-time initialisation logic + vim.api.nvim_create_autocmd("User", { + pattern = "RocksCachePopulated", + group = group, + callback = function() + rocks_edit.display_diagnostics() + end, + }) + vim.g.rocks_edit_nvim_loaded = true end + +rocks_edit.display_diagnostics() diff --git a/lua/rocks-edit/_meta.lua b/lua/rocks-edit/_meta.lua new file mode 100644 index 0000000..97eda34 --- /dev/null +++ b/lua/rocks-edit/_meta.lua @@ -0,0 +1,38 @@ +---@mod rocks-edit.nvim See useful diagnostics right from your rocks.toml + +---@toc rocks-edit-contents + +---@mod rocks-edit.config rocks-edit.nvim configuration +--- +---@brief [[ +---You can configure rocks-edit.nvim using a `[edit]` table in your rocks.toml. +--- +---Example: +--->toml +--- [edit.builtin_sources] +--- unsynced = true +--- updated = true +--- +--- [edit] +--- events = [ "TextChanged", "BufWritePost" ] +---< +--- +---@brief ]] + +---@class rocks-edit.Config +--- +---A list of module paths to invoke that act as sources for `rocks-edit.nvim`. +---@field builtin_sources table +--- +---@alias builtin_source +---| "unsynced" +---| "updates" +--- +---A list of events that trigger a refresh. +---@field events string[] + +error("Cannot require a meta module") + +local M = {} + +return M diff --git a/lua/rocks-edit/api.lua b/lua/rocks-edit/api.lua index f6dadc6..1ed4139 100644 --- a/lua/rocks-edit/api.lua +++ b/lua/rocks-edit/api.lua @@ -26,7 +26,4 @@ end ---@alias rocks-edit.Source fun(toml: RocksToml, set: fun(diagnostic: rocks-edit.Diagnostic)) ----@class rocks-edit.Config ----@field builtin_sources table A list of module paths to invoke that act as sources for `rocks-edit.nvim`. - return api diff --git a/lua/rocks-edit/config.lua b/lua/rocks-edit/config.lua index 90bf61d..858e711 100644 --- a/lua/rocks-edit/config.lua +++ b/lua/rocks-edit/config.lua @@ -1,10 +1,15 @@ -local internal = require("rocks-edit.internal") - local config = {} ---@type rocks-edit.Config local default_config = { - builtin_sources = { unsynced = true, updates = true }, + builtin_sources = { + unsynced = true, + updates = true, + }, + events = { + "BufWritePost", + "TextChanged", + }, } local current_config = vim.deepcopy(default_config) @@ -36,7 +41,7 @@ function config.validate(conf) end function config.configure() - local toml = internal.get_toml() + local toml = require("rocks.api").get_rocks_toml() if toml.edit then config.configure_from_table(toml.edit) diff --git a/lua/rocks-edit/init.lua b/lua/rocks-edit/init.lua index 11379ae..8c1141c 100644 --- a/lua/rocks-edit/init.lua +++ b/lua/rocks-edit/init.lua @@ -1,30 +1,23 @@ local internal = require("rocks-edit.internal") local config = require("rocks-edit.config") +local rocks = require("rocks.api") local rocks_edit = {} -local function attach_callbacks(buffer) - local group = vim.api.nvim_create_augroup("rocks-edit.nvim", { clear = true }) - local modified +---@param buffer number The buffer ID. +local function is_rocks_toml(buffer) + local buf_path = vim.uv.fs_realpath(vim.api.nvim_buf_get_name(buffer)) + local rocks_toml_path = vim.uv.fs_realpath(rocks.get_rocks_toml_path()) + return buf_path == rocks_toml_path +end - vim.api.nvim_create_autocmd("BufWritePre", { - buffer = buffer, - group = group, - callback = function() - -- The `modified` variable cannot be checked after - -- the buffer has been written, so we check here instead. - modified = vim.bo[buffer].modified - end, - }) +local function attach_callbacks(buffer) + local group = vim.api.nvim_create_augroup("rocks-edit.nvim-callbacks", { clear = true }) - vim.api.nvim_create_autocmd("BufWritePost", { + vim.api.nvim_create_autocmd(config.get().events, { buffer = buffer, group = group, callback = function() - if not modified then - return - end - rocks_edit.display_diagnostics(buffer) end, }) @@ -38,11 +31,15 @@ function rocks_edit.configure() end --- Displays diagnostics for a given buffer. ----@param buffer number The buffer ID. +---@param buffer? number The buffer ID. function rocks_edit.display_diagnostics(buffer) + buffer = buffer or vim.api.nvim_get_current_buf() + if not is_rocks_toml(buffer) then + return + end -- Implictly read dynamic configuration (allows for hot-reloading of settings -- creating in rocks.toml) - rocks_edit.configure() + local ok = pcall(rocks_edit.configure) internal.clear_sources() @@ -56,7 +53,9 @@ function rocks_edit.display_diagnostics(buffer) end end - attach_callbacks(buffer) + if ok then + attach_callbacks(buffer) + end internal.check_rocks_toml(buffer) end diff --git a/lua/rocks-edit/internal.lua b/lua/rocks-edit/internal.lua index a8210a4..f80aae8 100644 --- a/lua/rocks-edit/internal.lua +++ b/lua/rocks-edit/internal.lua @@ -1,18 +1,36 @@ local internal = {} +local nio = require("nio") + ---@type rocks-edit.Source[] local callbacks = {} local diagnostics_namespace = vim.api.nvim_create_namespace("rocks-edit/diagnostics") -function internal.rocks_toml_content() - -- TODO(vhyrro): Refactor to use the path of the current buffer instead - - -- no need to check the toml path twice. - return table.concat(vim.fn.readfile(require("rocks.api").get_rocks_toml_path()), "\n") -end - -function internal.get_toml() - return require("rocks.api").get_rocks_toml() +---@param content string +---@return boolean +---@return RocksToml | string +local function try_parse_toml(content) + local ok, rocks_toml = pcall(require("toml_edit").parse_as_tbl, content) + if not ok then + return ok, rocks_toml and tostring(rocks_toml) or "Could not parse rocks.toml" + end + for key, tbl in pairs(rocks_toml) do + if key == "rocks" or key == "plugins" then + for name, data in pairs(tbl) do + if type(data) == "string" then + ---@type RockSpec + rocks_toml[key][name] = { + name = name, + version = data, + } + else + rocks_toml[key][name].name = name + end + end + end + end + return ok, rocks_toml end ---@param callback rocks-edit.Source @@ -24,47 +42,93 @@ function internal.clear_sources() callbacks = {} end +---Used to abort a running check early if check_rocks_toml is invoked again +local abort_trigger = false +local semaphore = nio.control.semaphore(1) + ---@param buffer number The buffer ID. function internal.check_rocks_toml(buffer) - vim.diagnostic.reset(diagnostics_namespace, buffer) - - local toml = internal.get_toml() - - local spanned_toml = require("toml_edit").parse_spanned(internal.rocks_toml_content()) - ---@type rocks-edit.Diagnostic[] - local diagnostics = {} - - ---@param diagnostic rocks-edit.Diagnostic - local function set(diagnostic) - local diagnostic_range = spanned_toml.span_of(diagnostic.path, diagnostic.selector) - - if not diagnostic_range then - return - end - - vim.api.nvim_buf_call(buffer, function() - local range_start = vim.fn.byte2line(diagnostic_range.start + 1) - local range_end = vim.fn.byte2line(diagnostic_range["end"] + 1) - - local col_start = diagnostic_range.start - vim.fn.line2byte(range_start) - local col_end = diagnostic_range["end"] - vim.fn.line2byte(range_end) - - table.insert(diagnostics, { - message = diagnostic.message, - severity = diagnostic.severity, - col = col_start + 1, - end_col = col_end + 1, - lnum = range_start - 1, - end_lnum = range_end - 1, - }) - - vim.diagnostic.set(diagnostics_namespace, buffer, diagnostics, {}) + nio.run(function() + abort_trigger = true + semaphore.with(function() + abort_trigger = false + vim.diagnostic.reset(diagnostics_namespace, buffer) + + ---@type rocks-edit.Diagnostic[] + local diagnostics = {} + local content = table.concat(vim.api.nvim_buf_get_lines(buffer, 0, -1, false), "\n") + local parse_ok, toml = try_parse_toml(content) + if not parse_ok then + ---@cast toml string + local lnum, col, msg = string.match(toml, "TOML parse error at line (%d+), column (%d+)%s*\n(.*)") + lnum = lnum and tonumber(lnum) - 1 or 0 + col = col and tonumber(col) - 1 or 0 + local diagnostic_lines = { "TOML parse error" } + local lines = vim.split(msg or toml, "\n") + for _, line in ipairs(lines) do + if line:find("stack traceback") ~= nil then + break + end + table.insert(diagnostic_lines, line) + end + ---@type vim.Diagnostic[] + table.insert(diagnostics, { + message = table.concat(diagnostic_lines, "\n"), + severity = vim.diagnostic.severity.ERROR, + col = col, + end_col = col, + lnum = lnum, + end_lnum = lnum, + }) + vim.diagnostic.set(diagnostics_namespace, buffer, diagnostics, {}) + return + end + ---@cast toml RocksToml + + local spanned_toml = require("toml_edit").parse_spanned(content) + + ---@param diagnostic rocks-edit.Diagnostic + local function set(diagnostic) + if abort_trigger then + error("aborted") + end + local diagnostic_range = spanned_toml.span_of(diagnostic.path, diagnostic.selector) + + if not diagnostic_range then + return + end + + vim.api.nvim_buf_call(buffer, function() + local range_start = vim.fn.byte2line(diagnostic_range.start + 1) + local range_end = vim.fn.byte2line(diagnostic_range["end"] + 1) + + local col_start = diagnostic_range.start - vim.fn.line2byte(range_start) + local col_end = diagnostic_range["end"] - vim.fn.line2byte(range_end) + + table.insert(diagnostics, { + message = diagnostic.message, + severity = diagnostic.severity, + col = col_start + 1, + end_col = col_end + 1, + lnum = range_start - 1, + end_lnum = range_end - 1, + }) + + vim.diagnostic.set(diagnostics_namespace, buffer, diagnostics, {}) + end) + end + + pcall(function() + nio.gather(vim.iter(callbacks) + :map(function(callback) + return nio.create(function() + callback(toml, set) + end) + end) + :totable()) + end) end) - end - - for _, callback in ipairs(callbacks) do - callback(toml, set) - end + end) end return internal diff --git a/lua/rocks-edit/sources/updates.lua b/lua/rocks-edit/sources/updates.lua index 28520c8..e062c8d 100644 --- a/lua/rocks-edit/sources/updates.lua +++ b/lua/rocks-edit/sources/updates.lua @@ -1,32 +1,39 @@ -local nio = require("nio") +local cache_populated = false require("rocks-edit.api").register(function(toml, diagnostic) - nio.run(function() - local updates = require("rocks.state").outdated_rocks() + local updates = require("rocks.api").try_get_cached_outdated_rocks() + if not cache_populated and #updates == 0 then + --- HACK: internal API! Rocks.nvim should provide an option to fall back to a + --- luarocks query if the cache is not populated. + updates = require("rocks.state").outdated_rocks() + cache_populated = true + end - for name, data in pairs(updates) do - if toml.plugins[name] then - -- Compare the versions to see if there was a breaking change. - -- If the major version was bumped, display the diangnostic as a warning instead. + for name, data in pairs(updates) do + if toml.plugins[name] then + -- Compare the versions to see if there was a breaking change. + -- If the major version was bumped, display the diangnostic as a warning instead. - local severity = vim.diagnostic.severity.INFO - local message = string.format("update available: `%s` -> `%s`", data.version, data.target_version) + local severity = vim.diagnostic.severity.INFO + local message = string.format("update available: `%s` -> `%s`", data.version, data.target_version) - local ok_1, old_version = pcall(vim.version.parse, toml.plugins[name].version) - local ok_2, new_version = pcall(vim.version.parse, data.target_version) + local ok_1, old_version = pcall(vim.version.parse, toml.plugins[name].version) + local ok_2, new_version = pcall(vim.version.parse, data.target_version) + --- XXX: Since Neovim 0.11, vim.version.parse returns nil if parsing fails. + ok_1 = ok_1 and old_version ~= nil + ok_2 = ok_2 and new_version ~= nil - if ok_1 and ok_2 and assert(new_version).major > assert(old_version).major then - severity = vim.diagnostic.severity.WARN - message = message .. " (breaking)" - end - - diagnostic({ - message = message, - path = { "plugins", name }, - selector = "key", - severity = severity, - }) + if ok_1 and ok_2 and assert(new_version).major > assert(old_version).major then + severity = vim.diagnostic.severity.WARN + message = message .. " (breaking)" end + + diagnostic({ + message = message, + path = { "plugins", name }, + selector = "key", + severity = severity, + }) end - end) + end end) diff --git a/nix/ci-overlay.nix b/nix/ci-overlay.nix index 0441df1..3401f2b 100755 --- a/nix/ci-overlay.nix +++ b/nix/ci-overlay.nix @@ -46,11 +46,11 @@ docgen = final.writeShellApplication { name = "docgen"; runtimeInputs = [ - inputs.cats-doc.packages.${final.system}.default + inputs.vimcats.packages.${final.system}.default ]; text = '' mkdir -p doc - lemmy-help lua/rocks-edit/api.lua > doc/rocks-edit.txt + vimcats lua/rocks-edit/{_meta.lua,api.lua} > doc/rocks-edit.txt ''; }; in {