From 8a148ad71e93c48047a9f9b8cb0b0923f4f6e967 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 1 Apr 2025 16:41:10 +0300 Subject: [PATCH 01/55] ui/colorful-menu-nvim --- docs/release-notes/rl-0.8.md | 8 ++++++-- .../colorful-menu-nvim/colorful-menu-nvim.nix | 9 +++++++++ .../plugins/ui/colorful-menu-nvim/config.nix | 20 +++++++++++++++++++ .../plugins/ui/colorful-menu-nvim/default.nix | 6 ++++++ modules/plugins/ui/default.nix | 17 ++++++++-------- npins/sources.json | 13 ++++++++++++ 6 files changed, 63 insertions(+), 10 deletions(-) create mode 100644 modules/plugins/ui/colorful-menu-nvim/colorful-menu-nvim.nix create mode 100644 modules/plugins/ui/colorful-menu-nvim/config.nix create mode 100644 modules/plugins/ui/colorful-menu-nvim/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1d3e0491..e4f5a5a9 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -26,6 +26,7 @@ [yanky.nvim]: https://github.com/gbprod/yanky.nvim [yazi.nvim]: https://github.com/mikavilpas/yazi.nvim [snacks.nvim]: https://github.com/folke/snacks.nvim +[colorful-menu.nvim]: https://github.com/xzbdmw/colorful-menu.nvim - Add [typst-preview.nvim] under `languages.typst.extensions.typst-preview-nvim`. @@ -83,6 +84,9 @@ - Lazyload Lspsaga and remove default keybindings for it. +- Add [colorful-menu.nvim] to enhance the completion menus, with optional + integration for blink-cmp and nvim-cmp + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim @@ -249,8 +253,8 @@ [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) so blink.cmp can source snippets from it. - Fix [blink.cmp] breaking when built-in sources were modified. -- Fix [conform.nvim] not allowing disabling formatting on and after save. - Use `null` value to disable them if conform is enabled. +- Fix [conform.nvim] not allowing disabling formatting on and after save. Use + `null` value to disable them if conform is enabled. [TheColorman](https://github.com/TheColorman): diff --git a/modules/plugins/ui/colorful-menu-nvim/colorful-menu-nvim.nix b/modules/plugins/ui/colorful-menu-nvim/colorful-menu-nvim.nix new file mode 100644 index 00000000..075b3d9a --- /dev/null +++ b/modules/plugins/ui/colorful-menu-nvim/colorful-menu-nvim.nix @@ -0,0 +1,9 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.ui.colorful-menu-nvim = { + enable = mkEnableOption "treesitter highlighted completion menus [colorful-menu.nvim]"; + setupOpts = mkPluginSetupOption "colorful-menu-nvim" {}; + }; +} diff --git a/modules/plugins/ui/colorful-menu-nvim/config.nix b/modules/plugins/ui/colorful-menu-nvim/config.nix new file mode 100644 index 00000000..da300274 --- /dev/null +++ b/modules/plugins/ui/colorful-menu-nvim/config.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.ui.colorful-menu-nvim; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["colorful-menu-nvim"]; + pluginRC.colorful-menu-nvim = entryAnywhere '' + require("colorful-menu").setup(${toLuaObject cfg.setupOpts}) + ''; + }; + }; +} diff --git a/modules/plugins/ui/colorful-menu-nvim/default.nix b/modules/plugins/ui/colorful-menu-nvim/default.nix new file mode 100644 index 00000000..198e844e --- /dev/null +++ b/modules/plugins/ui/colorful-menu-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./colorful-menu-nvim.nix + ]; +} diff --git a/modules/plugins/ui/default.nix b/modules/plugins/ui/default.nix index e9489e9b..50112650 100644 --- a/modules/plugins/ui/default.nix +++ b/modules/plugins/ui/default.nix @@ -1,14 +1,15 @@ { imports = [ - ./noice - ./modes - ./nvim-ufo - ./notifications - ./smartcolumn - ./colorizer - ./illuminate - ./breadcrumbs ./borders + ./breadcrumbs + ./colorful-menu-nvim + ./colorizer ./fastaction + ./illuminate + ./modes + ./noice + ./notifications + ./nvim-ufo + ./smartcolumn ]; } diff --git a/npins/sources.json b/npins/sources.json index f9091f20..77f5a460 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -289,6 +289,19 @@ "url": "https://github.com/gorbit99/codewindow.nvim/archive/dd7017617962943eb1d152fc58940f11c6775a4a.tar.gz", "hash": "1kxkf50rkqrzqz03jvygbwxb1yfmqh0gskr00vpmyrq51569a2hw" }, + "colorful-menu-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "xzbdmw", + "repo": "colorful-menu.nvim" + }, + "branch": "master", + "submodules": false, + "revision": "f80feb8a6706f965321aff24d0ed3849f02a7f77", + "url": "https://github.com/xzbdmw/colorful-menu.nvim/archive/f80feb8a6706f965321aff24d0ed3849f02a7f77.tar.gz", + "hash": "1rj6yy7gchdyynhd13l35vhmn8npldmgn4vam9gv244mywpz3flw" + }, "comment-nvim": { "type": "Git", "repository": { From b89ed914055ce246493eaf8cc33553ad25b9a64f Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 19 Jul 2025 04:28:17 +0300 Subject: [PATCH 02/55] git/hunk-nvim: init Signed-off-by: NotAShelf Change-Id: I6a6a6964c7b5ff071d9ac1713a149ebd9c3abd0f --- docs/release-notes/rl-0.8.md | 26 +++++++++++++-------- modules/plugins/git/default.nix | 3 +++ modules/plugins/git/hunk-nvim/config.nix | 21 +++++++++++++++++ modules/plugins/git/hunk-nvim/default.nix | 6 +++++ modules/plugins/git/hunk-nvim/hunk-nvim.nix | 13 +++++++++++ npins/sources.json | 16 +++++++++++++ 6 files changed, 75 insertions(+), 10 deletions(-) create mode 100644 modules/plugins/git/hunk-nvim/config.nix create mode 100644 modules/plugins/git/hunk-nvim/default.nix create mode 100644 modules/plugins/git/hunk-nvim/hunk-nvim.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c72f65d7..e18c95fe 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -36,6 +36,7 @@ [yazi.nvim]: https://github.com/mikavilpas/yazi.nvim [snacks.nvim]: https://github.com/folke/snacks.nvim [oil.nvim]: https://github.com/stevearc/oil.nvim +[hunk.nvim]: https://github.com/julienvincent/hunk.nvim - Add [typst-preview.nvim] under `languages.typst.extensions.typst-preview-nvim`. @@ -104,6 +105,8 @@ relevant packages in a simple UI. - This deprecates `vim.useSystemClipboard` as well, see breaking changes section above for migration options. +- Add [hunk.nvim], Neovim plugin & tool for splitting diffs in Neovim. Available + as `vim.git.hunk-nvim` [amadaluzia](https://github.com/amadaluzia): @@ -431,7 +434,7 @@ - Add missing `transparent` option for existing [onedark.nvim](https://github.com/navarasu/onedark.nvim) theme. - + [theutz](https://github.com/theutz): - Added "auto" flavour for catppuccin theme @@ -443,19 +446,21 @@ [neogit]: https://github.com/NeogitOrg/neogit - Add [solarized.nvim] theme with support for multiple variants -- Add [smart-splits.nvim] for navigating between Neovim windows and terminal multiplexer panes. - Available at `vim.utility.smart-splits`. -- Restore vim-dirtytalk plugin and fix ordering with spellcheck in generated config. +- Add [smart-splits.nvim] for navigating between Neovim windows and terminal + multiplexer panes. Available at `vim.utility.smart-splits`. +- Restore vim-dirtytalk plugin and fix ordering with spellcheck in generated + config. - Fix lualine separator options -- Add [neogit], an interactive and powerful Git interface for Neovim, inspired by Magit +- Add [neogit], an interactive and powerful Git interface for Neovim, inspired + by Magit - Allow deregistering which-key binds or groups by setting them to `null` [justDeeevin](https://github.com/justDeeevin): [supermaven-nvim]: https://github.com/supermaven-inc/supermaven-nvim -- Add [supermaven-nvim] plugin in `vim.assistant.supermaven-nvim` with `enable` and - `setupOpts` +- Add [supermaven-nvim] plugin in `vim.assistant.supermaven-nvim` with `enable` + and `setupOpts` [trueNAHO](https://github.com/trueNAHO): @@ -463,9 +468,10 @@ download size. - `flake-utils`'s `systems` inputs follows nvf's `systems` input to transitively - leverage the pattern introduced in commit [fc8206e7a61d ("flake: utilize - nix-systems for overridable flake systems")]( - https://github.com/NotAShelf/nvf/commit/fc8206e7a61d7eb02006f9010e62ebdb3336d0d2). + leverage the pattern introduced in commit + [fc8206e7a61d ("flake: utilize + nix-systems for overridable flake systems")](https://github.com/NotAShelf/nvf/commit/fc8206e7a61d7eb02006f9010e62ebdb3336d0d2). [soliprem](https://github.com/soliprem): + - fix broken `neorg` grammars diff --git a/modules/plugins/git/default.nix b/modules/plugins/git/default.nix index 5b30b74a..76bb5786 100644 --- a/modules/plugins/git/default.nix +++ b/modules/plugins/git/default.nix @@ -3,6 +3,7 @@ in { imports = [ ./gitsigns + ./hunk-nvim ./vim-fugitive ./git-conflict ./gitlinker-nvim @@ -14,7 +15,9 @@ in { git integration suite. Enabling this option will enable the following plugins: + * gitsigns + * hunk-nvim * vim-fugitive * git-conflict * gitlinker-nvim diff --git a/modules/plugins/git/hunk-nvim/config.nix b/modules/plugins/git/hunk-nvim/config.nix new file mode 100644 index 00000000..db97d8f7 --- /dev/null +++ b/modules/plugins/git/hunk-nvim/config.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.git.hunk-nvim; +in { + config = mkIf cfg.enable { + vim = { + lazy.plugins = { + "hunk-nvim" = { + package = "hunk-nvim"; + setupModule = "gitlinker"; + inherit (cfg) setupOpts; + }; + }; + }; + }; +} diff --git a/modules/plugins/git/hunk-nvim/default.nix b/modules/plugins/git/hunk-nvim/default.nix new file mode 100644 index 00000000..72ce88a0 --- /dev/null +++ b/modules/plugins/git/hunk-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hunk-nvim.nix + ./config.nix + ]; +} diff --git a/modules/plugins/git/hunk-nvim/hunk-nvim.nix b/modules/plugins/git/hunk-nvim/hunk-nvim.nix new file mode 100644 index 00000000..b11ba4ae --- /dev/null +++ b/modules/plugins/git/hunk-nvim/hunk-nvim.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.git.hunk-nvim = { + enable = mkEnableOption "tool for splitting diffs in Neovim [hunk-nvim]" // {default = config.vim.git.enable;}; + setupOpts = mkPluginSetupOption "hunk-nvim" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index fd5a34f2..00dcea83 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -692,6 +692,22 @@ "url": "https://github.com/phaazon/hop.nvim/archive/1a1eceafe54b5081eae4cb91c723abd1d450f34b.tar.gz", "hash": "08h18cam2yr57qvfsnf1bra28vbl6013wlchnr5crb757xw8aysa" }, + "hunk-nvim": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "julienvincent", + "repo": "hunk.nvim" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "submodules": false, + "version": "v1.8.0", + "revision": "1e0a4d719c780bb8b0690a54915601508ced321e", + "url": "https://api.github.com/repos/julienvincent/hunk.nvim/tarball/v1.8.0", + "hash": "036cwnswx36m048mvlwa8rr9baclf7lrgjlq065pb4w13c4drbmx" + }, "hydra-nvim": { "type": "GitRelease", "repository": { From 79d566154726ce6c0c0b0f341b732f93a9387621 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 19 Jul 2025 17:45:19 +0300 Subject: [PATCH 03/55] git/hunk-nvim: add missing UI dependency Signed-off-by: NotAShelf Change-Id: I6a6a69645f227bef24e5e8481dcd4727623e710f --- modules/plugins/git/hunk-nvim/config.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/plugins/git/hunk-nvim/config.nix b/modules/plugins/git/hunk-nvim/config.nix index db97d8f7..9444bdb3 100644 --- a/modules/plugins/git/hunk-nvim/config.nix +++ b/modules/plugins/git/hunk-nvim/config.nix @@ -9,10 +9,16 @@ in { config = mkIf cfg.enable { vim = { + startPlugins = [ + # dependencies + "nui-nvim" # ui library + "nvim-web-devicons" # glyphs + ]; + lazy.plugins = { "hunk-nvim" = { package = "hunk-nvim"; - setupModule = "gitlinker"; + setupModule = "hunk-nvim"; inherit (cfg) setupOpts; }; }; From 7c1f5db3a52428c216a1d4cacea117e2809891c0 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 19 Jul 2025 17:45:19 +0300 Subject: [PATCH 04/55] git/hunk-nvim: add missing UI dependency Signed-off-by: NotAShelf Change-Id: I6a6a69645f227bef24e5e8481dcd4727623e710f --- modules/plugins/git/hunk-nvim/config.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/plugins/git/hunk-nvim/config.nix b/modules/plugins/git/hunk-nvim/config.nix index db97d8f7..5eb41448 100644 --- a/modules/plugins/git/hunk-nvim/config.nix +++ b/modules/plugins/git/hunk-nvim/config.nix @@ -9,10 +9,16 @@ in { config = mkIf cfg.enable { vim = { + startPlugins = [ + # dependencies + "nui-nvim" # ui library + "nvim-web-devicons" # glyphs + ]; + lazy.plugins = { "hunk-nvim" = { package = "hunk-nvim"; - setupModule = "gitlinker"; + setupModule = "hunk"; inherit (cfg) setupOpts; }; }; From b7b442737a8d81abaec087189a72776c2dc9976e Mon Sep 17 00:00:00 2001 From: Abhi <85126640+abhirath-a@users.noreply.github.com> Date: Sat, 19 Jul 2025 14:14:40 -0400 Subject: [PATCH 05/55] utility/undotree: init module --- modules/plugins/utility/undotree/undotree.nix | 25 +++++++++++++++++++ npins/sources.json | 13 ++++++++++ 2 files changed, 38 insertions(+) create mode 100644 modules/plugins/utility/undotree/undotree.nix diff --git a/modules/plugins/utility/undotree/undotree.nix b/modules/plugins/utility/undotree/undotree.nix new file mode 100644 index 00000000..936253e5 --- /dev/null +++ b/modules/plugins/utility/undotree/undotree.nix @@ -0,0 +1,25 @@ +{ lib, ... }: +let + inherit (lib.types) bool int; + inherit (lib.options) mkEnableOption mkOption; + + inherit (lib.nvim.types) mkPluginSetupOption; +in +{ + options.vim.undotree = { + enable = mkEnableOption "undotree"; + setupOpts = mkPluginSetupOption "undotree" { + # enable_feature_a = mkOption { + # type = bool; + # default = false; + # # ... + # }; + # + # number_option = mkOption { + # type = int; + # default = 3; + # # ... + # }; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 00dcea83..3c3bc3c3 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2497,6 +2497,19 @@ "url": "https://github.com/chomosuke/typst-preview.nvim/archive/dea4525d5420b7c32eebda7de15a6beb9d6574fa.tar.gz", "hash": "0y658l2ibq0x4cwa4rl3lab7aw4ba68xcrdnxp81p2rsk0d60qq4" }, + "undotree": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "mbbill", + "repo": "undotree" + }, + "branch": "master", + "submodules": false, + "revision": "28f2f54a34baff90ea6f4a735ef1813ad875c743", + "url": "https://github.com/mbbill/undotree/archive/28f2f54a34baff90ea6f4a735ef1813ad875c743.tar.gz", + "hash": "0k9qfp64rbwy1lc62x0vkwfl3qlx8633lfbhqxkf64yqwi81ysp5" + }, "vim-dirtytalk": { "type": "Git", "repository": { From 81d566ac39b8531ffc985e228684552851356720 Mon Sep 17 00:00:00 2001 From: Abhi <85126640+abhirath-a@users.noreply.github.com> Date: Sat, 19 Jul 2025 14:44:47 -0400 Subject: [PATCH 06/55] utility/undotree: removed unimportant boilerplate --- configuration.nix | 9 ++++++--- modules/plugins/utility/default.nix | 1 + modules/plugins/utility/undotree/config.nix | 6 ++++++ modules/plugins/utility/undotree/default.nix | 6 ++++++ modules/plugins/utility/undotree/undotree.nix | 18 +----------------- 5 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 modules/plugins/utility/undotree/config.nix create mode 100644 modules/plugins/utility/undotree/default.nix diff --git a/configuration.nix b/configuration.nix index 424d7173..80a34157 100644 --- a/configuration.nix +++ b/configuration.nix @@ -43,7 +43,7 @@ isMaximal: { # This section does not include a comprehensive list of available language modules. # To list all available language module options, please visit the nvf manual. languages = { - enableFormat = true; # + enableFormat = true; enableTreesitter = true; enableExtraDiagnostics = true; @@ -184,6 +184,7 @@ isMaximal: { project-nvim.enable = isMaximal; }; + undotree.enable = isMaximal; utility = { ccc.enable = false; vim-wakatime.enable = false; @@ -194,7 +195,6 @@ isMaximal: { leetcode-nvim.enable = isMaximal; multicursors.enable = isMaximal; smart-splits.enable = isMaximal; - motion = { hop.enable = true; leap.enable = true; @@ -238,7 +238,10 @@ isMaximal: { nix = "110"; ruby = "120"; java = "130"; - go = ["90" "130"]; + go = [ + "90" + "130" + ]; }; }; fastaction.enable = true; diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 8069b6c1..79d7d924 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -26,5 +26,6 @@ ./wakatime ./yanky-nvim ./yazi-nvim + ./undotree ]; } diff --git a/modules/plugins/utility/undotree/config.nix b/modules/plugins/utility/undotree/config.nix new file mode 100644 index 00000000..7f2ffeba --- /dev/null +++ b/modules/plugins/utility/undotree/config.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + vim.lazy.plugins.undotree = { + cmd = [ "UndotreeToggle" ]; + }; +} diff --git a/modules/plugins/utility/undotree/default.nix b/modules/plugins/utility/undotree/default.nix new file mode 100644 index 00000000..012d8454 --- /dev/null +++ b/modules/plugins/utility/undotree/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./undotree.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/undotree/undotree.nix b/modules/plugins/utility/undotree/undotree.nix index 936253e5..be9a92ab 100644 --- a/modules/plugins/utility/undotree/undotree.nix +++ b/modules/plugins/utility/undotree/undotree.nix @@ -1,25 +1,9 @@ { lib, ... }: let - inherit (lib.types) bool int; - inherit (lib.options) mkEnableOption mkOption; - - inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.options) mkEnableOption; in { options.vim.undotree = { enable = mkEnableOption "undotree"; - setupOpts = mkPluginSetupOption "undotree" { - # enable_feature_a = mkOption { - # type = bool; - # default = false; - # # ... - # }; - # - # number_option = mkOption { - # type = int; - # default = 3; - # # ... - # }; - }; }; } From b7191033376981a711c2fae18d904608cdb24096 Mon Sep 17 00:00:00 2001 From: Abhi <85126640+abhirath-a@users.noreply.github.com> Date: Sat, 19 Jul 2025 18:57:31 -0400 Subject: [PATCH 07/55] formatted files --- configuration.nix | 9 +++------ modules/plugins/utility/undotree/config.nix | 1 + 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/configuration.nix b/configuration.nix index 80a34157..0d53fec9 100644 --- a/configuration.nix +++ b/configuration.nix @@ -43,7 +43,7 @@ isMaximal: { # This section does not include a comprehensive list of available language modules. # To list all available language module options, please visit the nvf manual. languages = { - enableFormat = true; + enableFormat = true; # enableTreesitter = true; enableExtraDiagnostics = true; @@ -183,7 +183,6 @@ isMaximal: { projects = { project-nvim.enable = isMaximal; }; - undotree.enable = isMaximal; utility = { ccc.enable = false; @@ -195,6 +194,7 @@ isMaximal: { leetcode-nvim.enable = isMaximal; multicursors.enable = isMaximal; smart-splits.enable = isMaximal; + motion = { hop.enable = true; leap.enable = true; @@ -238,10 +238,7 @@ isMaximal: { nix = "110"; ruby = "120"; java = "130"; - go = [ - "90" - "130" - ]; + go = ["90" "130"]; }; }; fastaction.enable = true; diff --git a/modules/plugins/utility/undotree/config.nix b/modules/plugins/utility/undotree/config.nix index 7f2ffeba..9b7e4d6f 100644 --- a/modules/plugins/utility/undotree/config.nix +++ b/modules/plugins/utility/undotree/config.nix @@ -1,6 +1,7 @@ { ... }: { vim.lazy.plugins.undotree = { + package = "undotree"; cmd = [ "UndotreeToggle" ]; }; } From 861d6f3ed7d68b16381b9893ec6603e9e30ed6d3 Mon Sep 17 00:00:00 2001 From: Abhi <85126640+abhirath-a@users.noreply.github.com> Date: Sat, 19 Jul 2025 19:10:30 -0400 Subject: [PATCH 08/55] updated release notes --- docs/release-notes/rl-0.8.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e18c95fe..c4ad963c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -37,6 +37,7 @@ [snacks.nvim]: https://github.com/folke/snacks.nvim [oil.nvim]: https://github.com/stevearc/oil.nvim [hunk.nvim]: https://github.com/julienvincent/hunk.nvim +[undotree]: https://github.com/mbbill/undotree - Add [typst-preview.nvim] under `languages.typst.extensions.typst-preview-nvim`. From 1bb94549338942b11ee5e65dc185b0d762ef84ba Mon Sep 17 00:00:00 2001 From: Abhi <85126640+abhirath-a@users.noreply.github.com> Date: Sat, 19 Jul 2025 23:14:01 -0400 Subject: [PATCH 09/55] utility/undotree: added extra commands to lazy loader --- modules/plugins/utility/undotree/config.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/plugins/utility/undotree/config.nix b/modules/plugins/utility/undotree/config.nix index 9b7e4d6f..6a674d95 100644 --- a/modules/plugins/utility/undotree/config.nix +++ b/modules/plugins/utility/undotree/config.nix @@ -2,6 +2,12 @@ { vim.lazy.plugins.undotree = { package = "undotree"; - cmd = [ "UndotreeToggle" ]; + cmd = [ + "UndotreeToggle" + "UndotreeShow" + "UndotreeHide" + "UndotreePersistUndo" + "UndotreeFocus" + ]; }; } From 60dd59ecae3a0fe9981aaa6a0b8cd3a54b2f3ba3 Mon Sep 17 00:00:00 2001 From: Abhirath A <85126640+abhirath-a@users.noreply.github.com> Date: Sun, 20 Jul 2025 05:39:20 -0400 Subject: [PATCH 10/55] utility/undotree: removed unnecessary lazy inputs Co-authored-by: raf --- modules/plugins/utility/undotree/config.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/plugins/utility/undotree/config.nix b/modules/plugins/utility/undotree/config.nix index 6a674d95..d954d49f 100644 --- a/modules/plugins/utility/undotree/config.nix +++ b/modules/plugins/utility/undotree/config.nix @@ -1,4 +1,3 @@ -{ ... }: { vim.lazy.plugins.undotree = { package = "undotree"; From 4847c099ebceacb073b2cddfb0c0e41fe75ea84d Mon Sep 17 00:00:00 2001 From: Abhirath A <85126640+abhirath-a@users.noreply.github.com> Date: Sun, 20 Jul 2025 05:39:51 -0400 Subject: [PATCH 11/55] utility/undotree: added description to enable Co-authored-by: raf --- modules/plugins/utility/undotree/undotree.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/utility/undotree/undotree.nix b/modules/plugins/utility/undotree/undotree.nix index be9a92ab..2483a1ec 100644 --- a/modules/plugins/utility/undotree/undotree.nix +++ b/modules/plugins/utility/undotree/undotree.nix @@ -4,6 +4,6 @@ let in { options.vim.undotree = { - enable = mkEnableOption "undotree"; + enable = mkEnableOption "undo history visualizer for Vim [undotree]"; }; } From c1fea3021494430190a7cb87504bafbc3f6426b4 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 20 Jul 2025 13:37:42 +0300 Subject: [PATCH 12/55] meta: add flake-compat & expose flakeless interface Signed-off-by: NotAShelf Change-Id: I6a6a6964afc8b84fe10106f0a90d4bf3acaeee85 --- default.nix | 15 +++++++++++++++ flake.lock | 17 +++++++++++++++++ flake.nix | 47 +++++++++++++++++++++++++++++++++-------------- shell.nix | 7 +++++++ 4 files changed, 72 insertions(+), 14 deletions(-) create mode 100644 default.nix create mode 100644 shell.nix diff --git a/default.nix b/default.nix new file mode 100644 index 00000000..e597b612 --- /dev/null +++ b/default.nix @@ -0,0 +1,15 @@ +(import ( + let + lock = builtins.fromJSON (builtins.readFile ./flake.lock); + inherit (lock.nodes.flake-compat.locked) url rev narHash; + in + builtins.fetchTarball { + url = "${url}/archive/${rev}.tar.gz"; + sha256 = narHash; + } + ) { + src = ./.; + copySourceTreeToStore = false; + useBuiltinsFetchTree = true; + }) +.defaultNix diff --git a/flake.lock b/flake.lock index c530031d..d33a8f7d 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1751685974, + "narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=", + "ref": "refs/heads/main", + "rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1", + "revCount": 92, + "type": "git", + "url": "https://git.lix.systems/lix-project/flake-compat.git" + }, + "original": { + "type": "git", + "url": "https://git.lix.systems/lix-project/flake-compat.git" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -73,6 +89,7 @@ }, "root": { "inputs": { + "flake-compat": "flake-compat", "flake-parts": "flake-parts", "flake-utils": "flake-utils", "mnw": "mnw", diff --git a/flake.nix b/flake.nix index 35f69ea6..74dcca35 100644 --- a/flake.nix +++ b/flake.nix @@ -5,8 +5,9 @@ self, ... } @ inputs: let - # call the extended library with `inputs` - # inputs is used to get the original standard library, and to pass inputs to the plugin autodiscovery function + # Call the extended library with `inputs`. + # inputs is used to get the original standard library, and to pass inputs + # to the plugin autodiscovery function lib = import ./lib/stdlib-extended.nix {inherit inputs self;}; in flake-parts.lib.mkFlake { @@ -29,6 +30,8 @@ inherit (lib.nvim) neovimConfiguration; }; + inherit (lib.importJSON ./npins/sources.json) pins; + homeManagerModules = { nvf = import ./flake/modules/home-manager.nix {inherit lib inputs;}; default = self.homeManagerModules.nvf; @@ -50,21 +53,33 @@ '' self.nixosModules.nvf; }; - - inherit (lib.importJSON ./npins/sources.json) pins; }; perSystem = {pkgs, ...}: { - # Provide the default formatter. `nix fmt` in project root - # will format available files with the correct formatter. - # P.S: Please do not format with nixfmt! It messes with many - # syntax elements and results in unreadable code. - formatter = pkgs.alejandra; + # Provides the default formatter for 'nix fmt', which will format the + # entire tree with Alejandra. The wrapper script is necessary due to + # changes to the behaviour of Nix, which now encourages wrappers for + # tree-wide formatting. + formatter = pkgs.writeShellApplication { + name = "nix3-fmt-wrapper"; - # Check if codebase is properly formatted. - # This can be initiated with `nix build .#checks..nix-fmt` - # or with `nix flake check` + runtimeInputs = [ + pkgs.alejandra + pkgs.fd + ]; + + text = '' + # Find Nix files in the tree and format them with Alejandra + fd "$@" -t f -e nix -x alejandra -q '{}' + ''; + }; + + # Provides checks to be built an ran on 'nix flake check'. They can also + # be built individually with 'nix build' as described below. checks = { + # Check if codebase is properly formatted. + # This can be initiated with `nix build .#checks..nix-fmt` + # or with `nix flake check` nix-fmt = pkgs.runCommand "nix-fmt-check" {nativeBuildInputs = [pkgs.alejandra];} '' alejandra --check ${self} < /dev/null | tee $out ''; @@ -72,8 +87,9 @@ }; }; - # Flake inputs inputs = { + systems.url = "github:nix-systems/default"; + ## Basic Inputs nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; @@ -87,7 +103,10 @@ inputs.systems.follows = "systems"; }; - systems.url = "github:nix-systems/default"; + flake-compat = { + url = "git+https://git.lix.systems/lix-project/flake-compat.git"; + flake = false; + }; # Alternate neovim-wrapper mnw.url = "github:Gerg-L/mnw"; diff --git a/shell.nix b/shell.nix new file mode 100644 index 00000000..8d17121f --- /dev/null +++ b/shell.nix @@ -0,0 +1,7 @@ +# Make the behaviour of `nix-shell` consistent with the one of `nix develop` +# by returning the default devShell output from the flake. This is useful when +# I do not want to work with direnv, or simply need backwards compatibility. +{system ? builtins.currentSystem}: let + nvf = import ./.; +in + nvf.devShells.${system}.default From a1dcd935b586ed6b562f7dee598d2d1072d36bb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Sun, 20 Jul 2025 13:12:28 +0200 Subject: [PATCH 13/55] docs: missing `with` in `treesitter.nix` --- modules/plugins/treesitter/treesitter.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/treesitter/treesitter.nix b/modules/plugins/treesitter/treesitter.nix index 80a30a5a..fb81f06f 100644 --- a/modules/plugins/treesitter/treesitter.nix +++ b/modules/plugins/treesitter/treesitter.nix @@ -25,7 +25,7 @@ in { type = listOf package; default = []; example = literalExpression '' - pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ regex kdl ]; From 33a69fae5f2651e7be08420d4488e4a15f90b789 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 20 Jul 2025 14:20:18 +0300 Subject: [PATCH 14/55] docs: add flakeless examples; describe flakes prerequisites Signed-off-by: NotAShelf Change-Id: I6a6a6964c8369dbdf7366e333378ee25d125c707 --- docs/manual/installation/modules/flakes.md | 33 ++++++++++ .../installation/modules/home-manager.md | 62 ++++++++++++++++-- docs/manual/installation/modules/nixos.md | 65 +++++++++++++++++-- docs/manual/try-it-out.md | 16 +++-- 4 files changed, 160 insertions(+), 16 deletions(-) create mode 100644 docs/manual/installation/modules/flakes.md diff --git a/docs/manual/installation/modules/flakes.md b/docs/manual/installation/modules/flakes.md new file mode 100644 index 00000000..273d2b00 --- /dev/null +++ b/docs/manual/installation/modules/flakes.md @@ -0,0 +1,33 @@ +### Prerequisites {#sec-flakes-prerequisites} + +To install nvf with flakes, you must make sure the following requirements are +met. + +1. Nix 2.4 or later must be installed. You may use `nix-shell` to get a later + version of Nix from nixpkgs. +2. Flake-related experimental features must be enabled. Namely, you need + `nix-command` and `flakes`. Some Nix vendors enable those by default, please + consult their documentation if you are not using mainstream Nix. + - When using NixOS, add the following to your `configuration.nix` and rebuild + your system. + + ```nix + nix.settings.experimental-features = "nix-command flakes"; + ``` + + - If you are not using NixOS, add the following to `nix.conf` (located at + `~/.config/nix/` or `/etc/nix/nix.conf`). + + ```bash + experimental-features = nix-command flakes + ``` + + - You may need to restart the Nix daemon with, for example, + `sudo systemctl restart nix-daemon.service`. + + - Alternatively, you can enable flakes on a per-command basis with the + following additional flags to `nix` and `home-manager`: + + ```sh + $ nix --extra-experimental-features "nix-command flakes" + ``` diff --git a/docs/manual/installation/modules/home-manager.md b/docs/manual/installation/modules/home-manager.md index 2b359af5..37d35e2b 100644 --- a/docs/manual/installation/modules/home-manager.md +++ b/docs/manual/installation/modules/home-manager.md @@ -5,9 +5,18 @@ inside the home-manager configuration without having to call for the wrapper yourself. It is the recommended way to use **nvf** alongside the NixOS module depending on your needs. -To use it, we first add the input flake. +## With Flakes {#sec-hm-flakes} + +```{=include=} +flakes.md +``` + +### Usage {#sec-hm-flakes-usage} + +To use **nvf** with flakes, we first need to add the input to our `flake.nix`. ```nix +# flake.nix { inputs = { # Optional, if you intend to follow nvf's obsidian-nvim input @@ -16,7 +25,7 @@ To use it, we first add the input flake. # Required, nvf works best and only directly supports flakes nvf = { - url = "github:notashelf/nvf"; + url = "github:NotAShelf/nvf"; # You can override the input nixpkgs to follow your system's # instance of nixpkgs. This is safe to do as nvf does not depend # on a binary cache. @@ -25,6 +34,8 @@ To use it, we first add the input flake. # for example: inputs.obsidian-nvim.follows = "obsidian-nvim"; # <- this will use the obsidian-nvim from your inputs }; + + # ... }; } ``` @@ -39,7 +50,7 @@ Followed by importing the home-manager module somewhere in your configuration. } ``` -## Example Installation {#sec-example-installation-hm} +### Example Installation {#sec-example-installation-hm} ```nix { @@ -66,7 +77,8 @@ Once the module is properly imported by your host, you will be able to use the `programs.nvf` module option anywhere in your configuration in order to configure **nvf**. -```nix{ +```nix +{ programs.nvf = { enable = true; # your settings need to go into the settings attribute set @@ -89,3 +101,45 @@ installation sections of the manual. You may find all available options in the [appendix](https://notashelf.github.io/nvf/options) ::: + +## Without Flakes {#sec-hm-flakeless} + +As of v0.8, it is possible to install **nvf** on a system if you are not using +flakes. This is possible thanks to the flake-compat project. + +To get started, you must fetch the repository using `builtins.fetchTarball` or a +similar mechanism. + +```nix +# home.nix +let + nvf = import (builtins.fetchTarball { + url = "https://github.com/notashelf/nvf/archive/.tar.gz"; + # Optionally, you can add 'sha256' for verification and caching + # sha256 = ""; + }); +in { + imports = [ + # Import the NixOS module from your fetched input + nvf.homeManagerModules.nvf + ]; + + # Once the module is imported, you may use `programs.nvf` as exposed by the + # NixOS module. + programs.nvf.enable = true; +} +``` + +[npins]: https://github.com/andir/npins +[niv]: https://github.com/nmattia/niv + +::: {.tip} + +Nix2 does not have a builtin lockfile mechanism like flakes. As such you must +manually update the URL and hash for your input. This is annoying to deal with, +and most users choose to defer this task to projects such as [npins] or [niv]. +If you are new to NixOS, I encourage you to look into Flakes and see if they fit +your use case. Alternatively, look into the aforementioned projects for more +convenient dependency management mechanisms. + +::: diff --git a/docs/manual/installation/modules/nixos.md b/docs/manual/installation/modules/nixos.md index bcf7472b..946905c1 100644 --- a/docs/manual/installation/modules/nixos.md +++ b/docs/manual/installation/modules/nixos.md @@ -5,9 +5,18 @@ the NixOS configuration without having to call for the wrapper yourself. It is the recommended way to use **nvf** alongside the home-manager module depending on your needs. -To use it, we first add the input flake. +## With Flakes {#sec-nixos-flakes} + +```{=include=} +flakes.md +``` + +### Usage {#sec-nixos-flakes-usage} + +To use **nvf** with flakes, we first need to add the input to our `flake.nix`. ```nix +# flake.nix { inputs = { # Optional, if you intend to follow nvf's obsidian-nvim input @@ -16,7 +25,7 @@ To use it, we first add the input flake. # Required, nvf works best and only directly supports flakes nvf = { - url = "github:notashelf/nvf"; + url = "github:NotAShelf/nvf"; # You can override the input nixpkgs to follow your system's # instance of nixpkgs. This is safe to do as nvf does not depend # on a binary cache. @@ -25,6 +34,8 @@ To use it, we first add the input flake. # for example: inputs.obsidian-nvim.follows = "obsidian-nvim"; # <- this will use the obsidian-nvim from your inputs }; + + # ... }; } ``` @@ -39,7 +50,7 @@ Followed by importing the NixOS module somewhere in your configuration. } ``` -## Example Installation {#sec-example-installation-nixos} +### Example Installation {#sec-example-installation-nixos} ```nix { @@ -64,10 +75,12 @@ Once the module is properly imported by your host, you will be able to use the `programs.nvf` module option anywhere in your configuration in order to configure **nvf**. -```nix{ +```nix +{ programs.nvf = { enable = true; - # your settings need to go into the settings attribute set + + # Your settings need to go into the settings attribute set # most settings are documented in the appendix settings = { vim.viAlias = false; @@ -87,3 +100,45 @@ installation sections of the manual. You may find all available options in the [appendix](https://notashelf.github.io/nvf/options) ::: + +## Without Flakes {#sec-nixos-flakeless} + +As of v0.8, it is possible to install **nvf** on a system if you are not using +flakes. This is possible thanks to the flake-compat project. + +To get started, you must fetch the repository using `builtins.fetchTarball` or a +similar mechanism. + +```nix +# configuration.nix +let + nvf = import (builtins.fetchTarball { + url = "https://github.com/notashelf/nvf/archive/.tar.gz"; + # Optionally, you can add 'sha256' for verification and caching + # sha256 = ""; + }); +in { + imports = [ + # Import the NixOS module from your fetched input + nvf.nixosModules.nvf + ]; + + # Once the module is imported, you may use `programs.nvf` as exposed by the + # NixOS module. + programs.nvf.enable = true; +} +``` + +[npins]: https://github.com/andir/npins +[niv]: https://github.com/nmattia/niv + +::: {.tip} + +Nix2 does not have a builtin lockfile mechanism like flakes. As such you must +manually update the URL and hash for your input. This is annoying to deal with, +and most users choose to defer this task to projects such as [npins] or [niv]. +If you are new to NixOS, I encourage you to look into Flakes and see if they fit +your use case. Alternatively, look into the aforementioned projects for more +convenient dependency management mechanisms. + +::: diff --git a/docs/manual/try-it-out.md b/docs/manual/try-it-out.md index 5f326b15..a5d20363 100644 --- a/docs/manual/try-it-out.md +++ b/docs/manual/try-it-out.md @@ -5,19 +5,20 @@ installing it to your machine. Below are the commands you may run to try out different configurations provided by this flake. As of v0.5, two specialized configurations are provided: -- **Nix** - Nix language server + simple utility plugins -- **Maximal** - Variable language servers + utility and decorative plugins +- **Nix** (`packages.nix`) - Nix language server + simple utility plugins +- **Maximal** (`packages.maximal`) - Variable language servers + utility and + decorative plugins You may try out any of the provided configurations using the `nix run` command on a system where Nix is installed. -```bash +```sh $ cachix use nvf # Optional: it'll save you CPU resources and time -$ nix run github:notashelf/nvf#nix # will run the default minimal configuration +$ nix run github:notashelf/nvf#nix # Will run the default minimal configuration ``` -Do keep in mind that this is **susceptible to garbage collection** meaning it -will be removed from your Nix store once you garbage collect. +Do keep in mind that this is **susceptible to garbage collection** meaning that +the built outputs will be removed from your Nix store once you garbage collect. ## Using Prebuilt Configs {#sec-using-prebuilt-configs} @@ -65,6 +66,7 @@ companion or fun plugins. ::: {.warning} Running the maximal config will download _a lot_ of packages as it is -downloading language servers, formatters, and more. +downloading language servers, formatters, and more. If CPU time and bandwidth +are concerns, please use the default package instead. ::: From 9c0c62bbc66ec43cbcc7152206ef9bea6aa2b1fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Sun, 20 Jul 2025 13:35:56 +0200 Subject: [PATCH 15/55] docs: note for installing all grammars in `treesitter.nix` --- modules/plugins/treesitter/treesitter.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/plugins/treesitter/treesitter.nix b/modules/plugins/treesitter/treesitter.nix index fb81f06f..d761d6b3 100644 --- a/modules/plugins/treesitter/treesitter.nix +++ b/modules/plugins/treesitter/treesitter.nix @@ -33,6 +33,7 @@ in { description = '' List of treesitter grammars to install. For grammars to be installed properly, you must use grammars from `pkgs.vimPlugins.nvim-treesitter.builtGrammars`. + You can use `pkgs.vimPlugins.nvim-treesitter.allGrammars` to install all grammars. For languages already supported by nvf, you may use {option}`vim.language..treesitter` options, which will automatically add From 7f6fe468332da598cfc4b684188ed9293a238551 Mon Sep 17 00:00:00 2001 From: poz Date: Sat, 19 Jul 2025 23:02:52 +0200 Subject: [PATCH 16/55] languages/wgsl: fix binary path --- modules/plugins/languages/wgsl.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/wgsl.nix b/modules/plugins/languages/wgsl.nix index f374543e..44323092 100644 --- a/modules/plugins/languages/wgsl.nix +++ b/modules/plugins/languages/wgsl.nix @@ -26,7 +26,7 @@ cmd = ${ if isList cfg.lsp.package then expToLua cfg.lsp.package - else "{'${cfg.lsp.package}/bin/wgsl_analyzer'}" + else "{'${cfg.lsp.package}/bin/wgsl-analyzer'}" } } ''; From 8dd53be9109e37415ed54ba669f11484c196c0db Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 20 Jul 2025 14:51:46 +0300 Subject: [PATCH 17/55] flake: move packages to a by-name overlay Signed-off-by: NotAShelf Change-Id: I6a6a69642d9409f7d32e01a140cb62c2173b5226 --- flake/packages.nix | 160 +++++++++++------- .../by-name/avante-nvim/package.nix} | 20 ++- .../by-name/blink-cmp/package.nix} | 0 3 files changed, 108 insertions(+), 72 deletions(-) rename flake/{avante-nvim/default.nix => pkgs/by-name/avante-nvim/package.nix} (72%) rename flake/{blink/default.nix => pkgs/by-name/blink-cmp/package.nix} (100%) diff --git a/flake/packages.nix b/flake/packages.nix index 5161b34f..7d39afcb 100644 --- a/flake/packages.nix +++ b/flake/packages.nix @@ -9,84 +9,114 @@ lib, ... }: let + inherit (lib.customisation) makeScope; + inherit (lib.attrsets) isDerivation isAttrs concatMapAttrs; + inherit (lib.strings) concatStringsSep; + inherit (lib.filesystem) packagesFromDirectoryRecursive; + + # Entrypoint for nvf documentation and relevant packages. docs = import ../docs {inherit pkgs inputs lib;}; + + # Helper function for creating demo configurations for nvf + # TODO: make this more generic. buildPkg = maximal: (args.config.flake.lib.nvim.neovimConfiguration { inherit pkgs; modules = [(import ../configuration.nix maximal)]; }).neovim; + + # This constructs a by-name overlay similar to the one found in Nixpkgs. + # The goal is to automatically discover and packages found in pkgs/by-name + # as long as they have a 'package.nix' in the package directory. We also + # pass 'inputs' and 'pins' to all packages in the 'callPackage' scope, therefore + # they are always available in the relevant 'package.nix' files. + # --- + # The logic is borrowed from drupol/pkgs-by-name-for-flake-parts, available + # under the MIT license. + flattenPkgs = separator: path: value: + if isDerivation value + then { + ${concatStringsSep separator path} = value; + } + else if isAttrs value + then concatMapAttrs (name: flattenPkgs separator (path ++ [name])) value + else + # Ignore the functions which makeScope returns + {}; + + inputsScope = makeScope pkgs.newScope (_: { + inherit inputs; + inherit (self) pins; + }); + + scopeFromDirectory = directory: + packagesFromDirectoryRecursive { + inherit directory; + inherit (inputsScope) newScope callPackage; + }; + + legacyPackages = scopeFromDirectory ./pkgs/by-name; in { - packages = { - blink-cmp = pkgs.callPackage ./blink {}; - avante-nvim = let - pin = self.pins.avante-nvim; - in - pkgs.callPackage ./avante-nvim { - version = pin.branch; - src = pkgs.fetchFromGitHub { - inherit (pin.repository) owner repo; - rev = pin.revision; - sha256 = pin.hash; - }; - pins = self.pins; - }; + packages = + (flattenPkgs "/" [] legacyPackages) + // { + inherit (docs.manual) htmlOpenTool; - inherit (docs.manual) htmlOpenTool; - # Documentation - docs = docs.manual.html; - docs-html = docs.manual.html; - docs-manpages = docs.manPages; - docs-json = docs.options.json; - docs-linkcheck = let - site = config.packages.docs; - in - pkgs.testers.lycheeLinkCheck { - inherit site; + # Documentation + docs = docs.manual.html; + docs-html = docs.manual.html; + docs-manpages = docs.manPages; + docs-json = docs.options.json; + docs-linkcheck = let + site = config.packages.docs; + in + pkgs.testers.lycheeLinkCheck { + inherit site; - remap = { - "https://notashelf.github.io/nvf/" = site; + remap = { + "https://notashelf.github.io/nvf/" = site; + }; + + extraConfig = { + exclude = []; + include_mail = true; + include_verbatim = true; + }; }; - extraConfig = { - exclude = []; - include_mail = true; - include_verbatim = true; - }; - }; + # Helper utility for building the HTML manual and opening it in the + # browser with $BROWSER or using xdg-open as a fallback tool. + # Adapted from Home-Manager, available under the MIT license. + docs-html-wrapped = let + xdg-open = lib.getExe' pkgs.xdg-utils "xdg-open"; + docs-html = docs.manual.html + /share/doc/nvf; + in + pkgs.writeShellScriptBin "docs-html-wrapped" '' + set -euo pipefail - # Helper utility for building the HTML manual and opening it in the - # browser with $BROWSER or using xdg-open as a fallback tool. - # Adapted from Home-Manager, available under the MIT license. - docs-html-wrapped = let - xdg-open = lib.getExe' pkgs.xdg-utils "xdg-open"; - docs-html = docs.manual.html + /share/doc/nvf; - in - pkgs.writeShellScriptBin "docs-html-wrapped" '' - set -euo pipefail + if [[ ! -v BROWSER || -z $BROWSER ]]; then + for candidate in xdg-open open w3m; do + BROWSER="$(type -P $candidate || true)" + if [[ -x $BROWSER ]]; then + break; + fi + done + fi - if [[ ! -v BROWSER || -z $BROWSER ]]; then - for candidate in xdg-open open w3m; do - BROWSER="$(type -P $candidate || true)" - if [[ -x $BROWSER ]]; then - break; - fi - done - fi + if [[ ! -v BROWSER || -z $BROWSER ]]; then + echo "$0: unable to start a web browser; please set \$BROWSER" + echo "$0: Trying xdg-open as a fallback" + ${xdg-open} ${docs-html}/index.xhtml + else + echo "\$BROWSER is set. Attempting to open manual" + exec "$BROWSER" "${docs-html}/index.xhtml" + fi + ''; - if [[ ! -v BROWSER || -z $BROWSER ]]; then - echo "$0: unable to start a web browser; please set \$BROWSER" - echo "$0: Trying xdg-open as a fallback" - ${xdg-open} ${docs-html}/index.xhtml - else - echo "\$BROWSER is set. Attempting to open manual" - exec "$BROWSER" "${docs-html}/index.xhtml" - fi - ''; - - # Exposed neovim configurations - nix = buildPkg false; - maximal = buildPkg true; - default = config.packages.nix; - }; + # Exposed neovim configurations + nix = buildPkg false; + maximal = buildPkg true; + default = config.packages.nix; + }; }; } diff --git a/flake/avante-nvim/default.nix b/flake/pkgs/by-name/avante-nvim/package.nix similarity index 72% rename from flake/avante-nvim/default.nix rename to flake/pkgs/by-name/avante-nvim/package.nix index 0d128bae..4f8cdd9d 100644 --- a/flake/avante-nvim/default.nix +++ b/flake/pkgs/by-name/avante-nvim/package.nix @@ -1,4 +1,5 @@ { + pins, openssl, pkg-config, rustPlatform, @@ -6,11 +7,17 @@ vimUtils, makeWrapper, pkgs, - version, - src, ... }: let - inherit version src; + # From npins + pin = pins.avante-nvim; + version = pin.branch; + src = pkgs.fetchFromGitHub { + inherit (pin.repository) owner repo; + rev = pin.revision; + sha256 = pin.hash; + }; + avante-nvim-lib = rustPlatform.buildRustPackage { pname = "avante-nvim-lib"; inherit version src; @@ -48,10 +55,9 @@ in ext = stdenv.hostPlatform.extensions.sharedLibrary; in '' mkdir -p $out/build - ln -s ${avante-nvim-lib}/lib/libavante_repo_map${ext} $out/build/avante_repo_map${ext} - ln -s ${avante-nvim-lib}/lib/libavante_templates${ext} $out/build/avante_templates${ext} - ln -s ${avante-nvim-lib}/lib/libavante_tokenizers${ext} $out/build/avante_tokenizers${ext} - ln -s ${avante-nvim-lib}/lib/libavante_html2md${ext} $out/build/avante_html2md${ext} + for lib in avante_repo_map avante_templates avante_tokenizers avante_html2md; do + ln -s ${avante-nvim-lib}/lib/lib$lib${ext} $out/build/$$lib${ext} + done ''; nvimSkipModules = [ diff --git a/flake/blink/default.nix b/flake/pkgs/by-name/blink-cmp/package.nix similarity index 100% rename from flake/blink/default.nix rename to flake/pkgs/by-name/blink-cmp/package.nix From 40a5b70c303682c61c6edff198a1db890fb4dec2 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 20 Jul 2025 16:13:19 +0300 Subject: [PATCH 18/55] docs/hacking: describe packaging complex plugins; more examples Signed-off-by: NotAShelf Change-Id: I6a6a6964ca83a42728d43e4a77b5737e9983016b --- docs/manual/hacking/additional-plugins.md | 159 +++++++++++++++++----- 1 file changed, 123 insertions(+), 36 deletions(-) diff --git a/docs/manual/hacking/additional-plugins.md b/docs/manual/hacking/additional-plugins.md index 0ed252c7..1f7ba778 100644 --- a/docs/manual/hacking/additional-plugins.md +++ b/docs/manual/hacking/additional-plugins.md @@ -1,25 +1,92 @@ # Adding Plugins {#sec-additional-plugins} -To add a new Neovim plugin, use `npins` +There are two methods for adding new Neovim plugins to **nvf**. npins is the +faster option that should be preferred if the plugin consists of pure Lua or +Vimscript code. In which case there is no building required, and we can easily +handle the copying of plugin files. Alternative method, which is required when +plugins try to build their own libraries (e.g., in Rust or C) that need to be +built with Nix to function correctly. -Use: +## With npins {#sec-npins-for-plugins} -`nix-shell -p npins` or `nix shell nixpkgs#npins` +npins is the standard method of adding new plugins to **nvf**. You simply need +the repository URL for the plugin, and can add it as a source to be built +automatically with one command. To add a new Neovim plugin, use `npins`. For +example: + +```bash +nix-shell -p npins # or nix shell nixpkgs#npins if using flakes +``` Then run: -`npins add --name github -b ` +```bash +npins add --name github -b +``` -Be sure to replace any non-alphanumeric characters with `-` for `--name` +::: {.note} -For example +Be sure to replace any non-alphanumeric characters with `-` for `--name`. For +example -`npins add --name lazydev-nvim github folke lazydev.nvim -b main` +```bash +npins add --name lazydev-nvim github folke lazydev.nvim -b main +``` -You can now reference this plugin as a **string**. +::: + +Once the `npins` command is done, you can start referencing the plugin as a +**string**. ```nix -config.vim.startPlugins = ["lazydev-nvim"]; +{ + config.vim.startPlugins = ["lazydev-nvim"]; +} +``` + +## Packaging Complex Plugins {#sec-pkgs-for-plugins} + +[blink.cmp]: https://github.com/Saghen/blink.cmp + +Some plugins require additional packages to be built and substituted to function +correctly. For example [blink.cmp] requires its own fuzzy matcher library, built +with Rust, to be installed or else defaults to a much slower Lua implementation. +In the Blink documentation, you are advised to build with `cargo` but that is +not ideal since we are leveraging the power of Nix. In this case the ideal +solution is to write a derivation for the plugin. + +We use `buildRustPackage` to build the library from the repository root, and +copy everything in the `postInstall` phase. + +```nix +postInstall = '' + cp -r {lua,plugin} "$out" + + mkdir -p "$out/doc" + cp 'doc/'*'.txt' "$out/doc/" + + mkdir -p "$out/target" + mv "$out/lib" "$out/target/release" +''; +``` + +In a similar fashion, you may utilize `stdenv.mkDerivation` and other Nixpkgs +builders to build your library from source, and copy the relevant files and Lua +plugin files in the `postInstall` phase. Do note, however, that you still need +to fetch the plugin sources somehow. npins is, once again, the recommended +option to fetch the plugin sources. Refer to the previous section on how to use +npins to add a new plugin. + +Plugins built from source must go into the `flake/pkgs/by-name` overlay. It will +automatically create flake outputs for individual packages. Lastly, you must add +your package to the plugin builder (`pluginBuilders`) function manually in +`modules/wrapper/build/config.nix`. Once done, you may refer to your plugin as a +**string**. + +```nix +{ + config.vim.startPlugins = ["blink-cmp"]; +} ``` ## Modular setup options {#sec-modular-setup-options} @@ -70,7 +137,7 @@ in { } ``` -This above config will result in this lua script: +This above config will result in this Lua script: ```lua require('plugin-name').setup({ @@ -101,23 +168,41 @@ own fields! As you've seen above, `toLuaObject` is used to convert our nix attrSet `cfg.setupOpts`, into a lua table. Here are some rules of the conversion: -1. nix `null` converts to lua `nil` -2. number and strings convert to their lua counterparts -3. nix attrSet/list convert into lua tables -4. you can write raw lua code using `lib.generators.mkLuaInline`. This function - is part of nixpkgs. +1. Nix `null` converts to lua `nil` +2. Number and strings convert to their lua counterparts +3. Nix attribute sets (`{}`) and lists (`[]`) convert into Lua dictionaries and + tables respectively. Here is an example of Nix -> Lua conversion. + - `{foo = "bar"}` -> `{["foo"] = "bar"}` + - `["foo" "bar"]` -> `{"foo", "bar"}` +4. You can write raw Lua code using `lib.generators.mkLuaInline`. This function + is part of nixpkgs, and is accessible without relying on **nvf**'s extended + library. + - `mkLuaInline "function add(a, b) return a + b end"` will yield the + following result: -Example: + ```nix + { + _type = "lua-inline"; + expr = "function add(a, b) return a + b end"; + } + ``` -```nix -vim.your-plugin.setupOpts = { - on_init = lib.generators.mkLuaInline '' - function() - print('we can write lua!') - end - ''; -} -``` + The above expression will be interpreted as a Lua expression in the final + config. Without the `mkLuaInline` function, you will only receive a string + literal. You can use it to feed plugin configuration tables Lua functions + that return specific values as expected by the plugins. + + ```nix + { + vim.your-plugin.setupOpts = { + on_init = lib.generators.mkLuaInline '' + function() + print('we can write lua!') + end + ''; + }; + } + ``` ## Lazy plugins {#sec-lazy-plugins} @@ -126,25 +211,24 @@ Lazy plugins are managed by `lz.n`. ```nix # in modules/.../your-plugin/config.nix -{lib, config, ...}: -let +{config, ...}: let cfg = config.vim.your-plugin; in { vim.lazy.plugins.your-plugin = { - # instead of vim.startPlugins, use this: + # Instead of vim.startPlugins, use this: package = "your-plugin"; - # if your plugin uses the `require('your-plugin').setup{...}` pattern + # ıf your plugin uses the `require('your-plugin').setup{...}` pattern setupModule = "your-plugin"; inherit (cfg) setupOpts; - # events that trigger this plugin to be loaded + # Events that trigger this plugin to be loaded event = ["DirChanged"]; cmd = ["YourPluginCommand"]; - # keymaps + # Plugin Keymaps keys = [ - # we'll cover this in detail in the keymaps section + # We'll cover this in detail in the 'keybinds' section { key = "d"; mode = "n"; @@ -152,7 +236,6 @@ in { } ]; }; -; } ``` @@ -163,7 +246,9 @@ require('lz.n').load({ { "name-of-your-plugin", after = function() - require('your-plugin').setup({--[[ your setupOpts ]]}) + require('your-plugin').setup({ + --[[ your setupOpts ]]-- + }) end, event = {"DirChanged"}, @@ -175,5 +260,7 @@ require('lz.n').load({ }) ``` -A full list of options can be found -[here](https://notashelf.github.io/nvf/options.html#opt-vim.lazy.plugins +[`vim.lazy.plugins` spec]: https://notashelf.github.io/nvf/options.html#opt-vim.lazy.plugins + +A full list of options can be found in the [`vim.lazy.plugins` spec] on the +rendered manual. From 0a1dda51d0b548d960c0d6d344efeffede8af233 Mon Sep 17 00:00:00 2001 From: Abhi <85126640+abhirath-a@users.noreply.github.com> Date: Sun, 20 Jul 2025 14:15:49 -0400 Subject: [PATCH 19/55] utility/undotree: formatted code --- modules/plugins/utility/undotree/undotree.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/plugins/utility/undotree/undotree.nix b/modules/plugins/utility/undotree/undotree.nix index 2483a1ec..aac130fe 100644 --- a/modules/plugins/utility/undotree/undotree.nix +++ b/modules/plugins/utility/undotree/undotree.nix @@ -1,8 +1,6 @@ -{ lib, ... }: -let +{lib, ...}: let inherit (lib.options) mkEnableOption; -in -{ +in { options.vim.undotree = { enable = mkEnableOption "undo history visualizer for Vim [undotree]"; }; From cec4a941976b27cf9083d2be42d9fc3178fb7769 Mon Sep 17 00:00:00 2001 From: Abhi <85126640+abhirath-a@users.noreply.github.com> Date: Sun, 20 Jul 2025 15:52:38 -0400 Subject: [PATCH 20/55] utility/undotree: moved undotree to utility object --- configuration.nix | 11 +++++++---- modules/plugins/utility/undotree/config.nix | 2 +- modules/plugins/utility/undotree/undotree.nix | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/configuration.nix b/configuration.nix index 0d53fec9..1834f344 100644 --- a/configuration.nix +++ b/configuration.nix @@ -43,7 +43,7 @@ isMaximal: { # This section does not include a comprehensive list of available language modules. # To list all available language module options, please visit the nvf manual. languages = { - enableFormat = true; # + enableFormat = true; enableTreesitter = true; enableExtraDiagnostics = true; @@ -183,7 +183,7 @@ isMaximal: { projects = { project-nvim.enable = isMaximal; }; - undotree.enable = isMaximal; + utility = { ccc.enable = false; vim-wakatime.enable = false; @@ -194,7 +194,7 @@ isMaximal: { leetcode-nvim.enable = isMaximal; multicursors.enable = isMaximal; smart-splits.enable = isMaximal; - + undotree.enable = isMaximal; motion = { hop.enable = true; leap.enable = true; @@ -238,7 +238,10 @@ isMaximal: { nix = "110"; ruby = "120"; java = "130"; - go = ["90" "130"]; + go = [ + "90" + "130" + ]; }; }; fastaction.enable = true; diff --git a/modules/plugins/utility/undotree/config.nix b/modules/plugins/utility/undotree/config.nix index d954d49f..deecdbcc 100644 --- a/modules/plugins/utility/undotree/config.nix +++ b/modules/plugins/utility/undotree/config.nix @@ -1,5 +1,5 @@ { - vim.lazy.plugins.undotree = { + vim.lazy.plugins.utility.undotree = { package = "undotree"; cmd = [ "UndotreeToggle" diff --git a/modules/plugins/utility/undotree/undotree.nix b/modules/plugins/utility/undotree/undotree.nix index aac130fe..70846737 100644 --- a/modules/plugins/utility/undotree/undotree.nix +++ b/modules/plugins/utility/undotree/undotree.nix @@ -1,7 +1,7 @@ {lib, ...}: let inherit (lib.options) mkEnableOption; in { - options.vim.undotree = { + options.vim.utility.undotree = { enable = mkEnableOption "undo history visualizer for Vim [undotree]"; }; } From 338577d9c9296beba0d0a31885490a2344687e03 Mon Sep 17 00:00:00 2001 From: Abhi <85126640+abhirath-a@users.noreply.github.com> Date: Mon, 21 Jul 2025 14:15:13 -0400 Subject: [PATCH 21/55] utility/undotree: removed utility category from lazy loader --- modules/plugins/utility/undotree/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/utility/undotree/config.nix b/modules/plugins/utility/undotree/config.nix index deecdbcc..d954d49f 100644 --- a/modules/plugins/utility/undotree/config.nix +++ b/modules/plugins/utility/undotree/config.nix @@ -1,5 +1,5 @@ { - vim.lazy.plugins.utility.undotree = { + vim.lazy.plugins.undotree = { package = "undotree"; cmd = [ "UndotreeToggle" From 4437cc740abc4a5ebde6d94f153049fc259a340a Mon Sep 17 00:00:00 2001 From: raf Date: Mon, 21 Jul 2025 21:57:11 +0300 Subject: [PATCH 22/55] meta: undo nixfmt style hint --- configuration.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/configuration.nix b/configuration.nix index 1834f344..ac0ad32b 100644 --- a/configuration.nix +++ b/configuration.nix @@ -238,10 +238,7 @@ isMaximal: { nix = "110"; ruby = "120"; java = "130"; - go = [ - "90" - "130" - ]; + go = ["90" "130"]; }; }; fastaction.enable = true; From 81d99b0ddfbf7ec5a2d1dc43c0518feefea77ded Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 22 Jul 2025 12:34:27 +0300 Subject: [PATCH 23/55] flake: bump inputs Signed-off-by: NotAShelf Change-Id: I6a6a696400a25fa448e6ef49d40d54a008d7f6b2 --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index d33a8f7d..5a09ce8a 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ ] }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1753121425, + "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", "type": "github" }, "original": { @@ -73,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750215678, - "narHash": "sha256-Rc/ytpamXRf6z8UA2SGa4aaWxUXRbX2MAWIu2C8M+ok=", + "lastModified": 1752997324, + "narHash": "sha256-vtTM4oDke3SeDj+1ey6DjmzXdq8ZZSCLWSaApADDvIE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5395fb3ab3f97b9b7abca147249fa2e8ed27b192", + "rev": "7c688a0875df5a8c28a53fb55ae45e94eae0dddb", "type": "github" }, "original": { From 23d75fc12dee8e4c558fccdccd5f02342ea476e9 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 22 Jul 2025 12:39:07 +0300 Subject: [PATCH 24/55] meta: remove hard-time.nvim from maximal package Signed-off-by: NotAShelf Change-Id: I6a6a69644f3d0092af4b9e3c00454dc936f14bed --- configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index ac0ad32b..62c3e2f1 100644 --- a/configuration.nix +++ b/configuration.nix @@ -154,7 +154,6 @@ isMaximal: { binds = { whichKey.enable = true; cheatsheet.enable = true; - hardtime-nvim.enable = isMaximal; }; telescope.enable = true; From 02573ac3e43aa77737400c0cb325bc8e4519271d Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 22 Jul 2025 12:39:07 +0300 Subject: [PATCH 25/55] avante-nvim: fix library linking Signed-off-by: NotAShelf Change-Id: I6a6a6964d0425213b183c09664d612bec4bd0ea9 --- flake/pkgs/by-name/avante-nvim/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake/pkgs/by-name/avante-nvim/package.nix b/flake/pkgs/by-name/avante-nvim/package.nix index 4f8cdd9d..61ab21cc 100644 --- a/flake/pkgs/by-name/avante-nvim/package.nix +++ b/flake/pkgs/by-name/avante-nvim/package.nix @@ -55,8 +55,8 @@ in ext = stdenv.hostPlatform.extensions.sharedLibrary; in '' mkdir -p $out/build - for lib in avante_repo_map avante_templates avante_tokenizers avante_html2md; do - ln -s ${avante-nvim-lib}/lib/lib$lib${ext} $out/build/$$lib${ext} + for lib in "avante_repo_map" "avante_templates" "avante_tokenizers" "avante_html2md"; do + ln -s ${avante-nvim-lib}/lib/lib$lib${ext} $out/build/$lib${ext} done ''; From 9ad4756114705ad6d06fc9ef3b67d2881bc95862 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 22 Jul 2025 13:08:50 +0300 Subject: [PATCH 26/55] meta: typo & wording fixes in README --- .github/README.md | 51 ++++++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/.github/README.md b/.github/README.md index 3fc7ffdf..395a9320 100644 --- a/.github/README.md +++ b/.github/README.md @@ -1,3 +1,4 @@ +
nvf Logo
@@ -46,11 +47,10 @@ [Features]: #features [Get Started]: #get-started [Documentation]: #documentation -[Help]: #help +[Help]: #getting-help [Contribute]: #contributing [FAQ]: #frequently-asked-questions [Credits]: #credits -[License]: #license **[
 Features
][Features]** **[
 Get Started 
][Get Started]** @@ -84,21 +84,22 @@ customizable through the Nix module system. - Not comfortable with a full-nix config or want to bring your Lua config? You can do just that, no unnecessary restrictions. - - Lazyloading 💤? We got it! Lazyload both internal and external plugins at - will. + - Lazyloading? We got it! Lazyload both internal and external plugins at will + 💤 . - nvf allows _ordering configuration bits_ using [DAG] (_Directed acyclic graph_)s. It has never been easier to construct an editor configuration deterministically! - nvf exposes everything you need to avoid a vendor lock-in. Which means you can add new modules, plugins and so on without relying on us adding a module for them! Though, of course, feel free to request them. - - Use plugins from anywhere. Inputs, npins, nixpkgs... You name it. - - Add your own modules, with ease. It's all built-in! + - Use plugins from anywhere: inputs, npins, nixpkgs... You name it. + - Add your own modules with ease. It's all built-in! - **Well-documented**: Documentation is priority. You will _never_ face undocumented, obscure behaviour. - - Changes, breaking or otherwise, will be communicated in the [release notes] + - Any and all changes, breaking or otherwise, will be communicated in the + [release notes]. - Refer to the [FAQ section] for answers to common questions. - - Your question not there? Head to the to the [discussions tab]! + - Your question not there? Head to the [discussions tab]! - **Idiomatic**: nvf does things ✨ _the right way_ ✨ - the codebase is, and will, remain maintainable for myself and any contributors. - **Community-Led**: we would like nvf to be fully capable of accomplishing what @@ -129,12 +130,17 @@ of the configuration options are final as **nvf** is designed to be modular and configurable. > [!TIP] -> The flake exposes `#nix` as the default package, providing minimal language -> support and various utilities. You may also use the `#nix` or `#maximal` -> packages provided by the this flake to get try out different configurations. +> The flake exposes `nix` as the default package, which will be evaluated when +> you run `nix build` or `nix run` on this repo. It is minimal, and providing +> limited language support and various utilities. We also expose the `maximal` +> package, which you may choose to build if you'd like to see more of nvf's +> built-in modules. Please keep in mind that those are demo packages, nvf does +> not ship a default configuration if installed as a NixOS/Home-Manager module +> or via standalone method. -It is as simple as changing the target output to get a different configuration. -For example, to get a configuration with large language coverage, run: +It is as simple as changing the target output in your `nix run` command to get a +different configuration. For example, to get a configuration with large language +coverage, run: ```bash # Run the maximal package @@ -142,7 +148,7 @@ nix run github:notashelf/nvf#maximal ``` Similar instructions will apply for `nix profile install`. However, you are -recommended to instead use the module system as described in the manual. +recommended to instead use the module system as described in the [nvf manual]. > [!NOTE] > The `maximal` configuration is quite large, and might take a while to build. @@ -155,6 +161,10 @@ instructions. ## Documentation +**nvf** prides itself in its rich, intuitive documentation. The chapter below +covers several methods through which you can install **nvf**. If you believe +something is missing, or could be done better, please feel free to contact us! + ### Installation The _recommended_ way of installing nvf is using either the NixOS or the @@ -163,7 +173,7 @@ install **nvf** as a standalone package, or a flake output. See the rendered [nvf manual] for detailed and up-to-date installation guides, configurations, available options, release notes and more. Tips for installing -userspace plugins is also contained in the documentation. +userspace plugins are also contained in the documentation. > [!TIP] > While using NixOS or Home-Manager modules, @@ -180,8 +190,9 @@ requests are also welcome, and appreciated. If you are confused, stuck or would like to ask a simple question; you may create an issue on the [issue tracker] to ask questions or report bugs. -We are not not yet on spaces like matrix or IRC, so please use the issue tracker -for now. +We are not yet on spaces like matrix or IRC, so please use the issue tracker for +now. The [discussions tab] can also be a place to request help from community +members, or engage in productive discussion with the maintainers. ## Contributing @@ -225,7 +236,7 @@ in the most comfortable way possible for the end user. If you have not noticed any activity on the main branch, consider taking a look at the [list of branches] or the [list of open pull requests]. You may also consider _testing_ those release branches to get access to new features ahead of time and -better prepare to breaking changes. +better prepare for breaking changes. **Q**: Will you support non-flake installations? @@ -240,8 +251,8 @@ of a configuration generated from Nix? **A**: Yes! Add `"~/.config/nvim"` to `vim.additionalRuntimePaths = [ ... ]` and any plugins you want to load to `vim.startPlugins`. This will load your -configuration from `~/.config/nvim`. You may still use `vim.*` to modify -Neovim's behaviour with Nix. +configuration from `~/.config/nvim`. You may still use `vim.*` options in Nix to +further configure Neovim. ## Credits From 8fbecab446afe3454ecce6a4b817ec4f123a4a34 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 22 Jul 2025 13:44:01 +0300 Subject: [PATCH 27/55] meta: update issue & PR templates to modernize, reword Signed-off-by: NotAShelf Change-Id: I6a6a69649c2b4a353088654bf90764e8a320cd86 --- .github/ISSUE_TEMPLATE/bug_report.yaml | 11 +-- .github/ISSUE_TEMPLATE/feature_request.yaml | 76 ++++++++++++--------- 2 files changed, 46 insertions(+), 41 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 4361d9f9..be97db2a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -90,15 +90,6 @@ body: validations: required: true - - type: input - id: nix-metadata - attributes: - label: "💻 Metadata" - description: 'Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.' - placeholder: '[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"' - validations: - required: true - - type: textarea attributes: label: System Information @@ -119,7 +110,7 @@ body: id: logs attributes: render: bash - label: "📝 Relevant log output" + label: "Relevant log output" description: >- Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index d7ed2654..819891df 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -1,58 +1,72 @@ name: 🚀 Feature Request description: "Propose a new feature" -#title: "[Feature] " +title: "" labels: [feature-request] body: - type: checkboxes - id: no-duplicate-issues attributes: - label: "⚠️ Please verify that this feature request has NOT been suggested before." - description: "Search in the issues sections by clicking [HERE](https://github.com/notashelf/neovim-flake/issues?q=)" + label: I have verified that this feature request has not been made before + description: >- + Before opening a new issue for feature requests, please consider searching through currently + open issues [here](https://github.com/notashelf/nvf/issues). If you would like to discuss a + new addition beforehand, you may first want to create a new discussion threat and discuss it + with the maintainers [on the discussions tab](https://github.com/notashelf/nvf/discussions) options: - - label: "I checked and didn't find a similar feature request" - required: true + - required: true + label: >- + I have checked the [issues tab](https://github.com/notashelf/nvf/issues?q=is%3Aissue), + and did not find a similar feature request. I understand that my issue will be closed + if it is a duplicate. + - type: dropdown id: feature-area attributes: - label: "🏷️ Feature Type" - description: "What kind of a feature request is this?" + label: Feature Type + description: Please describe the kind of addition this is multiple: true options: - - New Command - - New Addon - - API Additions + - New Plugin + - Update Request (Plugin/Nixpkgs) + - Documentation Updates - Other validations: required: true + + - type: textarea id: feature-description + attributes: + label: Feature description + description: >- + Please provide a clear and concise description of the desired addition. If this is a plugin + addition, please also include a link to the desired plugin and the reason why you think this + is a good addition. Keep in mind that we may refuse plugin requests as nvf already provides + appropriate methods of installing plugins in user configurations. + placeholder: >- + "nvf currently does [...], which really frustrates me" or "You should add [...] because I think + [...]" validations: required: true - attributes: - label: "🔖 Feature description" - description: "A clear and concise description of what your feature request is." - placeholder: "'You should add [...]' or '[...] has always frustrated me' " - - type: textarea - id: solution - validations: - required: true - attributes: - label: "✔️ Solution" - description: "A clear and concise description of what you want to happen." - placeholder: "In my use-case, I would like [...]" + - type: textarea id: alternatives + attributes: + label: Alternatives + description: >- + If you have tried anything before creating this issue, please give us a clear and concise + description of any alternative solutions or methods you have considered. + placeholder: "I have considered [...]" validations: required: false - attributes: - label: "❓ Alternatives" - description: "A clear and concise description of any alternative solutions or features you've considered." - placeholder: "I have considered [...]" + - type: textarea id: additional-context + attributes: + label: Additional Context + description: >- + If there is anything else you would like to mention, such as additional context or screenshots + demonstrating the requested feature, please add them here. This field is optional, but you may + be requested to provide further context. Please ensure that your feature request clearly describes + the requested feature in good detail. validations: required: false - attributes: - label: "📝 Additional Context" - description: "Add any other context or screenshots about the feature request here." - placeholder: "..." From 29d6f51cbcc6fa7bdd0cf4c573b17c0ce294ac32 Mon Sep 17 00:00:00 2001 From: Cool-Game-Dev Date: Tue, 22 Jul 2025 12:23:28 -0500 Subject: [PATCH 28/55] utility/nvim-biscuits: init Add `utility.nvim-biscuits` module. Adds the plugin nvim-biscuits, a rewrite of assorted biscuits. --- configuration.nix | 2 ++ docs/release-notes/rl-0.8.md | 1 + modules/plugins/utility/default.nix | 1 + modules/plugins/utility/nvim-biscuits/config.nix | 14 ++++++++++++++ modules/plugins/utility/nvim-biscuits/default.nix | 6 ++++++ .../utility/nvim-biscuits/nvim-biscuits.nix | 12 ++++++++++++ npins/sources.json | 13 +++++++++++++ 7 files changed, 49 insertions(+) create mode 100644 modules/plugins/utility/nvim-biscuits/config.nix create mode 100644 modules/plugins/utility/nvim-biscuits/default.nix create mode 100644 modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix diff --git a/configuration.nix b/configuration.nix index 62c3e2f1..68776638 100644 --- a/configuration.nix +++ b/configuration.nix @@ -194,6 +194,8 @@ isMaximal: { multicursors.enable = isMaximal; smart-splits.enable = isMaximal; undotree.enable = isMaximal; + nvim-biscuits.enable = isMaximal; + motion = { hop.enable = true; leap.enable = true; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c4ad963c..12df89b9 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -38,6 +38,7 @@ [oil.nvim]: https://github.com/stevearc/oil.nvim [hunk.nvim]: https://github.com/julienvincent/hunk.nvim [undotree]: https://github.com/mbbill/undotree +[nvim-biscuits]: https://github.com/code-biscuits/nvim-biscuits - Add [typst-preview.nvim] under `languages.typst.extensions.typst-preview-nvim`. diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 79d7d924..349fb47a 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -15,6 +15,7 @@ ./multicursors ./new-file-template ./nix-develop + ./nvim-biscuits ./oil-nvim ./outline ./preview diff --git a/modules/plugins/utility/nvim-biscuits/config.nix b/modules/plugins/utility/nvim-biscuits/config.nix new file mode 100644 index 00000000..8c422149 --- /dev/null +++ b/modules/plugins/utility/nvim-biscuits/config.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + cfg = config.vim.utility.nvim-biscuits; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["nvim-biscuits"]; + }; + }; +} diff --git a/modules/plugins/utility/nvim-biscuits/default.nix b/modules/plugins/utility/nvim-biscuits/default.nix new file mode 100644 index 00000000..07ccecb4 --- /dev/null +++ b/modules/plugins/utility/nvim-biscuits/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./nvim-biscuits.nix + ]; +} diff --git a/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix b/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix new file mode 100644 index 00000000..538d1510 --- /dev/null +++ b/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix @@ -0,0 +1,12 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.utility.nvim-biscuits = { + enable = mkEnableOption '' + A neovim port of Assorted Biscuits. + ''; + + setupOpts = mkPluginSetupOption "nvim-biscuits" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 3c3bc3c3..92e18e32 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1708,6 +1708,19 @@ "url": "https://github.com/windwp/nvim-autopairs/archive/4d74e75913832866aa7de35e4202463ddf6efd1b.tar.gz", "hash": "0q6pv89x05l71nfg2chqf9p0d2ha72agmll2svimq0npp84ymfxz" }, + "nvim-biscuits": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "code-biscuits", + "repo": "nvim-biscuits" + }, + "branch": "main", + "submodules": false, + "revision": "ff1d12c8b47cd28723da593b2cfa2e98391d439a", + "url": "https://github.com/code-biscuits/nvim-biscuits/archive/ff1d12c8b47cd28723da593b2cfa2e98391d439a.tar.gz", + "hash": "18dvvg32nxrdp1ydbvxrzkdg7q214naq2bphs7y1s9zmjhyj25pm" + }, "nvim-bufferline-lua": { "type": "Git", "repository": { From 55fc5fecb8a459088cdf65eaec25ad98a7b34bd1 Mon Sep 17 00:00:00 2001 From: Cool-Game-Dev Date: Tue, 22 Jul 2025 19:06:57 -0500 Subject: [PATCH 29/55] fixed release notes Add the plugin under my own name instead of @NotAShelf --- docs/release-notes/rl-0.8.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 12df89b9..f5125f92 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -38,7 +38,6 @@ [oil.nvim]: https://github.com/stevearc/oil.nvim [hunk.nvim]: https://github.com/julienvincent/hunk.nvim [undotree]: https://github.com/mbbill/undotree -[nvim-biscuits]: https://github.com/code-biscuits/nvim-biscuits - Add [typst-preview.nvim] under `languages.typst.extensions.typst-preview-nvim`. @@ -477,3 +476,7 @@ [soliprem](https://github.com/soliprem): - fix broken `neorg` grammars + +[Cool-Game-Dev](https://github.com/Cool-Game-Dev): + +[nvim-biscuits]: https://github.com/code-biscuits/nvim-biscuits From 66e32eeafa5a1aee60349aa30f3f9d2d91c0a4ef Mon Sep 17 00:00:00 2001 From: Cool-Game-Dev Date: Wed, 23 Jul 2025 12:20:14 -0500 Subject: [PATCH 30/55] utility/nvim-biscuits: Add pluginRC Add the setup function for the nvim-biscuits with setupOps to pluginRC. --- modules/plugins/utility/nvim-biscuits/config.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/plugins/utility/nvim-biscuits/config.nix b/modules/plugins/utility/nvim-biscuits/config.nix index 8c422149..a0574aa6 100644 --- a/modules/plugins/utility/nvim-biscuits/config.nix +++ b/modules/plugins/utility/nvim-biscuits/config.nix @@ -4,11 +4,17 @@ ... }: let inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.utility.nvim-biscuits; in { config = mkIf cfg.enable { vim = { startPlugins = ["nvim-biscuits"]; + + pluginRC.nvim-biscuits = entryAnywhere '' + require('nvim-biscuits').setup(${toLuaObject cfg.setupOpts}) + ''; }; }; } From b2a462feb72dc08d8699c389a60cc2c14fd6435d Mon Sep 17 00:00:00 2001 From: Cool-Game-Dev Date: Wed, 23 Jul 2025 12:28:29 -0500 Subject: [PATCH 31/55] Add release notes entry Add missing release notes entry, previously only contained a reference to nvim-biscuits github. --- docs/release-notes/rl-0.8.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f5125f92..0ea9abd4 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -480,3 +480,6 @@ [Cool-Game-Dev](https://github.com/Cool-Game-Dev): [nvim-biscuits]: https://github.com/code-biscuits/nvim-biscuits + +- Add [nvim-biscuits] to show block context. Available at + `vim.utility.nvim-biscuits`. From 0b325d788eebe81d2601c54d8b288ca6245a351d Mon Sep 17 00:00:00 2001 From: Coolio Date: Wed, 23 Jul 2025 15:07:20 -0500 Subject: [PATCH 32/55] utility/nvim-biscuits: improve enable option description Improve the grammar of the `vim.utility.nvim-biscuits.enable` option to read better in documentation. Co-authored-by: raf --- modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix b/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix index 538d1510..3db7acea 100644 --- a/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix +++ b/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix @@ -3,9 +3,7 @@ inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.utility.nvim-biscuits = { - enable = mkEnableOption '' - A neovim port of Assorted Biscuits. - ''; + enable = mkEnableOption "a Neovim port of Assorted Biscuits [nvim-biscuits]"; setupOpts = mkPluginSetupOption "nvim-biscuits" {}; }; From afe7559c8ec88013d14990e78c8ebbc62423adfa Mon Sep 17 00:00:00 2001 From: Joshua Manchester Date: Thu, 24 Jul 2025 15:57:06 +0100 Subject: [PATCH 33/55] utility/undotree: use enable option --- modules/plugins/utility/undotree/config.nix | 28 ++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/modules/plugins/utility/undotree/config.nix b/modules/plugins/utility/undotree/config.nix index d954d49f..06343e6a 100644 --- a/modules/plugins/utility/undotree/config.nix +++ b/modules/plugins/utility/undotree/config.nix @@ -1,12 +1,22 @@ { - vim.lazy.plugins.undotree = { - package = "undotree"; - cmd = [ - "UndotreeToggle" - "UndotreeShow" - "UndotreeHide" - "UndotreePersistUndo" - "UndotreeFocus" - ]; + lib, + config, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.utility.undotree; +in { + config = mkIf cfg.enable { + vim.lazy.plugins.undotree = { + package = "undotree"; + cmd = [ + "UndotreeToggle" + "UndotreeShow" + "UndotreeHide" + "UndotreePersistUndo" + "UndotreeFocus" + ]; + }; }; } From e20e8dbdbb57fa5f70f0534dbc005ddcf148c70f Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 28 Jul 2025 14:59:19 +0300 Subject: [PATCH 34/55] flake: bump inputs Signed-off-by: NotAShelf Change-Id: I6a6a69648b4d6f974bb280149709b03459ac043b --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 5a09ce8a..c17d2963 100644 --- a/flake.lock +++ b/flake.lock @@ -73,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752997324, - "narHash": "sha256-vtTM4oDke3SeDj+1ey6DjmzXdq8ZZSCLWSaApADDvIE=", + "lastModified": 1753432016, + "narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7c688a0875df5a8c28a53fb55ae45e94eae0dddb", + "rev": "6027c30c8e9810896b92429f0092f624f7b1aace", "type": "github" }, "original": { From cabb0cff75c4bd2f44ff8488313f8ebf03b249c3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 28 Jul 2025 15:04:14 +0300 Subject: [PATCH 35/55] pins: bump all plugins Signed-off-by: NotAShelf Change-Id: I6a6a69648299d47f0f7295b9f32cb61b1f2384df --- npins/sources.json | 632 ++++++++++++++++++++++----------------------- 1 file changed, 316 insertions(+), 316 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 92e18e32..b94cd8e0 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -22,9 +22,9 @@ }, "branch": "main", "submodules": false, - "revision": "a35468cd72645dbd52c0624ceead5f301c566dff", - "url": "https://github.com/goolord/alpha-nvim/archive/a35468cd72645dbd52c0624ceead5f301c566dff.tar.gz", - "hash": "0c1jkhxamfn2md7m1r5b2wpxa26y90b98yzjwf68m3fymalvkn5h" + "revision": "2b3cbcdd980cae1e022409289245053f62fb50f6", + "url": "https://github.com/goolord/alpha-nvim/archive/2b3cbcdd980cae1e022409289245053f62fb50f6.tar.gz", + "hash": "1ngim3ia9qbv1sxkscryvbn8xkw95rna5iy724yxgnq5sqxxg1jc" }, "avante-nvim": { "type": "Git", @@ -35,9 +35,9 @@ }, "branch": "main", "submodules": false, - "revision": "154e5f578f8925135a9dd23764d4c33a10c7ae36", - "url": "https://github.com/yetone/avante.nvim/archive/154e5f578f8925135a9dd23764d4c33a10c7ae36.tar.gz", - "hash": "0hx5ccfkn7ljnprzl6qwvb9ba86zrkqysh18zvnaq360g95d4ca1" + "revision": "5e4eb8652b4776f139282a343f04a3a8c7f23cb0", + "url": "https://github.com/yetone/avante.nvim/archive/5e4eb8652b4776f139282a343f04a3a8c7f23cb0.tar.gz", + "hash": "09wjj3akgw19p3j4zck4npj5xyc5rjvjn8w5nhwhbkzvd0il2smf" }, "base16": { "type": "Git", @@ -48,9 +48,9 @@ }, "branch": "master", "submodules": false, - "revision": "5d0fcd834d48048822e36221ab067bedb3ef5c93", - "url": "https://github.com/rrethy/base16-nvim/archive/5d0fcd834d48048822e36221ab067bedb3ef5c93.tar.gz", - "hash": "035j1x44sjk0vhcbp18nm1lq32z8ra8qp8wlij3382mai8jrrb06" + "revision": "aa923daec4e778cd31ccfb0dcf083aff3c442159", + "url": "https://github.com/rrethy/base16-nvim/archive/aa923daec4e778cd31ccfb0dcf083aff3c442159.tar.gz", + "hash": "11aprmrby37gfkvk568j44d2pz4p2ppll4jlbx4ysfyshwg1zzb0" }, "blink-cmp-spell": { "type": "Git", @@ -61,9 +61,9 @@ }, "branch": "master", "submodules": false, - "revision": "782bc76be09c0c5dd08e3edd04e4ec1054c3158e", - "url": "https://github.com/ribru17/blink-cmp-spell/archive/782bc76be09c0c5dd08e3edd04e4ec1054c3158e.tar.gz", - "hash": "13adgj9qxfmbwzvx348kpkm70h0jli9qv3bqhkwh8p6zkfajm607" + "revision": "2bd0e0d5e7735c047e72b6918a0458f3e8fadaba", + "url": "https://github.com/ribru17/blink-cmp-spell/archive/2bd0e0d5e7735c047e72b6918a0458f3e8fadaba.tar.gz", + "hash": "1h84kmyxnyq9nrv3z6rvsfiabx2cdl54h86r5xxs5zacaygpha67" }, "blink-compat": { "type": "Git", @@ -100,9 +100,9 @@ }, "branch": "main", "submodules": false, - "revision": "3b146c70869c3f42c623341ad8befe9a073087a6", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/3b146c70869c3f42c623341ad8befe9a073087a6.tar.gz", - "hash": "0058rns7sgkzsfkgdqlx51bi04fn6hxv4ddl8g32mpq27dji13pn" + "revision": "1d467aa090044b65781f81dee7564fb5d3cfd96b", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/1d467aa090044b65781f81dee7564fb5d3cfd96b.tar.gz", + "hash": "1jvr80b7m5v2bybzypq1r4nfxp6nxakld10qx50gzrbs29rfhi82" }, "bufdelete-nvim": { "type": "Git", @@ -126,9 +126,9 @@ }, "branch": "main", "submodules": false, - "revision": "a0c769bc7cd04bbbf258b3d5f01e2bdce744108d", - "url": "https://github.com/catppuccin/nvim/archive/a0c769bc7cd04bbbf258b3d5f01e2bdce744108d.tar.gz", - "hash": "08qv1had0gi2hzd854j7xyq3s3z9bvf1x40bav05ll52xkksn5vx" + "revision": "702d15f269777b8261f3b8904fb0db35f37a1cd9", + "url": "https://github.com/catppuccin/nvim/archive/702d15f269777b8261f3b8904fb0db35f37a1cd9.tar.gz", + "hash": "0lq4y8kvp0zavjb9yk25nkw2ldx4dzraa96cn87392zzs67hl75l" }, "ccc-nvim": { "type": "Git", @@ -243,9 +243,9 @@ }, "branch": "main", "submodules": false, - "revision": "c6635aae33a50d6010bf1aa756ac2398a2d54c32", - "url": "https://github.com/hrsh7th/cmp-path/archive/c6635aae33a50d6010bf1aa756ac2398a2d54c32.tar.gz", - "hash": "18ixx14ibc7qrv32nj0ylxrx8w4ggg49l5vhcqd35hkp4n56j6mn" + "revision": "e52e640b7befd8113b3350f46e8cfcfe98fcf730", + "url": "https://github.com/hrsh7th/cmp-path/archive/e52e640b7befd8113b3350f46e8cfcfe98fcf730.tar.gz", + "hash": "1d3l62jvrdxqwiyi4ffyc871bh643n43bgi2n2lib9mx593qsli9" }, "cmp-treesitter": { "type": "Git", @@ -269,9 +269,9 @@ }, "branch": "main", "submodules": false, - "revision": "01b2841d7791376e23728d9faf657fe999e6c209", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/01b2841d7791376e23728d9faf657fe999e6c209.tar.gz", - "hash": "1j8jdn89255c9jalffajhv8sqjlxgjqshhpb026qzn8j93rs19c6" + "revision": "0a5c13c97d93307c05652ea182a4b4dcea54d4a0", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/0a5c13c97d93307c05652ea182a4b4dcea54d4a0.tar.gz", + "hash": "1y8f7xc015a4ix2m6f62f087lhk3qc0dj4qjhr6q4ki13qhsnjsz" }, "codewindow-nvim": { "type": "Git", @@ -308,9 +308,9 @@ }, "branch": "master", "submodules": false, - "revision": "0e93e0d12d2f7ebdea9e3e444dfaff0050cefbe6", - "url": "https://github.com/stevearc/conform.nvim/archive/0e93e0d12d2f7ebdea9e3e444dfaff0050cefbe6.tar.gz", - "hash": "0hvpvk0gs76b9sfzrzhmrq9d7rab3ldim0vf18qf424xl72fbw8b" + "revision": "973f3cb73887d510321653044791d7937c7ec0fa", + "url": "https://github.com/stevearc/conform.nvim/archive/973f3cb73887d510321653044791d7937c7ec0fa.tar.gz", + "hash": "1yx6chdrkvwalgp8641ljdxhlcfww6l5c3z374fadb3lm3mvcvkf" }, "copilot-cmp": { "type": "Git", @@ -334,9 +334,9 @@ }, "branch": "master", "submodules": false, - "revision": "c1bb86abbed1a52a11ab3944ef00c8410520543d", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/c1bb86abbed1a52a11ab3944ef00c8410520543d.tar.gz", - "hash": "11w41p4wah0w6f1lyhrr214h761rcic7nfnriszk2b25q4ifj4db" + "revision": "4958fb9390f624cb389be2772e3c5e718e94d8b6", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/4958fb9390f624cb389be2772e3c5e718e94d8b6.tar.gz", + "hash": "1yhkv4wc6nrc84ny9riw0rz48pm34kj4243qjdi35rmhd2dcygjz" }, "crates-nvim": { "type": "Git", @@ -347,9 +347,9 @@ }, "branch": "main", "submodules": false, - "revision": "5d8b1bef686db0fabe5f1bb593744b617e8f1405", - "url": "https://github.com/Saecki/crates.nvim/archive/5d8b1bef686db0fabe5f1bb593744b617e8f1405.tar.gz", - "hash": "1zy81gdfis2wmhhsi1qjnmxpfpsviscwdyypnnccqhp7z3lwcf5h" + "revision": "c915ab5334a46178f64ce17ab606a79454bcd14f", + "url": "https://github.com/Saecki/crates.nvim/archive/c915ab5334a46178f64ce17ab606a79454bcd14f.tar.gz", + "hash": "0plvlgk5r4k7nz94mjphirrg7izn2ans3aipmdlm8vw0drabfnz5" }, "csharpls-extended-lsp-nvim": { "type": "Git", @@ -360,9 +360,9 @@ }, "branch": "master", "submodules": false, - "revision": "79ea71655a705be38a113809d7e9e15aaa0695b2", - "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/79ea71655a705be38a113809d7e9e15aaa0695b2.tar.gz", - "hash": "1a4igb5ldhw3wnhbf06fn97qgxfgmnqz86ss6ycc9y4g7jaj0bi7" + "revision": "0dfdad289419e414a6d49d25cb97b8908e6fbe97", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/0dfdad289419e414a6d49d25cb97b8908e6fbe97.tar.gz", + "hash": "1v067g50sd314bhgw21wfbpbxni9q1srkbf5mgv1fww4kx5cpcj1" }, "dashboard-nvim": { "type": "Git", @@ -438,9 +438,9 @@ }, "branch": "main", "submodules": false, - "revision": "eeb2b5a2e99e1646861a104f108c5818dd3973dc", - "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/eeb2b5a2e99e1646861a104f108c5818dd3973dc.tar.gz", - "hash": "1l0xjis8jp5mf3v42f9xsjmwpjskf6zk6brpr8l39sp1bjn9z4x7" + "revision": "b13c67398ee62531e1a4a53b95347a80eacefe6b", + "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/b13c67398ee62531e1a4a53b95347a80eacefe6b.tar.gz", + "hash": "0hbz7yjspynba3vn9pxxfahk3ygnx1b46g8z40jakc1ivmhqg0c6" }, "everforest": { "type": "GitRelease", @@ -467,9 +467,9 @@ }, "branch": "main", "submodules": false, - "revision": "f9a986b84a6da2a5ebbe57bbda7762d06f1ac64d", - "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/f9a986b84a6da2a5ebbe57bbda7762d06f1ac64d.tar.gz", - "hash": "15jxrif7qkgj7fadvby95y2b2cav90f7dilhjyj6117ky9yxlr8w" + "revision": "9bf0c368565023914c120562473dc5a5c179ee8c", + "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/9bf0c368565023914c120562473dc5a5c179ee8c.tar.gz", + "hash": "12fb8av6q0y2ii23lx7rqln15syqhdxjrf9459jbm9dqjqrm6m9n" }, "fidget-nvim": { "type": "Git", @@ -480,9 +480,9 @@ }, "branch": "main", "submodules": false, - "revision": "d9ba6b7bfe29b3119a610892af67602641da778e", - "url": "https://github.com/j-hui/fidget.nvim/archive/d9ba6b7bfe29b3119a610892af67602641da778e.tar.gz", - "hash": "070jadci8x6zgxnsqaldjah1gm1p78wscsb9wpn5wn8mjkyk2m80" + "revision": "17ce5ac3b4e5ef590d4f4fd7d91e8fc233114074", + "url": "https://github.com/j-hui/fidget.nvim/archive/17ce5ac3b4e5ef590d4f4fd7d91e8fc233114074.tar.gz", + "hash": "1b1qhphdagjc1724sdy2dxkp7s7vyxi1b030kh01782mbgzpq0b6" }, "flash-nvim": { "type": "Git", @@ -506,9 +506,9 @@ }, "branch": "main", "submodules": false, - "revision": "d1022db80dab2a565563993843e8c60b20a3df39", - "url": "https://github.com/akinsho/flutter-tools.nvim/archive/d1022db80dab2a565563993843e8c60b20a3df39.tar.gz", - "hash": "16dmlag0sakzsiamms30nwq7vxrr8mwq777cgc9z3liikd81kx7h" + "revision": "65b7399804315a1160933b64292d3c5330aa4e9f", + "url": "https://github.com/akinsho/flutter-tools.nvim/archive/65b7399804315a1160933b64292d3c5330aa4e9f.tar.gz", + "hash": "1wbw5k5a7iw6dqznv8z1xpg6yyx6sqb1cmspl18pa23cayvcsf12" }, "friendly-snippets": { "type": "Git", @@ -532,9 +532,9 @@ }, "branch": "main", "submodules": false, - "revision": "70a1c1d266af2ea4d1d9c16e09c60d3fc8c5aa5f", - "url": "https://github.com/ibhagwan/fzf-lua/archive/70a1c1d266af2ea4d1d9c16e09c60d3fc8c5aa5f.tar.gz", - "hash": "1df1j9b3rjhqyyz3nfdm9agw37w2pn384skr8jg4q4a7vjpdmh2a" + "revision": "c9a2deb7bf2d8deaf56a229ff9c7bfeffa8d7d53", + "url": "https://github.com/ibhagwan/fzf-lua/archive/c9a2deb7bf2d8deaf56a229ff9c7bfeffa8d7d53.tar.gz", + "hash": "1b4mqfx47cxnvbd32alb5z3sh2lpsh2lmprc288zv4zjyrjh9l8i" }, "gesture-nvim": { "type": "Git", @@ -545,9 +545,9 @@ }, "branch": "master", "submodules": false, - "revision": "eee4a4c9f108b40cb63766e96e0fe28fe5968127", - "url": "https://github.com/notomo/gesture.nvim/archive/eee4a4c9f108b40cb63766e96e0fe28fe5968127.tar.gz", - "hash": "0h6f4s39q1kzsgc3wx6kanmhada00av1nj1ngzmgbafsxl2ax0bw" + "revision": "8f2e786a4b31d28797c6999efbae9c0215ab6181", + "url": "https://github.com/notomo/gesture.nvim/archive/8f2e786a4b31d28797c6999efbae9c0215ab6181.tar.gz", + "hash": "09z196vpdyj0n1h5d1c7yn90iayxnxvjz6fajzylxpa33x8y26qn" }, "git-conflict-nvim": { "type": "Git", @@ -597,9 +597,9 @@ }, "branch": "main", "submodules": false, - "revision": "d0f90ef51d4be86b824b012ec52ed715b5622e51", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/d0f90ef51d4be86b824b012ec52ed715b5622e51.tar.gz", - "hash": "1c5dn4d1s8x7lfh1zzq604l80pcdsbv0vjpzaj0s3fiar2piqrrg" + "revision": "b01433169be710d6c69f7b4ee264d9670698b831", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/b01433169be710d6c69f7b4ee264d9670698b831.tar.gz", + "hash": "1q12lpnxh6py5jh4jla6ibnbwfzb87j2fgvgmalnfn05gb2b04pc" }, "glow-nvim": { "type": "Git", @@ -623,9 +623,9 @@ }, "branch": "main", "submodules": false, - "revision": "00e38a379bab3389e187b3953566d67d494dfddd", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/00e38a379bab3389e187b3953566d67d494dfddd.tar.gz", - "hash": "1qavm9qkx3rwl3dsvs4xzw0ffhf4lmgzdmc51l00rjrb50ia3cpm" + "revision": "58a2cda2e953a99e2f87c12b7fb4602da4e0709c", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/58a2cda2e953a99e2f87c12b7fb4602da4e0709c.tar.gz", + "hash": "1hdhlpvxql42h3jdr85rbkaxb7a84q1l5km3w1qs4vxd60jixsmn" }, "hardtime-nvim": { "type": "Git", @@ -636,9 +636,9 @@ }, "branch": "main", "submodules": false, - "revision": "145b930954a3146cfb5b8a73cdcad42eb7d2740c", - "url": "https://github.com/m4xshen/hardtime.nvim/archive/145b930954a3146cfb5b8a73cdcad42eb7d2740c.tar.gz", - "hash": "126wxmqc4y8pff7z4rj58pnnzlz61nr9z9vbffk889yphgjjkdfm" + "revision": "3541ad24faff78274669eceaf130502eb7f1261a", + "url": "https://github.com/m4xshen/hardtime.nvim/archive/3541ad24faff78274669eceaf130502eb7f1261a.tar.gz", + "hash": "0bys7azr33s2hkj02x85hf0yhj4pp7c28qdvsyfa93ri8pgqd4c5" }, "harpoon": { "type": "Git", @@ -662,9 +662,9 @@ }, "branch": "master", "submodules": false, - "revision": "3f1a53df82ca72e90752dab473e92f37cdd8bdc6", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/3f1a53df82ca72e90752dab473e92f37cdd8bdc6.tar.gz", - "hash": "0wj7m2w1c3g9fi9lr6pnl0sbz0fqrhakmvawf3pbhaazpl61ws9g" + "revision": "4f8eb35363a9bb85faf702b220c14facf6de14a4", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/4f8eb35363a9bb85faf702b220c14facf6de14a4.tar.gz", + "hash": "1lyp4crqfqg8njz79xcha5ji6fj22ifgd821ck4zjr5zmv4z8l24" }, "highlight-undo-nvim": { "type": "Git", @@ -675,9 +675,9 @@ }, "branch": "main", "submodules": false, - "revision": "a5e2e2d43f6d131bf526619baeeeec32397b0789", - "url": "https://github.com/tzachar/highlight-undo.nvim/archive/a5e2e2d43f6d131bf526619baeeeec32397b0789.tar.gz", - "hash": "0gvd45mpkhd7hj8hvm20z036vr178hzzwhknj0l5bfnnnwl8xnjc" + "revision": "ee32e12693d70e66f954d09a504a7371d110fc27", + "url": "https://github.com/tzachar/highlight-undo.nvim/archive/ee32e12693d70e66f954d09a504a7371d110fc27.tar.gz", + "hash": "09byybwyl61jxlfii9vsi4i21vy6ngm3mbypqlhsivn8wgg24kn9" }, "hop-nvim": { "type": "Git", @@ -759,9 +759,9 @@ }, "branch": "main", "submodules": false, - "revision": "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d", - "url": "https://github.com/hakonharnes/img-clip.nvim/archive/08a02e14c8c0d42fa7a92c30a98fd04d6993b35d.tar.gz", - "hash": "0ani8z5pkvqmmalzcgyj27rfhqs76ivmpq79xn8rsdyy5a5fy979" + "revision": "d8b6b030672f9f551a0e3526347699985a779d93", + "url": "https://github.com/hakonharnes/img-clip.nvim/archive/d8b6b030672f9f551a0e3526347699985a779d93.tar.gz", + "hash": "1kah8n88jzlp52nz0l2kncws9sjxy6silr556lwpq4n9p8jm46pa" }, "indent-blankline-nvim": { "type": "Git", @@ -798,9 +798,9 @@ }, "branch": "main", "submodules": false, - "revision": "9958013bd9c41e6f32af0202b9ea41055fe4667e", - "url": "https://github.com/ggandor/leap.nvim/archive/9958013bd9c41e6f32af0202b9ea41055fe4667e.tar.gz", - "hash": "1l4hpjwfa2d2vkfrymjsv1zn0clx6vxnr0xzlfdi2jg41ms1niwq" + "revision": "ebaf38f7fd7193cc918c10eb955afed63301cd76", + "url": "https://github.com/ggandor/leap.nvim/archive/ebaf38f7fd7193cc918c10eb955afed63301cd76.tar.gz", + "hash": "116iij1wksp1sz7z7wf3izi6s8vljqdbc28g08sy71pjxs8fx2v4" }, "leetcode-nvim": { "type": "Git", @@ -811,9 +811,9 @@ }, "branch": "master", "submodules": false, - "revision": "db7e1cd6b9191b34b4c1f2f96e4e3949cde9f951", - "url": "https://github.com/kawre/leetcode.nvim/archive/db7e1cd6b9191b34b4c1f2f96e4e3949cde9f951.tar.gz", - "hash": "1d3lb7625b2qdzqm74mzrac66rxqc0qgjd3mb37l4v8wqyiyv6pp" + "revision": "422b6beb4a64eca0524fbff94edd9550c156afc5", + "url": "https://github.com/kawre/leetcode.nvim/archive/422b6beb4a64eca0524fbff94edd9550c156afc5.tar.gz", + "hash": "0by4graq6bwnipssxrdrp9d22jf5g93srv10ghd8y35f370q9nlv" }, "lsp-signature-nvim": { "type": "Git", @@ -824,9 +824,9 @@ }, "branch": "master", "submodules": false, - "revision": "d50e40b3bf9324128e71b0b7e589765ce89466d2", - "url": "https://github.com/ray-x/lsp_signature.nvim/archive/d50e40b3bf9324128e71b0b7e589765ce89466d2.tar.gz", - "hash": "0kw5631k18xjzxv0rlbcxv9vy9ai125bda32cr05yijcl86rf7ld" + "revision": "d9c39937e4e0977357530e988aa8940078bb231f", + "url": "https://github.com/ray-x/lsp_signature.nvim/archive/d9c39937e4e0977357530e988aa8940078bb231f.tar.gz", + "hash": "0m5a5bshycvr9cnb60xx1s0722i1dhpbcpxh6c79h2zrhi15h61n" }, "lspkind-nvim": { "type": "Git", @@ -850,9 +850,9 @@ }, "branch": "main", "submodules": false, - "revision": "920b1253e1a26732e53fac78412f6da7f674671d", - "url": "https://github.com/nvimdev/lspsaga.nvim/archive/920b1253e1a26732e53fac78412f6da7f674671d.tar.gz", - "hash": "0wkcgy2x119sd9xn6k9vs83pvrj0m4ali1ac72pah8pnlzfvkw7i" + "revision": "8efe00d6aed9db6449969f889170f1a7e43101a1", + "url": "https://github.com/nvimdev/lspsaga.nvim/archive/8efe00d6aed9db6449969f889170f1a7e43101a1.tar.gz", + "hash": "03lyjm7raak0hahy9vijg0s5g2wxciqnzrhjqp691hnd3n1gzrvj" }, "lua-utils-nvim": { "type": "Git", @@ -876,9 +876,9 @@ }, "branch": "master", "submodules": false, - "revision": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af", - "url": "https://github.com/hoob3rt/lualine.nvim/archive/0c6cca9f2c63dadeb9225c45bc92bb95a151d4af.tar.gz", - "hash": "11qwr67i0i04dvj9zjl9nfdwkb3i2vfza4i6066zd7msccv9z9v7" + "revision": "a94fc68960665e54408fe37dcf573193c4ce82c9", + "url": "https://github.com/hoob3rt/lualine.nvim/archive/a94fc68960665e54408fe37dcf573193c4ce82c9.tar.gz", + "hash": "0x6q640xkp6if0p5ks0bkwwppa9c66mr4lqadmpg20z2p81y18yr" }, "luasnip": { "type": "Git", @@ -889,9 +889,9 @@ }, "branch": "master", "submodules": false, - "revision": "5271933f7cea9f6b1c7de953379469010ed4553a", - "url": "https://github.com/L3MON4D3/LuaSnip/archive/5271933f7cea9f6b1c7de953379469010ed4553a.tar.gz", - "hash": "04c2lsls4085y5rkcw4m5md20vh0n7fz038qmxp9in65k64r2xf7" + "revision": "3d5bced1b9ae69fa3f9b1942e28af5dbc537f946", + "url": "https://github.com/L3MON4D3/LuaSnip/archive/3d5bced1b9ae69fa3f9b1942e28af5dbc537f946.tar.gz", + "hash": "0y29pqdbsj90h3kq2h86jzlfbjz1025c075n113c930x0r5jpgf3" }, "lz-n": { "type": "Git", @@ -902,9 +902,9 @@ }, "branch": "master", "submodules": false, - "revision": "07a7c61101e1481efd5d8be36ef408a96965686a", - "url": "https://github.com/nvim-neorocks/lz.n/archive/07a7c61101e1481efd5d8be36ef408a96965686a.tar.gz", - "hash": "0bymg0dyc9xb14yr3yd3yywqxshvypb6arixisrzfxq3wg9kk571" + "revision": "dbf512563eef47b04c24684a6d934a429a7706fc", + "url": "https://github.com/nvim-neorocks/lz.n/archive/dbf512563eef47b04c24684a6d934a429a7706fc.tar.gz", + "hash": "0pr84cjywhbhvxkjk1d1qsv70ps7x3z73hdhnxpd2zdqgwbs2fyv" }, "lzn-auto-require": { "type": "Git", @@ -928,9 +928,9 @@ }, "branch": "main", "submodules": false, - "revision": "99d9a091915b994b378c4a9cc3553b3cbbe4bad5", - "url": "https://github.com/OXY2DEV/markview.nvim/archive/99d9a091915b994b378c4a9cc3553b3cbbe4bad5.tar.gz", - "hash": "01ww5nj0035yb9g64g9s3rbc190y3vgl3igl2lybypv3qszsnlzf" + "revision": "ec33f2aa333ca1d76f51847922578434d7aeadf7", + "url": "https://github.com/OXY2DEV/markview.nvim/archive/ec33f2aa333ca1d76f51847922578434d7aeadf7.tar.gz", + "hash": "03c58dccq2qxfmv5wya64j18rqydnrd664awc0pxgy41bs11yfls" }, "mind-nvim": { "type": "Git", @@ -954,9 +954,9 @@ }, "branch": "main", "submodules": false, - "revision": "5225f16eacf4dce2cb7204ca345123ef54e209d6", - "url": "https://github.com/echasnovski/mini.ai/archive/5225f16eacf4dce2cb7204ca345123ef54e209d6.tar.gz", - "hash": "0vqf5xywkqw84r96malik5jxib7ifr9vpk1f6ifj74d23ldqzs1c" + "revision": "1cd4f021a05c29acd4ab511c0981da14217daf38", + "url": "https://github.com/echasnovski/mini.ai/archive/1cd4f021a05c29acd4ab511c0981da14217daf38.tar.gz", + "hash": "045f24n8b3f1ilhhanm1m0sfr0yjprxp5a8ykyjrqc4lwh3v1jwv" }, "mini-align": { "type": "Git", @@ -967,9 +967,9 @@ }, "branch": "main", "submodules": false, - "revision": "969bdcdf9b88e30bda9cb8ad6f56afed208778ad", - "url": "https://github.com/echasnovski/mini.align/archive/969bdcdf9b88e30bda9cb8ad6f56afed208778ad.tar.gz", - "hash": "0yp6flw1xwwb8s74186bi5pm3m0426aixl34g8dm98wl66hh162c" + "revision": "0202e1662a7a03a95cefd6851795ceae5e87b9b3", + "url": "https://github.com/echasnovski/mini.align/archive/0202e1662a7a03a95cefd6851795ceae5e87b9b3.tar.gz", + "hash": "0yzwryx5y4v3838b1g2b6xnj6cg824iww4dxvlr0jmbqd3m23lf5" }, "mini-animate": { "type": "Git", @@ -980,9 +980,9 @@ }, "branch": "main", "submodules": false, - "revision": "9b518c39c0e25b7b5e4e61db3f1407f7b4889f4e", - "url": "https://github.com/echasnovski/mini.animate/archive/9b518c39c0e25b7b5e4e61db3f1407f7b4889f4e.tar.gz", - "hash": "197fgvnh05j5s0bhablgvlz1h6fl4m3n9d1sxzyf6p661dk8chcf" + "revision": "8a3f27183b38d2f255e3f5fc0df42c072f8339df", + "url": "https://github.com/echasnovski/mini.animate/archive/8a3f27183b38d2f255e3f5fc0df42c072f8339df.tar.gz", + "hash": "0zq5m24192hpkv03w65cw9famfc48n4dcqmsj1n2xhd4lynjhbrb" }, "mini-base16": { "type": "Git", @@ -993,9 +993,9 @@ }, "branch": "main", "submodules": false, - "revision": "2eb2d2b889a8c861d1a66ec651bd0edb417d5c7f", - "url": "https://github.com/echasnovski/mini.base16/archive/2eb2d2b889a8c861d1a66ec651bd0edb417d5c7f.tar.gz", - "hash": "0g09bgk7y2j83phckg9wlm82ih1ya5j0sgz6xbscbj6jh0w75lvz" + "revision": "ecd277e6204fc0411f070150081f40529dcf280c", + "url": "https://github.com/echasnovski/mini.base16/archive/ecd277e6204fc0411f070150081f40529dcf280c.tar.gz", + "hash": "08v2rlb2jzbza30n66rb19bgh9y6a8vk7jfq6mzi9dxb4f7a85sl" }, "mini-basics": { "type": "Git", @@ -1006,9 +1006,9 @@ }, "branch": "main", "submodules": false, - "revision": "9904890cf863a7cbc3f57a1cbac3d298a33e90a4", - "url": "https://github.com/echasnovski/mini.basics/archive/9904890cf863a7cbc3f57a1cbac3d298a33e90a4.tar.gz", - "hash": "0k9xzdgmyrjvazvi2j1pgy8wsdbm3g3wcq4nnhdxl51i9ib5i3wj" + "revision": "540c80d579e366a7c11d2b5cf3ecde009dbd125f", + "url": "https://github.com/echasnovski/mini.basics/archive/540c80d579e366a7c11d2b5cf3ecde009dbd125f.tar.gz", + "hash": "1zcysmzywibn8hsd098jj31hn2xdjisfchdd9ywmmhaxzg48djsm" }, "mini-bracketed": { "type": "Git", @@ -1019,9 +1019,9 @@ }, "branch": "main", "submodules": false, - "revision": "079b8375e40ebf3f8af319ad835263ff390c3965", - "url": "https://github.com/echasnovski/mini.bracketed/archive/079b8375e40ebf3f8af319ad835263ff390c3965.tar.gz", - "hash": "1d7kz48400bjdlkrlfparmi4w44mq08gp5bvz9vggc7hmm0baa4n" + "revision": "4a005a6e5aad58230b69f0f59df2cbb8b1c2e643", + "url": "https://github.com/echasnovski/mini.bracketed/archive/4a005a6e5aad58230b69f0f59df2cbb8b1c2e643.tar.gz", + "hash": "0wg24cq6064c45p3sf022d54gmwwvi8354k2sbp09h19s797bpbx" }, "mini-bufremove": { "type": "Git", @@ -1032,9 +1032,9 @@ }, "branch": "main", "submodules": false, - "revision": "66019ecebdc5bc0759e04747586994e2e3f98416", - "url": "https://github.com/echasnovski/mini.bufremove/archive/66019ecebdc5bc0759e04747586994e2e3f98416.tar.gz", - "hash": "0pqwi0ix7zl7sg74p19q61mizv48mjmbijigsssi9fbyk0hwmkww" + "revision": "a1bbb2af40f7773c8cee9e364aac4a724b5c10de", + "url": "https://github.com/echasnovski/mini.bufremove/archive/a1bbb2af40f7773c8cee9e364aac4a724b5c10de.tar.gz", + "hash": "1xz9x5bd72cg4f56ngb6lr00cb468q84nm383fyzvwyxj99nw2b9" }, "mini-clue": { "type": "Git", @@ -1045,9 +1045,9 @@ }, "branch": "main", "submodules": false, - "revision": "97198ef9d8425e69f74d2875e217440ba0ff1730", - "url": "https://github.com/echasnovski/mini.clue/archive/97198ef9d8425e69f74d2875e217440ba0ff1730.tar.gz", - "hash": "1ma9rmdgqlc9iwl3yrqxljnmibqj4zvs9g3wn2n27mrm10xl1z5y" + "revision": "edf3016944b5f2c7932d39af83af7c885ca0f019", + "url": "https://github.com/echasnovski/mini.clue/archive/edf3016944b5f2c7932d39af83af7c885ca0f019.tar.gz", + "hash": "09mvqd93nfqpfm1k78l41cbpqazfx852c2l5rkdrgpmjq6mxay4f" }, "mini-colors": { "type": "Git", @@ -1058,9 +1058,9 @@ }, "branch": "main", "submodules": false, - "revision": "ef76867adda63d6010acdc8732a816c8527d276b", - "url": "https://github.com/echasnovski/mini.colors/archive/ef76867adda63d6010acdc8732a816c8527d276b.tar.gz", - "hash": "0z2cg6fsy5idqp0p3i6rrx9mp48g4z915ylbi5q597d1vmglqffm" + "revision": "dd4209469024b249cf9dfed851fd85ad3467ccd3", + "url": "https://github.com/echasnovski/mini.colors/archive/dd4209469024b249cf9dfed851fd85ad3467ccd3.tar.gz", + "hash": "0zppf2j94v19bvlkhaixx9vj4w3c574v0nycha9y2zy48ac1x6dy" }, "mini-comment": { "type": "Git", @@ -1071,9 +1071,9 @@ }, "branch": "main", "submodules": false, - "revision": "22ee9f6be1c78bcebe009a564758e5b6df08903b", - "url": "https://github.com/echasnovski/mini.comment/archive/22ee9f6be1c78bcebe009a564758e5b6df08903b.tar.gz", - "hash": "1j1bg8506ag9fmjbx41w1hqnd61vyq1paclh2nc25krcbv2plyas" + "revision": "871746069a28e35d04a66f88bc0e6831779ccc40", + "url": "https://github.com/echasnovski/mini.comment/archive/871746069a28e35d04a66f88bc0e6831779ccc40.tar.gz", + "hash": "051gfmd82m2ghf6am6q5bdsjda2wghy5pwn7gyxc1fahh9d9gakf" }, "mini-completion": { "type": "Git", @@ -1084,9 +1084,9 @@ }, "branch": "main", "submodules": false, - "revision": "ea78d31e8164468f0b3a909f863806f2c4cb84c4", - "url": "https://github.com/echasnovski/mini.completion/archive/ea78d31e8164468f0b3a909f863806f2c4cb84c4.tar.gz", - "hash": "01zc0kvwiq1h37q4fgwqi0bg875dks8vxw3aqjg3kyjj1v3z0zw9" + "revision": "7254cce7766f330170318c8bd4826ec3a3aac183", + "url": "https://github.com/echasnovski/mini.completion/archive/7254cce7766f330170318c8bd4826ec3a3aac183.tar.gz", + "hash": "0n62xdkiicf4ngj1c30ahp68znhi6nva1shd23i98mihmlmv24hz" }, "mini-cursorword": { "type": "GitRelease", @@ -1113,9 +1113,9 @@ }, "branch": "main", "submodules": false, - "revision": "f7bcd3cb4561f7d3a02ae9afafeda899c82f7108", - "url": "https://github.com/echasnovski/mini.diff/archive/f7bcd3cb4561f7d3a02ae9afafeda899c82f7108.tar.gz", - "hash": "1z2jklgm72mj4rpknl4s9kl22in2b40vx1k7psscz4b8d6ljh41m" + "revision": "f573bd2ae2eb225ea2f125126b8869e04bcaf231", + "url": "https://github.com/echasnovski/mini.diff/archive/f573bd2ae2eb225ea2f125126b8869e04bcaf231.tar.gz", + "hash": "0rlah6kwv9xw244b1xhkdz1hg10zq2zidnlvnxjl7ckn9qxq908p" }, "mini-doc": { "type": "Git", @@ -1126,9 +1126,9 @@ }, "branch": "main", "submodules": false, - "revision": "9b3e1b20508c7a6218cadf59b177a79a5df290f6", - "url": "https://github.com/echasnovski/mini.doc/archive/9b3e1b20508c7a6218cadf59b177a79a5df290f6.tar.gz", - "hash": "1anxn3lasm1x3yn1i0hd4im7y8fvf0fhyazn3yj6hzpm4vb12p0k" + "revision": "dc336167b203f7405ce7a27d879a90fd9a4ba241", + "url": "https://github.com/echasnovski/mini.doc/archive/dc336167b203f7405ce7a27d879a90fd9a4ba241.tar.gz", + "hash": "17akjcvps4adzp3ag04i11gdwxhk10qhlqlacy3yx8ks2l8jsibh" }, "mini-extra": { "type": "Git", @@ -1139,9 +1139,9 @@ }, "branch": "main", "submodules": false, - "revision": "69ba107ac8712820f3ad391d327f62b57fead277", - "url": "https://github.com/echasnovski/mini.extra/archive/69ba107ac8712820f3ad391d327f62b57fead277.tar.gz", - "hash": "15q6q4laycfzb2rr2h948n61ybgv46cgcsgr8cjfwna4bby8gvj3" + "revision": "0dec9611833d058f9d2d48f6333b41631f5ef3b9", + "url": "https://github.com/echasnovski/mini.extra/archive/0dec9611833d058f9d2d48f6333b41631f5ef3b9.tar.gz", + "hash": "1q1jas6kx8sxyxrvf8c5d7jlb76bxfps9zsjaqmh7y4rx4pk103k" }, "mini-files": { "type": "Git", @@ -1152,9 +1152,9 @@ }, "branch": "main", "submodules": false, - "revision": "49c855977e9f4821d1ed8179ed44fe098b93ea2a", - "url": "https://github.com/echasnovski/mini.files/archive/49c855977e9f4821d1ed8179ed44fe098b93ea2a.tar.gz", - "hash": "12027xb9907zk145hsx6qniq1cjm8bm5405njq4cs9vx992pafsh" + "revision": "5b9431cf5c69b8e69e5a67d2d12338a3ac2e1541", + "url": "https://github.com/echasnovski/mini.files/archive/5b9431cf5c69b8e69e5a67d2d12338a3ac2e1541.tar.gz", + "hash": "1y32wk17hlpv17q3yrjx4cfywi9svxxpmzy1qdzqxdkddrzya3sc" }, "mini-fuzzy": { "type": "Git", @@ -1165,9 +1165,9 @@ }, "branch": "main", "submodules": false, - "revision": "c33d6a93c4fe395ae8a9bd02fed35315a90b688a", - "url": "https://github.com/echasnovski/mini.fuzzy/archive/c33d6a93c4fe395ae8a9bd02fed35315a90b688a.tar.gz", - "hash": "0n3rnvhz1hzj32l006il96zf61iv4wc0fy6dqp1lyrqm13skadvp" + "revision": "f270c05a0afcb4e87044f7cd01af187497f30c4d", + "url": "https://github.com/echasnovski/mini.fuzzy/archive/f270c05a0afcb4e87044f7cd01af187497f30c4d.tar.gz", + "hash": "0jvvbwva2csadr4hhbmbcw0hzj16rrpbnh1ibhzsnalws8bn5mh7" }, "mini-git": { "type": "Git", @@ -1178,9 +1178,9 @@ }, "branch": "main", "submodules": false, - "revision": "a0ddc6302f654523053c28109e8b6dbbf05c08f8", - "url": "https://github.com/echasnovski/mini-git/archive/a0ddc6302f654523053c28109e8b6dbbf05c08f8.tar.gz", - "hash": "0vf0ys710yf1apalglxj7kcdyrnrd7jkz1ksi9v1vj3h60pvany2" + "revision": "c38380e1a6582b1aee7de26e9738b1ce17366d7d", + "url": "https://github.com/echasnovski/mini-git/archive/c38380e1a6582b1aee7de26e9738b1ce17366d7d.tar.gz", + "hash": "11vfi9csq7s8xvsghr5h6qch71dy1r497bflfzjx14rpbb8bdmc8" }, "mini-hipatterns": { "type": "Git", @@ -1191,9 +1191,9 @@ }, "branch": "main", "submodules": false, - "revision": "e5083df391171dc9d8172645606f8496d9443374", - "url": "https://github.com/echasnovski/mini.hipatterns/archive/e5083df391171dc9d8172645606f8496d9443374.tar.gz", - "hash": "116vpf4b86qbwrcax7dfhiswb4pwf3nmj2dh4kafj9vnpwyw1c3w" + "revision": "2b78f3d475d60ea1793a6d595ff65a0db9ac3a67", + "url": "https://github.com/echasnovski/mini.hipatterns/archive/2b78f3d475d60ea1793a6d595ff65a0db9ac3a67.tar.gz", + "hash": "1vn4pz7ibd4ll97xrvqvl8swr88dzr9gbq5zc4ssfixrqfssb22w" }, "mini-hues": { "type": "Git", @@ -1204,9 +1204,9 @@ }, "branch": "main", "submodules": false, - "revision": "62f16a7b4704d051f69c39dbbe867dfdb4f0d3ed", - "url": "https://github.com/echasnovski/mini.hues/archive/62f16a7b4704d051f69c39dbbe867dfdb4f0d3ed.tar.gz", - "hash": "0hmflllpxmp39d1x1lx0j6w3mm2yin3mf0mjgfics2s6jdami3pj" + "revision": "9149f51a5124ca34fe50c637e2dd5ac3b4e4a55e", + "url": "https://github.com/echasnovski/mini.hues/archive/9149f51a5124ca34fe50c637e2dd5ac3b4e4a55e.tar.gz", + "hash": "1bgigv8f262kh2493sncy975vr4nl49mw171n19rmgnixmh23w0s" }, "mini-icons": { "type": "Git", @@ -1217,9 +1217,9 @@ }, "branch": "main", "submodules": false, - "revision": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a", - "url": "https://github.com/echasnovski/mini.icons/archive/397ed3807e96b59709ef3292f0a3e253d5c1dc0a.tar.gz", - "hash": "110bglbbyafjym4md2slgccyjhf90bgg8h9h2ipya6cfqfs4pizy" + "revision": "b8f6fa6f5a3fd0c56936252edcd691184e5aac0c", + "url": "https://github.com/echasnovski/mini.icons/archive/b8f6fa6f5a3fd0c56936252edcd691184e5aac0c.tar.gz", + "hash": "07zlbmisc8c4wj36mdnk7wlwb0qfd38zpjdkqazjzb5lfzh9hf9m" }, "mini-indentscope": { "type": "Git", @@ -1230,9 +1230,9 @@ }, "branch": "main", "submodules": false, - "revision": "8af2569a7d7fd37300dfa760e44e71efbbf322fd", - "url": "https://github.com/echasnovski/mini.indentscope/archive/8af2569a7d7fd37300dfa760e44e71efbbf322fd.tar.gz", - "hash": "1xk31bl9gchc8r1pv6f2z7nfkr6q7f1i4qrrj3h4crxb6nhpxmry" + "revision": "f1567c6f46c250b22f4ad1b847a042464742b11d", + "url": "https://github.com/echasnovski/mini.indentscope/archive/f1567c6f46c250b22f4ad1b847a042464742b11d.tar.gz", + "hash": "0mbwy8ww0cxx4g5l7hipnxsgwzvmr6wxsap0dz6y4fy1g4jcw6cw" }, "mini-jump": { "type": "Git", @@ -1243,9 +1243,9 @@ }, "branch": "main", "submodules": false, - "revision": "aad72c99f446086b0a53b8a660a2d89d296be057", - "url": "https://github.com/echasnovski/mini.jump/archive/aad72c99f446086b0a53b8a660a2d89d296be057.tar.gz", - "hash": "1dsqpcr54sglr0x9mmp0xxpmrmgq10j0xpnj2dxvxabi9h1h179a" + "revision": "5fd3bc5a97f3487c65b34475033ca8fccf297500", + "url": "https://github.com/echasnovski/mini.jump/archive/5fd3bc5a97f3487c65b34475033ca8fccf297500.tar.gz", + "hash": "0ai4pl9cx8p57qja2ixf3294hdrj0j30pkh0gymd7jw992dqkp6s" }, "mini-jump2d": { "type": "Git", @@ -1256,9 +1256,9 @@ }, "branch": "main", "submodules": false, - "revision": "6045bd61659d97926ba7ae5f9be8924e11c15079", - "url": "https://github.com/echasnovski/mini.jump2d/archive/6045bd61659d97926ba7ae5f9be8924e11c15079.tar.gz", - "hash": "1zk5y1gdkg8m1ncic0b0iqcp9k32pd1dklnw69jjwm30mxmixky8" + "revision": "7a1b72251bf841bd8feb3e54e3e61c2883bc29ae", + "url": "https://github.com/echasnovski/mini.jump2d/archive/7a1b72251bf841bd8feb3e54e3e61c2883bc29ae.tar.gz", + "hash": "0ydavxi9ryxllky3y7whv62dm8b4h5545w1kzgk3b3bfss4zq1rj" }, "mini-map": { "type": "Git", @@ -1269,9 +1269,9 @@ }, "branch": "main", "submodules": false, - "revision": "f3c156693a9f68a10ae285d537edd36f4cf0e64f", - "url": "https://github.com/echasnovski/mini.map/archive/f3c156693a9f68a10ae285d537edd36f4cf0e64f.tar.gz", - "hash": "1z2rf664z7krs40w66b5fjmq3xffv357mv689425i5nyc1q0gr4n" + "revision": "94ce1694e7b7a3940fc507ab25f061deb9c8179c", + "url": "https://github.com/echasnovski/mini.map/archive/94ce1694e7b7a3940fc507ab25f061deb9c8179c.tar.gz", + "hash": "0rfhkijxvb40wvb6abvpdq1s34xki2s36clml5lprg0v880qv75l" }, "mini-misc": { "type": "Git", @@ -1282,9 +1282,9 @@ }, "branch": "main", "submodules": false, - "revision": "d92235cfb7b1bce2dfc21d06ee1a1a3d7e04b969", - "url": "https://github.com/echasnovski/mini.misc/archive/d92235cfb7b1bce2dfc21d06ee1a1a3d7e04b969.tar.gz", - "hash": "0cbq6kw58jiiy7f3fraxkskr1vpwmdnpv38pbywwfr8w1f6rf2fi" + "revision": "186e543e5c322e1d474d541ec66197839ec51778", + "url": "https://github.com/echasnovski/mini.misc/archive/186e543e5c322e1d474d541ec66197839ec51778.tar.gz", + "hash": "0rgcmzqbpnq0b07vi5bjq70skjhm959kvw7h3wsaihb68yri56m7" }, "mini-move": { "type": "Git", @@ -1295,9 +1295,9 @@ }, "branch": "main", "submodules": false, - "revision": "4fe4a855fee53c66b0f3255a4b54ddc2ae6b308c", - "url": "https://github.com/echasnovski/mini.move/archive/4fe4a855fee53c66b0f3255a4b54ddc2ae6b308c.tar.gz", - "hash": "0dd29nx1z54ljjz9m4m9ghhv39x7ajjx43hbr4gn7p1lv2kvjv7p" + "revision": "819e90c3e113a3c826c3003ec07073f1e0677ea0", + "url": "https://github.com/echasnovski/mini.move/archive/819e90c3e113a3c826c3003ec07073f1e0677ea0.tar.gz", + "hash": "1dbflx3im6605vxhk3q8mqgsh89gs1q50x5vngl08knsv2vmm16a" }, "mini-notify": { "type": "Git", @@ -1308,9 +1308,9 @@ }, "branch": "main", "submodules": false, - "revision": "3a06b21dd0b335b95d125eae813276113b5e9ce7", - "url": "https://github.com/echasnovski/mini.notify/archive/3a06b21dd0b335b95d125eae813276113b5e9ce7.tar.gz", - "hash": "13pa82zmz6w8is4gfh33fqcd2yx3f1bmd5r3q4sp1kfgf2c68c30" + "revision": "e18f9fc783c7a26fab9c8a094d97dc768e56f558", + "url": "https://github.com/echasnovski/mini.notify/archive/e18f9fc783c7a26fab9c8a094d97dc768e56f558.tar.gz", + "hash": "0qvh5wy1acrilkzin16n2xnpsr5vydxajln0r2y2xbq9wix42vn6" }, "mini-operators": { "type": "Git", @@ -1321,9 +1321,9 @@ }, "branch": "main", "submodules": false, - "revision": "b79a95958c57e127704bbeb1dc11a511954fc888", - "url": "https://github.com/echasnovski/mini.operators/archive/b79a95958c57e127704bbeb1dc11a511954fc888.tar.gz", - "hash": "0dyackl7a6kayk7chd3qm45j7h1pjf1r6qhbdl7m21dzdbp9c4s5" + "revision": "fd655907ed56434c83a6efb654b266d9c090ca82", + "url": "https://github.com/echasnovski/mini.operators/archive/fd655907ed56434c83a6efb654b266d9c090ca82.tar.gz", + "hash": "1f3yd23mggrrr3hdvzp8rl3qqxznx1889q0wgkz239636d07qsjc" }, "mini-pairs": { "type": "Git", @@ -1334,9 +1334,9 @@ }, "branch": "main", "submodules": false, - "revision": "69864a2efb36c030877421634487fd90db1e4298", - "url": "https://github.com/echasnovski/mini.pairs/archive/69864a2efb36c030877421634487fd90db1e4298.tar.gz", - "hash": "0avjjikmz3b8676hzcqck3r2lv0zxsdr8hqs65zn2dr12q8zh41r" + "revision": "1e1ca3f60f58d4050bf814902b472eec9963a5dd", + "url": "https://github.com/echasnovski/mini.pairs/archive/1e1ca3f60f58d4050bf814902b472eec9963a5dd.tar.gz", + "hash": "1zwvywy9pbskip3nckbymkkrl19mvdz8ax0ixcnnavk6567v5hh5" }, "mini-pick": { "type": "Git", @@ -1347,9 +1347,9 @@ }, "branch": "main", "submodules": false, - "revision": "c272dc61cd0326b344761cd9d031bfcdef1978c7", - "url": "https://github.com/echasnovski/mini.pick/archive/c272dc61cd0326b344761cd9d031bfcdef1978c7.tar.gz", - "hash": "0kpn9ha5kivv46r6m30bpbfv8qksg8k2xgb3n4gih7rlvik9qa3m" + "revision": "c8f4ff0251ccb8c6a993ee0dee4e06d9c21a4b99", + "url": "https://github.com/echasnovski/mini.pick/archive/c8f4ff0251ccb8c6a993ee0dee4e06d9c21a4b99.tar.gz", + "hash": "0lrfzi55a19lqbxpq42fp9p6wwq5w8hwxh8hs6s8dc8f51cbrrvr" }, "mini-sessions": { "type": "Git", @@ -1360,9 +1360,9 @@ }, "branch": "main", "submodules": false, - "revision": "dd7fe484dfcbf270a788e9291545df509cdb9691", - "url": "https://github.com/echasnovski/mini.sessions/archive/dd7fe484dfcbf270a788e9291545df509cdb9691.tar.gz", - "hash": "0m8l1hw8y3mwhcnyzhxb7j4jvvwmf8i7ybxddy2r2rq89rc7x3ln" + "revision": "8b01c6cd257450b34a07fc0b3f05226020a94c75", + "url": "https://github.com/echasnovski/mini.sessions/archive/8b01c6cd257450b34a07fc0b3f05226020a94c75.tar.gz", + "hash": "1y9k63ac5i7mjqk1gazrm9w7avppbhc8cl5084d3rv7f4pgzn6cq" }, "mini-snippets": { "type": "Git", @@ -1373,9 +1373,9 @@ }, "branch": "main", "submodules": false, - "revision": "6f0de3c3f97a8c015f99619f72edf9b2880b6886", - "url": "https://github.com/echasnovski/mini.snippets/archive/6f0de3c3f97a8c015f99619f72edf9b2880b6886.tar.gz", - "hash": "0pbkwp5p0y3djf3xfvmnf6ys1w5287gyhas09s94ha2ghhsyzy2w" + "revision": "a04d1b2fc0047b8e613a31dbc4a5760778003dcd", + "url": "https://github.com/echasnovski/mini.snippets/archive/a04d1b2fc0047b8e613a31dbc4a5760778003dcd.tar.gz", + "hash": "083yvsf1j8wwqmc0gm5c6a9cvy883s02kd0q8s8h0zb40f0xkmw7" }, "mini-splitjoin": { "type": "Git", @@ -1386,9 +1386,9 @@ }, "branch": "main", "submodules": false, - "revision": "70240d5d3881ff1b2b1d7902450f98a6fa303800", - "url": "https://github.com/echasnovski/mini.splitjoin/archive/70240d5d3881ff1b2b1d7902450f98a6fa303800.tar.gz", - "hash": "1sp4p0s4cv888n0nmgy04j5k51ndxpmksy235rg9jkk7j5gg47qb" + "revision": "51909e9883ab206f5a92deb9ca685317387586a4", + "url": "https://github.com/echasnovski/mini.splitjoin/archive/51909e9883ab206f5a92deb9ca685317387586a4.tar.gz", + "hash": "1rrpy2vf6dzxvrk4px4185zx5ci30d62hc7j5mqifv2br5gdlh0r" }, "mini-starter": { "type": "Git", @@ -1399,9 +1399,9 @@ }, "branch": "main", "submodules": false, - "revision": "03a124f307ebfb9fd05a0e6503d30605c32a9e1a", - "url": "https://github.com/echasnovski/mini.starter/archive/03a124f307ebfb9fd05a0e6503d30605c32a9e1a.tar.gz", - "hash": "0c024xvdww9331bcfd3i7x8pp4phxkgqhnfv3fgld1imbnif1547" + "revision": "aa1f05d40e59ddc652a7333a05e707bd9233b9d0", + "url": "https://github.com/echasnovski/mini.starter/archive/aa1f05d40e59ddc652a7333a05e707bd9233b9d0.tar.gz", + "hash": "18y5k17vdlq1k93pnv7l7pd96g72zv4hp9q0fa4kh2r7ljn7zm7n" }, "mini-statusline": { "type": "Git", @@ -1412,9 +1412,9 @@ }, "branch": "main", "submodules": false, - "revision": "e331175f10d9f400b42523b3890841aba202ce16", - "url": "https://github.com/echasnovski/mini.statusline/archive/e331175f10d9f400b42523b3890841aba202ce16.tar.gz", - "hash": "1hhd4fln3m04d9v5pwa3mb1n4nifsilrxp8hs14njcgk2rxv6qar" + "revision": "f6917f4da995d64edf3728b1302dbd5d4561c912", + "url": "https://github.com/echasnovski/mini.statusline/archive/f6917f4da995d64edf3728b1302dbd5d4561c912.tar.gz", + "hash": "17jvy7986d0f49cwq233aclwnq0zp8dhjdq3v66iijkg16kdrfq7" }, "mini-surround": { "type": "Git", @@ -1425,9 +1425,9 @@ }, "branch": "main", "submodules": false, - "revision": "0d278217ca98ffa5b768701fb57f52a88b1e1f93", - "url": "https://github.com/echasnovski/mini.surround/archive/0d278217ca98ffa5b768701fb57f52a88b1e1f93.tar.gz", - "hash": "0r93kgzd5xhykcwxzfjcmdmcd2dmj80hxqfd4r6ikbaxq6b6vnk0" + "revision": "b12fcfefd6b9b7c9e9a773bc0e3e07ae20c03351", + "url": "https://github.com/echasnovski/mini.surround/archive/b12fcfefd6b9b7c9e9a773bc0e3e07ae20c03351.tar.gz", + "hash": "037za6qh1j0rncjmh3x2lh3zzw0990j963irfc78fmpbv87msv4f" }, "mini-tabline": { "type": "Git", @@ -1438,9 +1438,9 @@ }, "branch": "main", "submodules": false, - "revision": "ff7a050721352580184db1ff203286c1032d5b54", - "url": "https://github.com/echasnovski/mini.tabline/archive/ff7a050721352580184db1ff203286c1032d5b54.tar.gz", - "hash": "142vv5nwg3bvia21frmcyps1ycyqqj1l0v5vclrm46cwaz2b2qfb" + "revision": "c7bbf3e85ac1901bf170c7398ccdada8e4ea05b0", + "url": "https://github.com/echasnovski/mini.tabline/archive/c7bbf3e85ac1901bf170c7398ccdada8e4ea05b0.tar.gz", + "hash": "1l7aqxpc6ni6gkdqpp05w2pbsgj16f7ir9m9cd0qqwi3hjgm9cxq" }, "mini-test": { "type": "Git", @@ -1451,9 +1451,9 @@ }, "branch": "main", "submodules": false, - "revision": "0701f48de3c6af1158b9111957ff956506124c3e", - "url": "https://github.com/echasnovski/mini.test/archive/0701f48de3c6af1158b9111957ff956506124c3e.tar.gz", - "hash": "1v21zpsyxxlnix4g2c1dq23vwpjjbi7sbil4d85ydfl6i3cya90z" + "revision": "62499fa5d3ee64f931ba67f5494b6a3175ac472b", + "url": "https://github.com/echasnovski/mini.test/archive/62499fa5d3ee64f931ba67f5494b6a3175ac472b.tar.gz", + "hash": "0kb77plwnifqnsl62f6azjmnr12jix0yrfkvjf5ja4m84yzlaa66" }, "mini-trailspace": { "type": "Git", @@ -1464,9 +1464,9 @@ }, "branch": "main", "submodules": false, - "revision": "39a0460c025a605519fdd6bea1ce870642429996", - "url": "https://github.com/echasnovski/mini.trailspace/archive/39a0460c025a605519fdd6bea1ce870642429996.tar.gz", - "hash": "1d95vcxm7fhav8gz9n8m36q3hkxi6j1p0f6y35qnps1x7yz1wyfg" + "revision": "3d570d015d63ad6d3f8a90f12c6b544c2400cea9", + "url": "https://github.com/echasnovski/mini.trailspace/archive/3d570d015d63ad6d3f8a90f12c6b544c2400cea9.tar.gz", + "hash": "1xvrrnl4wkxhr4dsaii8ps96w88cdfmpgy1da23kpb0y3wxyjjf4" }, "mini-visits": { "type": "Git", @@ -1477,9 +1477,9 @@ }, "branch": "main", "submodules": false, - "revision": "c0a3b02f5d82080a2aa6cd9185ff16944ce2451a", - "url": "https://github.com/echasnovski/mini.visits/archive/c0a3b02f5d82080a2aa6cd9185ff16944ce2451a.tar.gz", - "hash": "02wr34zzd5x6zn4iwhbv5g4shibpvb8536hr5lk0aw7i55aqg5x8" + "revision": "f2997b74f9255663c4f382ae538d4899509617f7", + "url": "https://github.com/echasnovski/mini.visits/archive/f2997b74f9255663c4f382ae538d4899509617f7.tar.gz", + "hash": "1mhjzjnqi7lzcyfikzncadpxd8ljl5jp5g8sap66n499f9nshhxq" }, "minimap-vim": { "type": "Git", @@ -1516,9 +1516,9 @@ }, "branch": "main", "submodules": false, - "revision": "fc7bc0141500d9cf7c14f46fca846f728545a781", - "url": "https://github.com/mvllow/modes.nvim/archive/fc7bc0141500d9cf7c14f46fca846f728545a781.tar.gz", - "hash": "1vx3mdky29zh5410d8z1b6v1bb433ldmqmycqpapqs5zirxyf2ys" + "revision": "69407cef8b8074db0c692abb9216cb123152ef46", + "url": "https://github.com/mvllow/modes.nvim/archive/69407cef8b8074db0c692abb9216cb123152ef46.tar.gz", + "hash": "1mfp4ljjqllkf7h5kng7qqq34vdd6nxwm7yjkrqchmy0macw46m4" }, "multicursors-nvim": { "type": "GitRelease", @@ -1545,9 +1545,9 @@ }, "branch": "main", "submodules": false, - "revision": "b287285c24ee5dca63d0000230a5a04e681b8db6", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/b287285c24ee5dca63d0000230a5a04e681b8db6.tar.gz", - "hash": "06nz3z7yq12z4img46bmr1qjm09x3av6hz5fh4hdg5d5n5f2icmd" + "revision": "e858a443813097cba43524a6321e3976b14ec75d", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/e858a443813097cba43524a6321e3976b14ec75d.tar.gz", + "hash": "0lxjgx1yvc9sx1326v90bd00j3g75x7rb1rbvnkg7dkp6bprh80i" }, "neocord": { "type": "Git", @@ -1587,9 +1587,9 @@ }, "branch": "main", "submodules": false, - "revision": "f8c932adf75ba65cd015cdbcf9ed1b96814cf55e", - "url": "https://github.com/nvim-neorg/neorg/archive/f8c932adf75ba65cd015cdbcf9ed1b96814cf55e.tar.gz", - "hash": "1qb8m299cxn1w3n7ix9rrf2by52rhljql9fz236han28680j3d6k" + "revision": "790b0444c0c654131a722817dc893332e06c72b9", + "url": "https://github.com/nvim-neorg/neorg/archive/790b0444c0c654131a722817dc893332e06c72b9.tar.gz", + "hash": "1bnqsf4v6rbw54z6ybibxz1qf0smxvzfxk938yb19jg075fsn15r" }, "neorg-telescope": { "type": "Git", @@ -1665,9 +1665,9 @@ }, "branch": "main", "submodules": false, - "revision": "db2a48b79cfcdab8baa5d3f37f21c78b6705c62e", - "url": "https://github.com/nvimtools/none-ls.nvim/archive/db2a48b79cfcdab8baa5d3f37f21c78b6705c62e.tar.gz", - "hash": "0ii92d6si3habwkw4cd24s84xhi65apq1kagdj1j2q3kqcv7xxn0" + "revision": "3ce66bc62eb363f19cceeb1fae2e71ea2bede56d", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/3ce66bc62eb363f19cceeb1fae2e71ea2bede56d.tar.gz", + "hash": "1lv2x2njg67d28ff4cpg9lx39x16fgwi6svg9f6lw3b4p5mg6lpw" }, "nord": { "type": "Git", @@ -1691,9 +1691,9 @@ }, "branch": "main", "submodules": false, - "revision": "7cd18e73cfbd70e1546931b7268b3eebaeff9391", - "url": "https://github.com/MunifTanjim/nui.nvim/archive/7cd18e73cfbd70e1546931b7268b3eebaeff9391.tar.gz", - "hash": "0xl6qsl98ajzmk0wy7kf8q2vjqb30ci3dgwdcj376r87vwli6xd2" + "revision": "de740991c12411b663994b2860f1a4fd0937c130", + "url": "https://github.com/MunifTanjim/nui.nvim/archive/de740991c12411b663994b2860f1a4fd0937c130.tar.gz", + "hash": "0l1ga86dr2rhfjshiicsw3nn03wrhmdqks8v1gn3xmzdgfd2anz3" }, "nvim-autopairs": { "type": "Git", @@ -1704,9 +1704,9 @@ }, "branch": "master", "submodules": false, - "revision": "4d74e75913832866aa7de35e4202463ddf6efd1b", - "url": "https://github.com/windwp/nvim-autopairs/archive/4d74e75913832866aa7de35e4202463ddf6efd1b.tar.gz", - "hash": "0q6pv89x05l71nfg2chqf9p0d2ha72agmll2svimq0npp84ymfxz" + "revision": "23320e75953ac82e559c610bec5a90d9c6dfa743", + "url": "https://github.com/windwp/nvim-autopairs/archive/23320e75953ac82e559c610bec5a90d9c6dfa743.tar.gz", + "hash": "12lkkyl6ink1qrpggbjfck2ab3yfj5mpa6jfgkrw451d1ycd4rz5" }, "nvim-biscuits": { "type": "Git", @@ -1756,9 +1756,9 @@ }, "branch": "master", "submodules": false, - "revision": "517df88cf2afb36652830df2c655df2da416a0ae", - "url": "https://github.com/NvChad/nvim-colorizer.lua/archive/517df88cf2afb36652830df2c655df2da416a0ae.tar.gz", - "hash": "0gaxkq30wvxq3d8x6l6r10vdxyizfi5g55xnvzw69lfyl61d9qy8" + "revision": "16597180b4dd81fa3d23d88c4d2f1b49154f9479", + "url": "https://github.com/NvChad/nvim-colorizer.lua/archive/16597180b4dd81fa3d23d88c4d2f1b49154f9479.tar.gz", + "hash": "0flq77r4w90vk5sdvrwjypwq09yn4zj13z7h9zawshqy7318agy6" }, "nvim-cursorline": { "type": "Git", @@ -1782,9 +1782,9 @@ }, "branch": "master", "submodules": false, - "revision": "ea82027c3447dc1a022be9a9884de276c05cd33a", - "url": "https://github.com/mfussenegger/nvim-dap/archive/ea82027c3447dc1a022be9a9884de276c05cd33a.tar.gz", - "hash": "0m91bqbprp6n00m7kk5wqrhl237a5q082m98xak6r7gvxg1c7ac7" + "revision": "5dd4d50f2e6a2eaf9e57fad023d294ef371bda35", + "url": "https://github.com/mfussenegger/nvim-dap/archive/5dd4d50f2e6a2eaf9e57fad023d294ef371bda35.tar.gz", + "hash": "1x8bhcjvqrh4fyjv3lym382xli5c1xxd512v05vy5m60388dzz40" }, "nvim-dap-go": { "type": "Git", @@ -1795,9 +1795,9 @@ }, "branch": "main", "submodules": false, - "revision": "8763ced35b19c8dc526e04a70ab07c34e11ad064", - "url": "https://github.com/leoluz/nvim-dap-go/archive/8763ced35b19c8dc526e04a70ab07c34e11ad064.tar.gz", - "hash": "1s4vkq2ni9a5df455qn6qbj44r82rcghkcbkifxdcmz2kvmq3wmn" + "revision": "b4421153ead5d726603b02743ea40cf26a51ed5f", + "url": "https://github.com/leoluz/nvim-dap-go/archive/b4421153ead5d726603b02743ea40cf26a51ed5f.tar.gz", + "hash": "02i2b6w4ashkx1vnj8bclnlpnjzn2ahakq5vw6hcj04ydn4n83y2" }, "nvim-dap-ui": { "type": "Git", @@ -1808,9 +1808,9 @@ }, "branch": "master", "submodules": false, - "revision": "73a26abf4941aa27da59820fd6b028ebcdbcf932", - "url": "https://github.com/rcarriga/nvim-dap-ui/archive/73a26abf4941aa27da59820fd6b028ebcdbcf932.tar.gz", - "hash": "1h71y3pjbbgh8kgghs0sb721bl9pd7l7ak3mj1j27fv6x6kbmgar" + "revision": "cf91d5e2d07c72903d052f5207511bf7ecdb7122", + "url": "https://github.com/rcarriga/nvim-dap-ui/archive/cf91d5e2d07c72903d052f5207511bf7ecdb7122.tar.gz", + "hash": "04378nxmh37dys2zbpwqs0wp82yr8racpmy7r44y1snx30577pfz" }, "nvim-docs-view": { "type": "Git", @@ -1847,9 +1847,9 @@ }, "branch": "master", "submodules": false, - "revision": "cc26ae6a620298bb3f33b0e0681f99a10ae57781", - "url": "https://github.com/mfussenegger/nvim-lint/archive/cc26ae6a620298bb3f33b0e0681f99a10ae57781.tar.gz", - "hash": "0jspqgw8zwz79jrlcqr15waaxzw68n5c10bvhm3hqw02dr0bbipq" + "revision": "9c6207559297b24f0b7c32829f8e45f7d65b991f", + "url": "https://github.com/mfussenegger/nvim-lint/archive/9c6207559297b24f0b7c32829f8e45f7d65b991f.tar.gz", + "hash": "1llz8iwy8py2zx6j9k3yfygslwp5zqjlidhdd9gc4dqrl3854blp" }, "nvim-lspconfig": { "type": "Git", @@ -1860,9 +1860,9 @@ }, "branch": "master", "submodules": false, - "revision": "036885e8e5456d3907626b634693234f628afef6", - "url": "https://github.com/neovim/nvim-lspconfig/archive/036885e8e5456d3907626b634693234f628afef6.tar.gz", - "hash": "1zkjmr33srzdcjriwdlvq1dmpia7n0xgy3k5l3cdhrfn66k3mwl2" + "revision": "4d3b3bb8815fbe37bcaf3dbdb12a22382bc11ebe", + "url": "https://github.com/neovim/nvim-lspconfig/archive/4d3b3bb8815fbe37bcaf3dbdb12a22382bc11ebe.tar.gz", + "hash": "1lssglccyxlzkypklr4cwz20zik0qwnv514hp06722vcrxs32pzw" }, "nvim-metals": { "type": "Git", @@ -1873,9 +1873,9 @@ }, "branch": "main", "submodules": false, - "revision": "5ab889232ccb6e749094294e7979fda4a71fdecb", - "url": "https://github.com/scalameta/nvim-metals/archive/5ab889232ccb6e749094294e7979fda4a71fdecb.tar.gz", - "hash": "10asl4vi6di8vzhhjsczf8c5l16lcj0ygj2fbylav44ydy4dlwxd" + "revision": "6af8bdcca7361fa62c9453e3d50036475a7ca4f3", + "url": "https://github.com/scalameta/nvim-metals/archive/6af8bdcca7361fa62c9453e3d50036475a7ca4f3.tar.gz", + "hash": "1yqz8g9j5jclhkmvcgxk18myxx2mr2xw49ql01qc44bfq5r6drg7" }, "nvim-navbuddy": { "type": "Git", @@ -1938,9 +1938,9 @@ }, "branch": "master", "submodules": false, - "revision": "b5825cf9ee881dd8e43309c93374ed5b87b7a896", - "url": "https://github.com/rcarriga/nvim-notify/archive/b5825cf9ee881dd8e43309c93374ed5b87b7a896.tar.gz", - "hash": "13qlkncpmjvmkpcx5sv366i7scsh90wjvcqy8qlv31ccmgq511wv" + "revision": "397c7c1184745fca649e5104de659e6392ef5a4d", + "url": "https://github.com/rcarriga/nvim-notify/archive/397c7c1184745fca649e5104de659e6392ef5a4d.tar.gz", + "hash": "0hjjgh730kcmc8lm1l8fwkgm9x96hkcnxw8aphi8q7m3yvfl205r" }, "nvim-scrollbar": { "type": "Git", @@ -1964,9 +1964,9 @@ }, "branch": "main", "submodules": false, - "revision": "8dd9150ca7eae5683660ea20cec86edcd5ca4046", - "url": "https://github.com/kylechui/nvim-surround/archive/8dd9150ca7eae5683660ea20cec86edcd5ca4046.tar.gz", - "hash": "1r7kvq8sa7g3vhj6d885jgq04xpk3xn21zn1sb9lbffdkxxkqs2k" + "revision": "7a7a78a52219a3312c1fcabf880cea07a7956a5f", + "url": "https://github.com/kylechui/nvim-surround/archive/7a7a78a52219a3312c1fcabf880cea07a7956a5f.tar.gz", + "hash": "1vs1akksdbqq818phf95j0ml1rabwrv6vsnl1knsxw0yrmspisaj" }, "nvim-tree-lua": { "type": "Git", @@ -1977,9 +1977,9 @@ }, "branch": "master", "submodules": false, - "revision": "1c733e8c1957dc67f47580fe9c458a13b5612d5b", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/1c733e8c1957dc67f47580fe9c458a13b5612d5b.tar.gz", - "hash": "1a92zsb1r48s6cjphvx406lbxyc1v9w3gk9kkp3ri0k1l134aaw8" + "revision": "a9156c013916d3c8a2905ab2e26e9dd74beb642e", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/a9156c013916d3c8a2905ab2e26e9dd74beb642e.tar.gz", + "hash": "0ivcsbcvwl2xfslrn7x5ncx89hlh7lnbqkwlb38a8yaxsv95ayf7" }, "nvim-treesitter-context": { "type": "Git", @@ -1990,9 +1990,9 @@ }, "branch": "master", "submodules": false, - "revision": "464a443b5a6657f39772b20baa95d02ffe97b268", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/464a443b5a6657f39772b20baa95d02ffe97b268.tar.gz", - "hash": "1q8ll6lkgqc2vhr9jz687a9rgzxrd0swy8cnsy2mb6c6626sxxhq" + "revision": "59f318a65d42a5c4037796886a8874fd57f774fc", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/59f318a65d42a5c4037796886a8874fd57f774fc.tar.gz", + "hash": "09giakcby7gmif3sdqrfv8201q1w8n56d7g59qwbmfcw5vm6wb9k" }, "nvim-treesitter-textobjects": { "type": "Git", @@ -2003,9 +2003,9 @@ }, "branch": "master", "submodules": false, - "revision": "0f051e9813a36481f48ca1f833897210dbcfffde", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/archive/0f051e9813a36481f48ca1f833897210dbcfffde.tar.gz", - "hash": "1vy2ihqknjrbmn4lw81hvhhqdg1pc2wc32ir96506bb3d273am7b" + "revision": "89ebe73cd2836db80a22d9748999ace0241917a5", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/archive/89ebe73cd2836db80a22d9748999ace0241917a5.tar.gz", + "hash": "1lvny4hzw0h8f1xdz78ga24w9w7j68ha68sjs9mvqsxn6xqh4ngr" }, "nvim-ts-autotag": { "type": "Git", @@ -2029,9 +2029,9 @@ }, "branch": "main", "submodules": false, - "revision": "3c7a3570e9c9dc198a2ad4491b0b0e51c4d4ba08", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/3c7a3570e9c9dc198a2ad4491b0b0e51c4d4ba08.tar.gz", - "hash": "1akbq1nsm71snjx6n37070ycmhh46n5lqlvz6625zgsfg272fnz2" + "revision": "80fe8215ba566df2fbf3bf4d25f59ff8f41bc0e1", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/80fe8215ba566df2fbf3bf4d25f59ff8f41bc0e1.tar.gz", + "hash": "1rwk6hfkpvmm9sbbrqy89aacb00myha2ggsmfqqpnv06vmr68z34" }, "nvim-web-devicons": { "type": "Git", @@ -2042,9 +2042,9 @@ }, "branch": "master", "submodules": false, - "revision": "1fb58cca9aebbc4fd32b086cb413548ce132c127", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/1fb58cca9aebbc4fd32b086cb413548ce132c127.tar.gz", - "hash": "0c69c4rwrrq9j5gwa17br5hpg28hvgl00apz06qgh5w2lwaxw4gr" + "revision": "4a8369f4c78ef6f6f895f0cec349e48f74330574", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/4a8369f4c78ef6f6f895f0cec349e48f74330574.tar.gz", + "hash": "0m4cyg9l3pxjqjlzh5rvi183cqlw2l6lz61dc1xyh9hls9qhx36l" }, "obsidian-nvim": { "type": "Git", @@ -2068,9 +2068,9 @@ }, "branch": "master", "submodules": false, - "revision": "08c2bce8b00fd780fb7999dbffdf7cd174e896fb", - "url": "https://github.com/stevearc/oil.nvim/archive/08c2bce8b00fd780fb7999dbffdf7cd174e896fb.tar.gz", - "hash": "1hz1fx5nc81l91p89vb3fwnflpfp96yk08ff79lxl9am7x2mpd3x" + "revision": "bbad9a76b2617ce1221d49619e4e4b659b3c61fc", + "url": "https://github.com/stevearc/oil.nvim/archive/bbad9a76b2617ce1221d49619e4e4b659b3c61fc.tar.gz", + "hash": "1x5dlwga3j17i6j3ycycl93pry8ccwji9ii3vjlsgp30053kl4hs" }, "omnisharp-extended-lsp-nvim": { "type": "Git", @@ -2107,9 +2107,9 @@ }, "branch": "master", "submodules": false, - "revision": "32ef9e95f43a6e951fb931b438372546a4f0c524", - "url": "https://github.com/nvim-orgmode/orgmode/archive/32ef9e95f43a6e951fb931b438372546a4f0c524.tar.gz", - "hash": "0kh1rj76np36ifm412j1b28hnm8k471va1g0l0jcdzkzlwdvpkj3" + "revision": "468570f42d7b0a402d407a993344e29dcb6f2c8e", + "url": "https://github.com/nvim-orgmode/orgmode/archive/468570f42d7b0a402d407a993344e29dcb6f2c8e.tar.gz", + "hash": "0llrh32d9995svca0dvx9iq98svbrlw86i2h1b8pr5vgy26dyzqq" }, "otter-nvim": { "type": "Git", @@ -2120,9 +2120,9 @@ }, "branch": "main", "submodules": false, - "revision": "1348aad77adac26fe3dff44aa220c5a7e96aa8ae", - "url": "https://github.com/jmbuhr/otter.nvim/archive/1348aad77adac26fe3dff44aa220c5a7e96aa8ae.tar.gz", - "hash": "0qdc2dy16jk9a081g1kfiiibxfmzwxvnl5d5m239mcfivzkwn8yq" + "revision": "fcc8cf1eeb39f16c309bb27a7ff140ddf87c9fcb", + "url": "https://github.com/jmbuhr/otter.nvim/archive/fcc8cf1eeb39f16c309bb27a7ff140ddf87c9fcb.tar.gz", + "hash": "10p2pm209fvpxk58nm8b5l2a4pz42r9xqg2fx7c4dvvf39jqhwjw" }, "oxocarbon": { "type": "Git", @@ -2133,9 +2133,9 @@ }, "branch": "main", "submodules": false, - "revision": "acdfdd5d319c36170b5ad2a120283bec2f450081", - "url": "https://github.com/nyoom-engineering/oxocarbon.nvim/archive/acdfdd5d319c36170b5ad2a120283bec2f450081.tar.gz", - "hash": "1byvqvrnf56y050r6dl4sykn22z11i8qxxai8j552a06l7jxyiw4" + "revision": "1dc7b7ea9df60edd9547b667fd1f789ce9f028fb", + "url": "https://github.com/nyoom-engineering/oxocarbon.nvim/archive/1dc7b7ea9df60edd9547b667fd1f789ce9f028fb.tar.gz", + "hash": "1928b611jfzp8alk3v5dl5pdwr0a3qicwdha7mhdkwci7x13ac3y" }, "pathlib-nvim": { "type": "Git", @@ -2159,9 +2159,9 @@ }, "branch": "master", "submodules": false, - "revision": "857c5ac632080dba10aae49dba902ce3abf91b35", - "url": "https://github.com/nvim-lua/plenary.nvim/archive/857c5ac632080dba10aae49dba902ce3abf91b35.tar.gz", - "hash": "0jxx9nfga7z87v78cifglqs8w4mrpf99wcp483kb0hbv6537jmgh" + "revision": "b9fd5226c2f76c951fc8ed5923d85e4de065e509", + "url": "https://github.com/nvim-lua/plenary.nvim/archive/b9fd5226c2f76c951fc8ed5923d85e4de065e509.tar.gz", + "hash": "1kg043h7dqcrqqgg8pp6hsldx7jdhlh8qwad2kkckia191xgnjgm" }, "precognition-nvim": { "type": "Git", @@ -2172,9 +2172,9 @@ }, "branch": "main", "submodules": false, - "revision": "80ac0a99064eba71894dd164e891cc5d7e05827e", - "url": "https://github.com/tris203/precognition.nvim/archive/80ac0a99064eba71894dd164e891cc5d7e05827e.tar.gz", - "hash": "1v1knpvd3wxvixmfyzrjwg9r7xbixg53n4dvvk7r8d05y5cgbzmc" + "revision": "a0ed9c97b24002394201c39755e10495d47b2d3f", + "url": "https://github.com/tris203/precognition.nvim/archive/a0ed9c97b24002394201c39755e10495d47b2d3f.tar.gz", + "hash": "15gsd3cyx5na06nwy2p5jj68j6ln5mfjx2v7dvyyns3q6g8k98nl" }, "project-nvim": { "type": "Git", @@ -2211,9 +2211,9 @@ }, "branch": "master", "submodules": false, - "revision": "55ad4fb76ab68460f700599b7449385f0c4e858e", - "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/55ad4fb76ab68460f700599b7449385f0c4e858e.tar.gz", - "hash": "1wb18hp5yz4vhw9ajm50006n4d1mp1krri6kidxh8rkhs0d6zqhi" + "revision": "97bf4b8ef9298644a29fcd9dd41a0210cf08cac7", + "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/97bf4b8ef9298644a29fcd9dd41a0210cf08cac7.tar.gz", + "hash": "045zcmzsxi5hh10a26qr96szg9kvkr7b12n841x7dck4vj9j2dk3" }, "registers-nvim": { "type": "Git", @@ -2237,9 +2237,9 @@ }, "branch": "main", "submodules": false, - "revision": "6f5a4c36d9383b2a916facaa63dcd573afa11ee8", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/6f5a4c36d9383b2a916facaa63dcd573afa11ee8.tar.gz", - "hash": "15q8169wxslr6kmzqagvsj20j745cym72a2yjmdavh61mgs56rxh" + "revision": "5c0e241bdbd208b7ae546009378d6bc93c083ef3", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/5c0e241bdbd208b7ae546009378d6bc93c083ef3.tar.gz", + "hash": "16sygfwzmlgbsymlmrbii9vhblgyn8qn1clcjaah7rwby0bwkzq7" }, "rose-pine": { "type": "Git", @@ -2250,9 +2250,9 @@ }, "branch": "main", "submodules": false, - "revision": "6b9840790cc7acdfadde07f308d34b62dd9cc675", - "url": "https://github.com/rose-pine/neovim/archive/6b9840790cc7acdfadde07f308d34b62dd9cc675.tar.gz", - "hash": "00f48nm3scap86vh0k5zs1vls0hb2qnjpiwsr54c6dpbycxq0yx3" + "revision": "72befaffeac38db7bdd49e0549eaa2c4806dd878", + "url": "https://github.com/rose-pine/neovim/archive/72befaffeac38db7bdd49e0549eaa2c4806dd878.tar.gz", + "hash": "05f61gwsbppc14j6cabi30qrgj43i7sgal9r8b3qz7s5mcwaz0jx" }, "rtp-nvim": { "type": "Git", @@ -2289,9 +2289,9 @@ }, "branch": "master", "submodules": false, - "revision": "a0c8e9698ef90bcfdf42806a38bf55b612b65b18", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/a0c8e9698ef90bcfdf42806a38bf55b612b65b18.tar.gz", - "hash": "1j63qpal1n8m9kj3fdjjw81ljbsqjzph65q2cacwm5ziwi2xvncx" + "revision": "f845bb055397019c4bc70f9c76376ca490f4c783", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/f845bb055397019c4bc70f9c76376ca490f4c783.tar.gz", + "hash": "06l8vppliivz53dyx6yqj0zigns62sg97cbw9mcjml77i78dc393" }, "smart-splits": { "type": "GitRelease", @@ -2304,10 +2304,10 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v2.0.1", - "revision": "7c9bc1cfc0582c8c6851c38bb3338db644039cf7", - "url": "https://api.github.com/repos/mrjones2014/smart-splits.nvim/tarball/v2.0.1", - "hash": "0lhwkb07pdfi7dx9kbzynh0dxivhiryngkiy4565hyhxapfis5v7" + "version": "v2.0.3", + "revision": "0670128ccecbec2e49d493d58ee6471d6edb7367", + "url": "https://api.github.com/repos/mrjones2014/smart-splits.nvim/tarball/v2.0.3", + "hash": "0lgcsysddq5jqkbz0064wc16pr897mmh4myxs2q2ax7f55lq3yyd" }, "smartcolumn-nvim": { "type": "Git", @@ -2318,9 +2318,9 @@ }, "branch": "main", "submodules": false, - "revision": "92f3773af80d674f1eb61e112dca79e2fa449fd1", - "url": "https://github.com/m4xshen/smartcolumn.nvim/archive/92f3773af80d674f1eb61e112dca79e2fa449fd1.tar.gz", - "hash": "0k1xnyvblshn4fhbxgl0i34j22n55xlwr09sdmb23l57br5rb07q" + "revision": "b9cdbdf42f7ac5a659204cd5926017c7ff724a19", + "url": "https://github.com/m4xshen/smartcolumn.nvim/archive/b9cdbdf42f7ac5a659204cd5926017c7ff724a19.tar.gz", + "hash": "1x90vxghilh75alqfyasfpm8s5ir73kg7ji48wh5lkbhyqxz81j0" }, "snacks-nvim": { "type": "GitRelease", @@ -2545,9 +2545,9 @@ }, "branch": "master", "submodules": false, - "revision": "4a745ea72fa93bb15dd077109afbb3d1809383f2", - "url": "https://github.com/tpope/vim-fugitive/archive/4a745ea72fa93bb15dd077109afbb3d1809383f2.tar.gz", - "hash": "188l24j7j57hgs02gy6ch165agyrwr4g034c5j3m1vnw14vmw2yl" + "revision": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4", + "url": "https://github.com/tpope/vim-fugitive/archive/61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4.tar.gz", + "hash": "1fk02wb2g52lqxxp1gx551bbv7nmambwjiqfgcp4ypn2n4wnhzxv" }, "vim-illuminate": { "type": "Git", From 7f6b045b7d05a37e062cdf3c63920eb49a215387 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 28 Jul 2025 16:46:49 +0300 Subject: [PATCH 36/55] blink-cmp: 1.3.1 -> 1.6.0 Signed-off-by: NotAShelf Change-Id: I6a6a6964cc1685d28fe56579e8824129605342c6 --- flake/pkgs/by-name/blink-cmp/package.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/flake/pkgs/by-name/blink-cmp/package.nix b/flake/pkgs/by-name/blink-cmp/package.nix index f7d25e77..5dba17a6 100644 --- a/flake/pkgs/by-name/blink-cmp/package.nix +++ b/flake/pkgs/by-name/blink-cmp/package.nix @@ -5,13 +5,13 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "blink-cmp"; - version = "1.3.1"; + version = "1.6.0"; src = fetchFromGitHub { owner = "Saghen"; repo = "blink.cmp"; tag = "v${finalAttrs.version}"; - hash = "sha256-8lyDDrsh3sY7l0i0TPyhL69Oq0l63+/QPnLaU/mhq5A="; + hash = "sha256-IHRYgKcYP+JDGu8Vtawgzlhq25vpROFqb8KmpfVMwCk="; }; forceShare = [ @@ -29,8 +29,7 @@ rustPlatform.buildRustPackage (finalAttrs: { mv "$out/lib" "$out/target/release" ''; - cargoHash = "sha256-IDoDugtNWQovfSstbVMkKHLBXKa06lxRWmywu4zyS3M="; - useFetchCargoVendor = true; + cargoHash = "sha256-QsVCugYWRri4qu64wHnbJQZBhy4tQrr+gCYbXtRBlqE="; nativeBuildInputs = [ (writeShellScriptBin "git" "exit 1") From be5cc82c5f6b7762a26fbca3cf15ddc82cdc7663 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 30 Jul 2025 13:58:51 +0300 Subject: [PATCH 37/55] flake: remove flake-utils from inputs Signed-off-by: NotAShelf Change-Id: I6a6a69641b9b232aa8b7993f1d7432c331145d62 --- flake.lock | 21 --------------------- flake.nix | 5 ----- 2 files changed, 26 deletions(-) diff --git a/flake.lock b/flake.lock index c17d2963..45e2be1a 100644 --- a/flake.lock +++ b/flake.lock @@ -36,26 +36,6 @@ "type": "github" } }, - "flake-utils": { - "inputs": { - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "mnw": { "locked": { "lastModified": 1748710831, @@ -91,7 +71,6 @@ "inputs": { "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "flake-utils": "flake-utils", "mnw": "mnw", "nixpkgs": "nixpkgs", "systems": "systems" diff --git a/flake.nix b/flake.nix index 74dcca35..35820e0b 100644 --- a/flake.nix +++ b/flake.nix @@ -98,11 +98,6 @@ inputs.nixpkgs-lib.follows = "nixpkgs"; }; - flake-utils = { - url = "github:numtide/flake-utils"; - inputs.systems.follows = "systems"; - }; - flake-compat = { url = "git+https://git.lix.systems/lix-project/flake-compat.git"; flake = false; From 8092a6f188a1b82606ed3fabdd2c78cada780a15 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 30 Jul 2025 14:07:50 +0300 Subject: [PATCH 38/55] docs: fix codeblock closing in standalone installation guide Signed-off-by: NotAShelf Change-Id: I6a6a6964ea02c71459a2be778c9e91897f6e49ae --- docs/manual/installation/standalone/nixos.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/manual/installation/standalone/nixos.md b/docs/manual/installation/standalone/nixos.md index 267d15b7..65dc9205 100644 --- a/docs/manual/installation/standalone/nixos.md +++ b/docs/manual/installation/standalone/nixos.md @@ -49,7 +49,8 @@ the default theme enabled. You may use other options inside `config.vim` in # ... modules = [ # This will make wrapped neovim available in your system packages - # Can also move this to another config file if you pass inputs/self around with specialArgs + # Can also move this to another config file if you pass your own + # inputs/self around with specialArgs ({pkgs, ...}: { environment.systemPackages = [self.packages.${pkgs.stdenv.system}.neovim]; }) @@ -58,4 +59,5 @@ the default theme enabled. You may use other options inside `config.vim` in }; }; }; -}``` +} +``` From 132e50c1e4c49efaf2947b43fc5b66582b971096 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 30 Jul 2025 14:07:50 +0300 Subject: [PATCH 39/55] ci: check markdown formatting via `deno fmt` Signed-off-by: NotAShelf Change-Id: I6a6a696439d249d3eb69c548013c4a5470c06688 --- .github/workflows/check.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index a3f4fce3..c0338f1d 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -39,6 +39,17 @@ jobs: - name: Check formatting via Alejandra run: nix run nixpkgs#alejandra -- --check . --exclude npins + - name: Check formatting via Deno + run: nix run nixpkgs#deno -- fmt --check --ext md **/*.md + + - if: ${{ failure() }} + shell: bash + run: | + echo "::error:: Current codebase contains formatting errors that were caught by the CI!" + echo "Please ensure that all Nix code is formatted with Alejandra, and Markdown with `deno fmt" + echo "[skip ci] label may be added to the PR title if this is a one-time issue and is safe to ignore" + exit 1 + check-typos: name: "Check source tree for typos" runs-on: ubuntu-latest @@ -142,7 +153,8 @@ jobs: - name: Checking Editorconfig conformance shell: bash run: | - < "$HOME/changed_files" nix-shell -p editorconfig-checker --run 'xargs -r editorconfig-checker -disable-indent-size' + < "$HOME/changed_files" nix-shell -p editorconfig-checker \ + --run 'xargs -r editorconfig-checker -disable-indent-size --exclude flake.lock' - if: ${{ failure() }} shell: bash From 6585b2d63c5becc932607c1e100ad0ed7f99b98b Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 30 Jul 2025 14:32:59 +0300 Subject: [PATCH 40/55] meta: modernize contribution guideline; move README back to repo root Signed-off-by: NotAShelf Change-Id: I6a6a6964885af7bdd99e696633159ecd84363eea --- .github/CONTRIBUTING.md | 80 ++++++++++++++++++++++------------ .github/README.md => README.md | 17 ++++---- 2 files changed, 61 insertions(+), 36 deletions(-) rename .github/README.md => README.md (96%) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a43a9445..2379973f 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -2,48 +2,72 @@ ## Table of Contents -- [Welcome](#welcome) -- [Contributing](#contributing) +- [Preface](#preface) +- [Contributing Process](#contributing-process) - [Code of Conduct](#code-of-conduct) -## Welcome +## Preface -I'm glad you are thinking about contributing to nvf! If you're unsure about -anything, just ask - or submit the issue or pull request anyway. The worst that -can happen is you'll be politely asked to change something. Friendly -contributions are always welcome. +[LICENSE]: ../LICENSE -Before you contribute, I encourage you to read this project's CONTRIBUTING -policy (you are here) and its [LICENSE](../LICENSE) to understand how your -contributions are licensed. +I am glad you are thinking about contributing to nvf! The project is shaped by +contributors and user feedback, and all contributions are appreciated. -If you have any questions regarding those files, feel free to open an issue or -[shoot me an email](mailto:me@notashelf.dev). Discussions tab is also available -for more informal discussions. +If you are unsure about anything, whether a change is necessary or if it would +be accepted _had_ you created a PR, please just ask! Or submit the issue or pull +request anyway, the worst that can happen is that you will be politely asked to +change something. Friendly contributions are _always_ welcome. -## Contributing +Before you contribute, I encourage you to read the rest of this document for our +contributing policy and guidelines, followed by the [LICENSE] to understand how +your contributions are licensed. -The contribution process is mostly documented in the -[pull request template](PULL_REQUEST_TEMPLATE/pull_request_template.md). You -will find a checklist of items to complete before submitting a pull request. -Please make sure you complete it before submitting a pull request. If you are +If you have any questions regarding those files, or would like to ask a question +that is not covered by any of them, please feel free to open an issue! +Discussions tab is also available for less formal discussions. You may also +choose to contact me on Discord or Matrix if you would like to talk to me +personally. + +## Contributing Process + +[pull request template]: ./PULL_REQUEST_TEMPLATE.md + +The contribution process is mostly documented in the [pull request template]. +When you create a pull request, you will find a checklist of items to complete +before it can be submitted. We ask that you please complete it before submitting +a pull request to help maintainers provide more specific feedback. If you are unsure about any of the items, please ask. ### Guidelines -We provide instructions on a healthy contribution to neovim-flake - including -styling, commit formats, how-to guides for adding new modules and options. You -are very well recommended to read the contributing guidelines over at -[the documentation](https://notashelf.github.io/nvf#hacking) +We provide instructions for a healthy contribution to nvf. This includes +**styling**, **commit formats**, **how-to guides for common contributions**. You +are strongly encouraged to read the contributing guidelines in full over at +[the documentation](https://notashelf.github.io/nvf#hacking). + +A general gist of our requirements is that you must + +1. Write clean Nix code +2. Self-test your changes +3. Document your changes + +Though, please take a look at the manual for the complete contributing guide. +Please also feel free to let us know if you feel that something is missing. We +hope to provide clear, comprehensive instructions that make the contribution +process a breeze. ### Code of Conduct -This project does not quite have a code of conduct yet. And to be perfectly -honest, I'm not sure if I want one or if it will ever have one. I'm not -expecting this project to be a hotbed of activity, but I do want to make sure -that everyone who does contribute feels welcome and safe. As such, I will do my -best to make sure that those who distrupt the project are dealt with swiftly and -appropriately. +This project does not have a formal code of conduct yet, and to be perfectly +honest I am not entirely positive if I want one or if it will _ever_ have one. +This project is not expected to be a hotbed of activity, and I trust my +contributors to keep it civil and respectful. + +I do, however, want to make sure that everyone who does contribute feels welcome +and safe around project spaces. As such, I will do my best to make sure anyone +who disrupts the project or engages in negative behaviour will are dealt with +appropriately, and swiftly. You are invited to share any concerns that you have +with the projects moderation, be it over public or private spaces. If you feel that you are not being treated with respect, please contact me directly. diff --git a/.github/README.md b/README.md similarity index 96% rename from .github/README.md rename to README.md index 395a9320..6a69e6a0 100644 --- a/.github/README.md +++ b/README.md @@ -122,7 +122,7 @@ the following in order to take **nvf** out for a spin. ```bash # Run the default package -nix run github:notashelf/nvf +$ nix run github:notashelf/nvf ``` This will get you a feel for the base configuration and UI design. Though, none @@ -144,7 +144,7 @@ coverage, run: ```bash # Run the maximal package -nix run github:notashelf/nvf#maximal +$ nix run github:notashelf/nvf#maximal ``` Similar instructions will apply for `nix profile install`. However, you are @@ -196,11 +196,12 @@ members, or engage in productive discussion with the maintainers. ## Contributing +[contributing guide]: .github/CONTRIBUTING.md + I am always looking for new ways to help improve this flake. If you would like -to contribute, please read the [contributing guide](CONTRIBUTING.md) before -submitting a pull request. You can also create an issue on the [issue tracker] -before submitting a pull request if you would like to discuss a feature or bug -fix. +to contribute, please read the [contributing guide] before submitting a pull +request. You can also create an issue on the [issue tracker] before submitting a +pull request if you would like to discuss a feature or bug fix. ## Frequently Asked Questions @@ -259,11 +260,11 @@ further configure Neovim. ### Co-Maintainers Alongside [myself](https://github.com/notashelf), nvf is developed by those -talented folk. nvf would not be what it is today without their invaluable +talented folk. **nvf** would not be what it is today without their invaluable contributions. - [**@horriblename**](https://github.com/horriblename) - ([Liberapay](https://liberapay.com/horriblename/))- For actively implementing + ([Liberapay](https://liberapay.com/horriblename/)) - For actively implementing planned features and quality of life updates. - [**@Soliprem**](https://github.com/soliprem) - For rigorously implementing missing features and excellent work on new language modules. From 48a54502f891745e5801f8eae6bb78eb9e25230b Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 30 Jul 2025 14:51:58 +0300 Subject: [PATCH 41/55] docs: format markdown sources with Deno Signed-off-by: NotAShelf Change-Id: I6a6a69643dadbb6dbe6860f3002a75b1bb445d27 --- docs/manual/configuring/overriding-plugins.md | 6 +++--- docs/manual/hacking/keybinds.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/manual/configuring/overriding-plugins.md b/docs/manual/configuring/overriding-plugins.md index bb698666..25a71559 100644 --- a/docs/manual/configuring/overriding-plugins.md +++ b/docs/manual/configuring/overriding-plugins.md @@ -2,9 +2,9 @@ The [additional plugins section](#sec-additional-plugins) details the addition of new plugins to nvf under regular circumstances, i.e. while making a pull -request to the project. You may _override_ those plugins in your config -to change source versions, e.g., to use newer versions of plugins -that are not yet updated in **nvf**. +request to the project. You may _override_ those plugins in your config to +change source versions, e.g., to use newer versions of plugins that are not yet +updated in **nvf**. ```nix vim.pluginOverrides = { diff --git a/docs/manual/hacking/keybinds.md b/docs/manual/hacking/keybinds.md index 3940466f..90623dd3 100644 --- a/docs/manual/hacking/keybinds.md +++ b/docs/manual/hacking/keybinds.md @@ -30,8 +30,8 @@ There are many settings available in the options. Please refer to the [documentation](https://notashelf.github.io/nvf/options.html#opt-vim.keymaps) to see a list of them. -**nvf** provides a helper function, so that you don't have to write the -mapping attribute sets every time: +**nvf** provides a helper function, so that you don't have to write the mapping +attribute sets every time: - `mkKeymap`, which mimics neovim's `vim.keymap.set` function From 4a4a376328b4645ce92da2812a04dd3eb72803de Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 30 Jul 2025 15:29:34 +0300 Subject: [PATCH 42/55] meta: update logo path for the new README location Signed-off-by: NotAShelf Change-Id: I6a6a69646755f9d922c1ca413443307bb6db62c4 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a69e6a0..be841c69 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
- nvf Logo + nvf Logo

nvf

From e35a74c44a35b28fd09f136dd3c0dbe9f300258f Mon Sep 17 00:00:00 2001 From: raf Date: Wed, 30 Jul 2025 12:32:01 +0000 Subject: [PATCH 43/55] meta: actually fix logo path for new README location --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index be841c69..7786636a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
- nvf Logo + nvf Logo

nvf

From 17968d1ced8b537c000d80430dc01ce006d9e43b Mon Sep 17 00:00:00 2001 From: Soliprem Date: Sat, 2 Aug 2025 13:49:09 +0200 Subject: [PATCH 44/55] lsp/otter: remove conflict warning since 0.11 is now common --- modules/plugins/lsp/otter/config.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/modules/plugins/lsp/otter/config.nix b/modules/plugins/lsp/otter/config.nix index b1b045d8..85f24c70 100644 --- a/modules/plugins/lsp/otter/config.nix +++ b/modules/plugins/lsp/otter/config.nix @@ -15,13 +15,6 @@ mappings = addDescriptionsToMappings cfg.otter-nvim.mappings mappingDefinitions; in { config = mkIf (cfg.enable && cfg.otter-nvim.enable) { - warnings = [ - # TODO: remove warning when we update to nvim 0.11 - (mkIf config.vim.utility.ccc.enable '' - ccc and otter occasionally have small conflicts that will disappear with nvim 0.11. - In the meantime, otter handles it by throwing a warning, but both plugins will work. - '') - ]; vim = { startPlugins = ["otter-nvim"]; From 4f9b2f4fbad370151a48655a1f8811b43aeaa1df Mon Sep 17 00:00:00 2001 From: Soliprem Date: Sat, 2 Aug 2025 13:53:35 +0200 Subject: [PATCH 45/55] docs/rl: add entry adds entry about the removal of otter's outdated warning --- docs/release-notes/rl-0.8.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 0ea9abd4..0b0cf804 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -476,6 +476,7 @@ [soliprem](https://github.com/soliprem): - fix broken `neorg` grammars +- remove obsolete warning in the `otter` module [Cool-Game-Dev](https://github.com/Cool-Game-Dev): From 085df81edf6c86603849a4805c41e09b304e1aab Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 5 Aug 2025 12:50:47 +0300 Subject: [PATCH 46/55] wrapper/options: fix exmple for `additionalRuntimePaths` Signed-off-by: NotAShelf Change-Id: I6a6a696484c57a2dd2dcd985ddeba37859e10ff7 --- modules/wrapper/rc/options.nix | 46 ++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 028d903e..c0a44719 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -33,32 +33,33 @@ in { default = []; example = literalExpression '' [ - # absolute path, as a string - impure + # Absolute path, as a string. This is the impure option. "$HOME/.config/nvim-extra" - # relative path, as a path - pure + # Relative path inside your configurationn. If your config + # is version controlled, then this is pure and reproducible. ./nvim - # source type path - pure and reproducible - (builtins.source { - path = ./runtime; - name = "nvim-runtime"; + # Source type path. This pure and reproducible. + # See `:doc builtins.path` inside a Nix repl for more options. + (builtins.path { + path = ./runtime; # this must be a relative path + name = "nvim-runtime"; # name is arbitrary }) ] ''; description = '' - Additional runtime paths that will be appended to the - active runtimepath of the Neovim. This can be used to - add additional lookup paths for configs, plugins, spell - languages and other things you would generally place in - your {file}`$HOME/.config/nvim`. + Additional runtime paths that will be appended to the active + runtimepath of the Neovim. This can be used to add additional + lookup paths for configs, plugins, spell languages and other + things you would generally place in your {file}`$HOME/.config/nvim`. - This is meant as a declarative alternative to throwing - files into {file}`~/.config/nvim` and having the Neovim - wrapper pick them up. For more details on - `vim.o.runtimepath`, and what paths to use; please see - [the official documentation](https://neovim.io/doc/user/options.html#'runtimepath') + This is meant as a declarative alternative to throwing files into + {file}`~/.config/nvim` and having the Neovim wrapper pick them up. + + For more details on `vim.o.runtimepath`, and what paths to use, please see + [the official documentation](https://neovim.io/doc/user/options.html#'runtimepath'). ''; }; @@ -67,13 +68,13 @@ in { default = []; example = literalExpression '' [ - # absolute path, as a string - impure + # Absolute path, as a string - impure "$HOME/.config/nvim/my-lua-file.lua" - # relative path, as a path - pure + # Relative path, as a path - pure ./nvim/my-lua-file.lua - # source type path - pure and reproducible + # Source type path - pure and reproducible (builtins.path { path = ./nvim/my-lua-file.lua; name = "my-lua-file"; @@ -82,9 +83,10 @@ in { ''; description = '' - Additional lua files that will be sourced by Neovim. - Takes both absolute and relative paths, all of which - will be called via the `luafile` command in Neovim. + Additional Lua files that will be sourced by Neovim. + + Takes both absolute and relative paths, all of which will be called + via the `luafile` command in Neovim. See [lua-commands](https://neovim.io/doc/user/lua.html#lua-commands) on the Neovim documentation for more details. From fa52e006eb3bd0e8cf93b91b16248318ce24fbcc Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 5 Aug 2025 13:08:30 +0300 Subject: [PATCH 47/55] modules: fix typos; clean up vim-startify module Signed-off-by: NotAShelf Change-Id: I6a6a69641dac96714f7d7ddfb6a302e7340de9ca --- .../plugins/dashboard/startify/startify.nix | 86 +++++++++++-------- modules/wrapper/rc/options.nix | 2 +- 2 files changed, 52 insertions(+), 36 deletions(-) diff --git a/modules/plugins/dashboard/startify/startify.nix b/modules/plugins/dashboard/startify/startify.nix index c33cfa01..dcc1ce16 100644 --- a/modules/plugins/dashboard/startify/startify.nix +++ b/modules/plugins/dashboard/startify/startify.nix @@ -3,46 +3,47 @@ inherit (lib.types) listOf attrs bool enum str oneOf int; in { options.vim.dashboard.startify = { - enable = mkEnableOption "dashboard via vim-startify"; + enable = mkEnableOption "fancy start screen for Vim [vim-startify]"; bookmarks = mkOption { - default = []; - description = ''List of book marks to disaply on start page''; type = listOf attrs; + default = []; example = {"c" = "~/.vimrc";}; + description = "List of book marks to display on start page"; }; changeToDir = mkOption { - default = true; - description = "Should vim change to the directory of the file you open"; type = bool; + default = true; + description = "Whether Vim should change to the directory of the file you open"; }; changeToVCRoot = mkOption { - default = false; - description = "Should vim change to the version control root when opening a file"; type = bool; + default = false; + description = "Whether Vim should change to the version control root when opening a file"; }; changeDirCmd = mkOption { - default = "lcd"; - description = "Command to change the current window with. Can be cd, lcd or tcd"; type = enum ["cd" "lcd" "tcd"]; + default = "lcd"; + description = "Command to change the current window with."; }; customHeader = mkOption { + type = listOf str; default = []; description = "Text to place in the header"; - type = listOf str; }; customFooter = mkOption { + type = listOf str; default = []; description = "Text to place in the footer"; - type = listOf str; }; lists = mkOption { + type = listOf attrs; default = [ { type = "files"; @@ -66,121 +67,136 @@ in { } ]; description = "Specify the lists and in what order they are displayed on startify."; - type = listOf attrs; }; skipList = mkOption { + type = listOf str; default = []; description = "List of regex patterns to exclude from MRU lists"; - type = listOf str; }; updateOldFiles = mkOption { + type = bool; + default = false; description = "Set if you want startify to always update and not just when neovim closes"; - type = bool; }; sessionAutoload = mkOption { - default = false; - description = "Make startify auto load Session.vim files from the current directory"; type = bool; + + default = false; + description = "Make vim-startify auto load Session.vim files from the current directory"; }; commands = mkOption { + type = listOf (oneOf [str attrs (listOf str)]); default = []; description = "Commands that are presented to the user on startify page"; - type = listOf (oneOf [str attrs (listOf str)]); }; filesNumber = mkOption { + type = int; default = 10; description = "How many files to list"; - type = int; }; customIndices = mkOption { + type = listOf str; default = []; description = "Specify a list of default characters to use instead of numbers"; - type = listOf str; }; disableOnStartup = mkOption { - default = false; - description = "Prevent startify from opening on startup but can be called with :Startify"; type = bool; + default = false; + description = '' + Whether vim-startify should be disabled on startup. + + This will prevent startify from opening on startup, but it can still + be called with `:Startify` + ''; }; unsafe = mkOption { - default = false; - description = "Turns on unsafe mode for Startify. Stops resolving links, checking files are readable and filtering bookmark list"; type = bool; + default = false; + description = '' + Whether to turn on unsafe mode for Startify. + + While enabld, vim-startify will stops resolving links, checking files + are readable and filtering bookmark list + ''; }; paddingLeft = mkOption { + type = int; default = 3; description = "Number of spaces used for left padding."; - type = int; }; useEnv = mkOption { + type = bool; default = false; description = "Show environment variables in path if name is shorter than value"; - type = bool; }; sessionBeforeSave = mkOption { + type = listOf str; default = []; description = "Commands to run before saving a session"; - type = listOf str; }; sessionPersistence = mkOption { + type = bool; default = false; description = "Persist session before leaving vim or switching session"; - type = bool; }; sessionDeleteBuffers = mkOption { + type = bool; default = true; description = "Delete all buffers when loading or closing a session"; - type = bool; }; sessionDir = mkOption { + type = str; default = "~/.vim/session"; description = "Directory to save and load sessions from"; - type = str; }; skipListServer = mkOption { + type = listOf str; default = []; description = "List of vim servers to not load startify for"; - type = listOf str; }; sessionRemoveLines = mkOption { + type = listOf str; default = []; description = "Patterns to remove from session files"; - type = listOf str; }; sessionSavevars = mkOption { + type = listOf str; default = []; description = "List of variables to save into a session file."; - type = listOf str; }; sessionSavecmds = mkOption { + type = listOf str; default = []; description = "List of commands to run when loading a session."; - type = listOf str; }; sessionSort = mkOption { - default = false; - description = "Set if you want items sorted by date rather than alphabetically"; type = bool; + default = false; + example = true; + description = '' + While true, sessions will be sorted by date rather than alphabetically. + + ''; }; }; } diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index c0a44719..c0bb6915 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -36,7 +36,7 @@ in { # Absolute path, as a string. This is the impure option. "$HOME/.config/nvim-extra" - # Relative path inside your configurationn. If your config + # Relative path inside your configuration. If your config # is version controlled, then this is pure and reproducible. ./nvim From 626ad99297849064ef0a114f55173590f3c87927 Mon Sep 17 00:00:00 2001 From: Joshua Manchester Date: Mon, 28 Jul 2025 20:16:50 +0100 Subject: [PATCH 48/55] fix(blink-cmp): Fix broken default sources Currently, regardless of whether nvim-cmp is enabled, nvim-cmp's sources are added as providers. If the nvim-cmp sources "buffer" or "path" are enabled they will override and break blink.cmp's default "path" and "buffer" sources. This fixes the issue by only configuring nvim-cmp sources and providers when nvim-cmp is enabled and, if nvim-cmp is enabled, only configuring nvim-cmp compat providers that are not in the blink.cmp default sources. --- docs/release-notes/rl-0.8.md | 6 +++++ .../plugins/completion/blink-cmp/config.nix | 26 ++++++++++++------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 21e655d2..d2a1a098 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -486,3 +486,9 @@ - Add [nvim-biscuits] to show block context. Available at `vim.utility.nvim-biscuits`. + +[JManch](https://github.com/JManch): + +- Fix default [blink.cmp] sources "path" and "buffer" not working when + `autocomplete.nvim-cmp.enable` was disabled and + `autocomplete.nvim-cmp.sources` had not been modified. diff --git a/modules/plugins/completion/blink-cmp/config.nix b/modules/plugins/completion/blink-cmp/config.nix index 2efd8d79..5789c514 100644 --- a/modules/plugins/completion/blink-cmp/config.nix +++ b/modules/plugins/completion/blink-cmp/config.nix @@ -5,11 +5,12 @@ }: let inherit (lib.modules) mkIf; inherit (lib.strings) optionalString; + inherit (lib.attrsets) optionalAttrs; inherit (lib.generators) mkLuaInline; inherit (lib.attrsets) attrValues filterAttrs mapAttrsToList; - inherit (lib.lists) map optional elem; + inherit (lib.lists) map optional optionals elem; inherit (lib.nvim.lua) toLuaObject; - inherit (builtins) concatStringsSep typeOf tryEval attrNames mapAttrs; + inherit (builtins) concatStringsSep typeOf tryEval attrNames mapAttrs removeAttrs; cfg = config.vim.autocomplete.blink-cmp; cmpCfg = config.vim.autocomplete.nvim-cmp; @@ -55,7 +56,7 @@ in { after = # lua '' - ${optionalString config.vim.lazy.enable + ${optionalString (config.vim.lazy.enable && cmpCfg.enable) (concatStringsSep "\n" (map (package: "require('lz.n').trigger_load(${toLuaObject (getPluginName package)})") cmpCfg.sourcePlugins))} @@ -66,7 +67,10 @@ in { autocomplete = { enableSharedCmpSources = true; blink-cmp.setupOpts = { - sources = { + sources = let + # We do not want nvim-cmp compat sources overriding built-in blink sources + filteredCmpSources = removeAttrs cmpCfg.sources blinkBuiltins; + in { default = [ "lsp" @@ -74,14 +78,16 @@ in { "snippets" "buffer" ] - ++ (attrNames cmpCfg.sources) + ++ optionals cmpCfg.enable (attrNames filteredCmpSources) ++ (attrNames enabledBlinkSources); providers = - mapAttrs (name: _: { - inherit name; - module = "blink.compat.source"; - }) - cmpCfg.sources + optionalAttrs cmpCfg.enable ( + mapAttrs (name: _: { + inherit name; + module = "blink.compat.source"; + }) + filteredCmpSources + ) // (mapAttrs (name: definition: { inherit name; inherit (definition) module; From 1681ad703470e784156ce3461d92d18492c5baef Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 5 Aug 2025 13:21:02 +0300 Subject: [PATCH 49/55] flake: bump inputs Signed-off-by: NotAShelf Change-Id: I6a6a69646af60c6f5ccb974cbdd700b65aa5fdec --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 45e2be1a..611d7bfe 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ ] }, "locked": { - "lastModified": 1753121425, - "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -53,11 +53,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1753432016, - "narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=", + "lastModified": 1754800730, + "narHash": "sha256-HfVZCXic9XLBgybP0318ym3cDnGwBs/+H5MgxFVYF4I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6027c30c8e9810896b92429f0092f624f7b1aace", + "rev": "641d909c4a7538f1539da9240dedb1755c907e40", "type": "github" }, "original": { From 940e3f1ca5c947af35b8496fbd22c862d7cee4ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 02:01:35 +0000 Subject: [PATCH 50/55] build(deps): bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/backport.yml | 2 +- .github/workflows/cachix.yml | 2 +- .github/workflows/check.yml | 12 ++++++------ .github/workflows/cleanup.yml | 2 +- .github/workflows/docs-preview.yml | 6 +++--- .github/workflows/manual.yml | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml index 0a558fb8..7868e55b 100644 --- a/.github/workflows/backport.yml +++ b/.github/workflows/backport.yml @@ -17,7 +17,7 @@ jobs: if: | github.event.pull_request.merged == true && startsWith(github.event.label.name, 'backport-') steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: ref: ${{ github.event.pull_request.head.sha }} token: ${{ steps.app-token.outputs.token }} diff --git a/.github/workflows/cachix.yml b/.github/workflows/cachix.yml index 8f392c47..13995cb6 100644 --- a/.github/workflows/cachix.yml +++ b/.github/workflows/cachix.yml @@ -21,7 +21,7 @@ jobs: - nix - maximal steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 name: Checkout - name: Install Nix diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index c0338f1d..331048b6 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -17,7 +17,7 @@ jobs: if: "!contains(github.event.pull_request.title, '[skip ci]')" steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main @@ -31,7 +31,7 @@ jobs: if: "!contains(github.event.pull_request.title, '[skip ci]')" steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main @@ -56,7 +56,7 @@ jobs: if: "!contains(github.event.pull_request.title, '[skip ci]')" steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Check for typos uses: crate-ci/typos@master @@ -87,7 +87,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set default git branch (to reduce log spam) run: git config --global init.defaultBranch main @@ -115,7 +115,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Build linkcheck package run: nix build .#docs-linkcheck -Lv @@ -126,7 +126,7 @@ jobs: if: "!contains(github.event.pull_request.title, '[skip ci]')" steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 2 # slows down checkout, but we need to compare against the previous commit on push events diff --git a/.github/workflows/cleanup.yml b/.github/workflows/cleanup.yml index aa8fb272..1ed6a1ec 100644 --- a/.github/workflows/cleanup.yml +++ b/.github/workflows/cleanup.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: "Delete old branches" uses: beatlabs/delete-old-branches-action@v0.0.11 diff --git a/.github/workflows/docs-preview.yml b/.github/workflows/docs-preview.yml index 9adaf5ef..444e87d6 100644 --- a/.github/workflows/docs-preview.yml +++ b/.github/workflows/docs-preview.yml @@ -28,7 +28,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set default git branch (to reduce log spam) run: git config --global init.defaultBranch main @@ -127,7 +127,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Delete preview for closed/merged PR run: | @@ -164,7 +164,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Double check preview directory deletion run: | diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 1c8ab746..3b4cc38b 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -28,7 +28,7 @@ jobs: outputs: should_run: ${{ steps.should_run.outputs.should_run }} steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v5 - name: print latest_commit run: echo ${{ github.sha }} @@ -43,7 +43,7 @@ jobs: if: ${{ needs.check_date.outputs.should_run != 'false' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v5 - uses: DeterminateSystems/nix-installer-action@main - run: | nix build .#docs -Lv From c5dc7192496a1fad38134e54f8b4fca8ac51a9fe Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 13 Aug 2025 23:07:46 +0300 Subject: [PATCH 51/55] flake: bump inputs Signed-off-by: NotAShelf Change-Id: I6a6a6964ec51ac6d8eeb159f2c9500e5d548707e --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 611d7bfe..144e231c 100644 --- a/flake.lock +++ b/flake.lock @@ -53,11 +53,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1754800730, - "narHash": "sha256-HfVZCXic9XLBgybP0318ym3cDnGwBs/+H5MgxFVYF4I=", + "lastModified": 1755049066, + "narHash": "sha256-ANrc15FSoOAdNbfKHxqEJjZLftIwIsenJGRb/04K41s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "641d909c4a7538f1539da9240dedb1755c907e40", + "rev": "e45f8f193029378d0aaee5431ba098dc80054e9a", "type": "github" }, "original": { From 6980c35a44bc342684da64dce14c167ebbd720b3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 30 Jul 2025 15:29:34 +0300 Subject: [PATCH 52/55] meta: update logo path for the new README location Signed-off-by: NotAShelf Change-Id: I6a6a69646755f9d922c1ca413443307bb6db62c4 Signed-off-by: NotAShelf Change-Id: I6a6a6964ece924faf8cffb0f95cdf3d17cb23025 Signed-off-by: NotAShelf Change-Id: I6a6a6964ece924faf8cffb0f95cdf3d17cb23025 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7786636a..531c75f3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@
nvf Logo + nvf logo work

nvf

From b6490efbe0b28b3bca727ecd4846fc8006352822 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 15 Aug 2025 13:11:23 +0300 Subject: [PATCH 53/55] meta: fix logo path again JJ god damn you Signed-off-by: NotAShelf Change-Id: I6a6a69642ebb1684ab496924eb62ef9c8363299d --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 531c75f3..7786636a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@
nvf Logo - nvf logo work

nvf

From 079f94c73d28decf4ffd7248e00f7385664b6ea5 Mon Sep 17 00:00:00 2001 From: Stefanos Grammenos Date: Sun, 17 Aug 2025 21:13:30 +0300 Subject: [PATCH 54/55] Documentation. DAG library examples from lib.dag to lib.hm.dag --- docs/manual/configuring/dags.md | 44 ++++++++++++++++----------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/manual/configuring/dags.md b/docs/manual/configuring/dags.md index 34351826..0473178f 100644 --- a/docs/manual/configuring/dags.md +++ b/docs/manual/configuring/dags.md @@ -14,14 +14,14 @@ explains in more detail the overall usage logic of the DAG type. ## entryAnywhere {#sec-types-dag-entryAnywhere} -> `lib.dag.entryAnywhere (value: T) : DagEntry` +> `lib.hm.dag.entryAnywhere (value: T) : DagEntry` Indicates that `value` can be placed anywhere within the DAG. This is also the default for plain attribute set entries, that is ```nix foo.bar = { - a = lib.dag.entryAnywhere 0; + a = lib.hm.dag.entryAnywhere 0; } ``` @@ -37,7 +37,7 @@ are equivalent. ## entryAfter {#ch-types-dag-entryAfter} -> `lib.dag.entryAfter (afters: list string) (value: T) : DagEntry` +> `lib.hm.dag.entryAfter (afters: list string) (value: T) : DagEntry` Indicates that `value` must be placed _after_ each of the attribute names in the given list. For example @@ -45,7 +45,7 @@ given list. For example ```nix foo.bar = { a = 0; - b = lib.dag.entryAfter [ "a" ] 1; + b = lib.hm.dag.entryAfter [ "a" ] 1; } ``` @@ -53,14 +53,14 @@ would place `b` after `a` in the graph. ## entryBefore {#ch-types-dag-entryBefore} -> `lib.dag.entryBefore (befores: list string) (value: T) : DagEntry` +> `lib.hm.dag.entryBefore (befores: list string) (value: T) : DagEntry` Indicates that `value` must be placed _before_ each of the attribute names in the given list. For example ```nix foo.bar = { - b = lib.dag.entryBefore [ "a" ] 1; + b = lib.hm.dag.entryBefore [ "a" ] 1; a = 0; } ``` @@ -69,7 +69,7 @@ would place `b` before `a` in the graph. ## entryBetween {#sec-types-dag-entryBetween} -> `lib.dag.entryBetween (befores: list string) (afters: list string) (value: T) : DagEntry` +> `lib.hm.dag.entryBetween (befores: list string) (afters: list string) (value: T) : DagEntry` Indicates that `value` must be placed _before_ the attribute names in the first list and _after_ the attribute names in the second list. For example @@ -77,7 +77,7 @@ list and _after_ the attribute names in the second list. For example ```nix foo.bar = { a = 0; - c = lib.dag.entryBetween [ "b" ] [ "a" ] 2; + c = lib.hm.dag.entryBetween [ "b" ] [ "a" ] 2; b = 1; } ``` @@ -92,13 +92,13 @@ functions take a `tag` as argument and the DAG entries will be named ## entriesAnywhere {#sec-types-dag-entriesAnywhere} -> `lib.dag.entriesAnywhere (tag: string) (values: [T]) : Dag` +> `lib.hm.dag.entriesAnywhere (tag: string) (values: [T]) : Dag` Creates a DAG with the given values with each entry labeled using the given tag. For example ```nix -foo.bar = lib.dag.entriesAnywhere "a" [ 0 1 ]; +foo.bar = lib.hm.dag.entriesAnywhere "a" [ 0 1 ]; ``` is equivalent to @@ -106,13 +106,13 @@ is equivalent to ```nix foo.bar = { a-0 = 0; - a-1 = lib.dag.entryAfter [ "a-0" ] 1; + a-1 = lib.hm.dag.entryAfter [ "a-0" ] 1; } ``` ## entriesAfter {#sec-types-dag-entriesAfter} -> `lib.dag.entriesAfter (tag: string) (afters: list string) (values: [T]) : Dag` +> `lib.hm.dag.entriesAfter (tag: string) (afters: list string) (values: [T]) : Dag` Creates a DAG with the given values with each entry labeled using the given tag. The list of values are placed are placed _after_ each of the attribute names in @@ -120,7 +120,7 @@ The list of values are placed are placed _after_ each of the attribute names in ```nix foo.bar = - { b = 0; } // lib.dag.entriesAfter "a" [ "b" ] [ 1 2 ]; + { b = 0; } // lib.hm.dag.entriesAfter "a" [ "b" ] [ 1 2 ]; ``` is equivalent to @@ -128,14 +128,14 @@ is equivalent to ```nix foo.bar = { b = 0; - a-0 = lib.dag.entryAfter [ "b" ] 1; - a-1 = lib.dag.entryAfter [ "a-0" ] 2; + a-0 = lib.hm.dag.entryAfter [ "b" ] 1; + a-1 = lib.hm.dag.entryAfter [ "a-0" ] 2; } ``` ## entriesBefore {#sec-types-dag-entriesBefore} -> `lib.dag.entriesBefore (tag: string) (befores: list string) (values: [T]) : Dag` +> `lib.hm.dag.entriesBefore (tag: string) (befores: list string) (values: [T]) : Dag` Creates a DAG with the given values with each entry labeled using the given tag. The list of values are placed _before_ each of the attribute names in `befores`. @@ -143,7 +143,7 @@ For example ```nix foo.bar = - { b = 0; } // lib.dag.entriesBefore "a" [ "b" ] [ 1 2 ]; + { b = 0; } // lib.hm.dag.entriesBefore "a" [ "b" ] [ 1 2 ]; ``` is equivalent to @@ -152,13 +152,13 @@ is equivalent to foo.bar = { b = 0; a-0 = 1; - a-1 = lib.dag.entryBetween [ "b" ] [ "a-0" ] 2; + a-1 = lib.hm.dag.entryBetween [ "b" ] [ "a-0" ] 2; } ``` ## entriesBetween {#sec-types-dag-entriesBetween} -> `lib.dag.entriesBetween (tag: string) (befores: list string) (afters: list string) (values: [T]) : Dag` +> `lib.hm.dag.entriesBetween (tag: string) (befores: list string) (afters: list string) (values: [T]) : Dag` Creates a DAG with the given values with each entry labeled using the given tag. The list of values are placed _before_ each of the attribute names in `befores` @@ -166,7 +166,7 @@ and _after_ each of the attribute names in `afters`. For example ```nix foo.bar = - { b = 0; c = 3; } // lib.dag.entriesBetween "a" [ "b" ] [ "c" ] [ 1 2 ]; + { b = 0; c = 3; } // lib.hm.dag.entriesBetween "a" [ "b" ] [ "c" ] [ 1 2 ]; ``` is equivalent to @@ -175,7 +175,7 @@ is equivalent to foo.bar = { b = 0; c = 3; - a-0 = lib.dag.entryAfter [ "c" ] 1; - a-1 = lib.dag.entryBetween [ "b" ] [ "a-0" ] 2; + a-0 = lib.hm.dag.entryAfter [ "c" ] 1; + a-1 = lib.hm.dag.entryBetween [ "b" ] [ "a-0" ] 2; } ``` From dbfeba975cf20dcaa7ed04821fac8a58e6d4b2c4 Mon Sep 17 00:00:00 2001 From: Stefanos Grammenos Date: Sun, 17 Aug 2025 23:21:22 +0300 Subject: [PATCH 55/55] Update the 'dag' library from lib.hm.dag to nvf.lib.nvim.dag --- docs/manual/configuring/dags.md | 47 ++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/docs/manual/configuring/dags.md b/docs/manual/configuring/dags.md index 0473178f..08e82bab 100644 --- a/docs/manual/configuring/dags.md +++ b/docs/manual/configuring/dags.md @@ -14,14 +14,17 @@ explains in more detail the overall usage logic of the DAG type. ## entryAnywhere {#sec-types-dag-entryAnywhere} -> `lib.hm.dag.entryAnywhere (value: T) : DagEntry` +> `nvf.lib.nvim.dag.entryAnywhere (value: T) : DagEntry` Indicates that `value` can be placed anywhere within the DAG. This is also the default for plain attribute set entries, that is ```nix +# For 'nvf' to be available in module's arguments, +# it needs to be inherited from imports in the modules array as: +# modules = [{ _module.args = { inherit nvf; }; } ...]; foo.bar = { - a = lib.hm.dag.entryAnywhere 0; + a = nvf.lib.nvim.dag.entryAnywhere 0; } ``` @@ -37,7 +40,7 @@ are equivalent. ## entryAfter {#ch-types-dag-entryAfter} -> `lib.hm.dag.entryAfter (afters: list string) (value: T) : DagEntry` +> `nvf.lib.nvim.dag.entryAfter (afters: list string) (value: T) : DagEntry` Indicates that `value` must be placed _after_ each of the attribute names in the given list. For example @@ -45,7 +48,7 @@ given list. For example ```nix foo.bar = { a = 0; - b = lib.hm.dag.entryAfter [ "a" ] 1; + b = nvf.lib.nvim.dag.entryAfter [ "a" ] 1; } ``` @@ -53,14 +56,14 @@ would place `b` after `a` in the graph. ## entryBefore {#ch-types-dag-entryBefore} -> `lib.hm.dag.entryBefore (befores: list string) (value: T) : DagEntry` +> `nvf.lib.nvim.dag.entryBefore (befores: list string) (value: T) : DagEntry` Indicates that `value` must be placed _before_ each of the attribute names in the given list. For example ```nix foo.bar = { - b = lib.hm.dag.entryBefore [ "a" ] 1; + b = nvf.lib.nvim.dag.entryBefore [ "a" ] 1; a = 0; } ``` @@ -69,7 +72,7 @@ would place `b` before `a` in the graph. ## entryBetween {#sec-types-dag-entryBetween} -> `lib.hm.dag.entryBetween (befores: list string) (afters: list string) (value: T) : DagEntry` +> `nvf.lib.nvim.dag.entryBetween (befores: list string) (afters: list string) (value: T) : DagEntry` Indicates that `value` must be placed _before_ the attribute names in the first list and _after_ the attribute names in the second list. For example @@ -77,7 +80,7 @@ list and _after_ the attribute names in the second list. For example ```nix foo.bar = { a = 0; - c = lib.hm.dag.entryBetween [ "b" ] [ "a" ] 2; + c = nvf.lib.nvim.dag.entryBetween [ "b" ] [ "a" ] 2; b = 1; } ``` @@ -92,13 +95,13 @@ functions take a `tag` as argument and the DAG entries will be named ## entriesAnywhere {#sec-types-dag-entriesAnywhere} -> `lib.hm.dag.entriesAnywhere (tag: string) (values: [T]) : Dag` +> `nvf.lib.nvim.dag.entriesAnywhere (tag: string) (values: [T]) : Dag` Creates a DAG with the given values with each entry labeled using the given tag. For example ```nix -foo.bar = lib.hm.dag.entriesAnywhere "a" [ 0 1 ]; +foo.bar = nvf.lib.nvim.dag.entriesAnywhere "a" [ 0 1 ]; ``` is equivalent to @@ -106,13 +109,13 @@ is equivalent to ```nix foo.bar = { a-0 = 0; - a-1 = lib.hm.dag.entryAfter [ "a-0" ] 1; + a-1 = nvf.lib.nvim.dag.entryAfter [ "a-0" ] 1; } ``` ## entriesAfter {#sec-types-dag-entriesAfter} -> `lib.hm.dag.entriesAfter (tag: string) (afters: list string) (values: [T]) : Dag` +> `nvf.lib.nvim.dag.entriesAfter (tag: string) (afters: list string) (values: [T]) : Dag` Creates a DAG with the given values with each entry labeled using the given tag. The list of values are placed are placed _after_ each of the attribute names in @@ -120,7 +123,7 @@ The list of values are placed are placed _after_ each of the attribute names in ```nix foo.bar = - { b = 0; } // lib.hm.dag.entriesAfter "a" [ "b" ] [ 1 2 ]; + { b = 0; } // nvf.lib.nvim.dag.entriesAfter "a" [ "b" ] [ 1 2 ]; ``` is equivalent to @@ -128,14 +131,14 @@ is equivalent to ```nix foo.bar = { b = 0; - a-0 = lib.hm.dag.entryAfter [ "b" ] 1; - a-1 = lib.hm.dag.entryAfter [ "a-0" ] 2; + a-0 = nvf.lib.nvim.dag.entryAfter [ "b" ] 1; + a-1 = nvf.lib.nvim.dag.entryAfter [ "a-0" ] 2; } ``` ## entriesBefore {#sec-types-dag-entriesBefore} -> `lib.hm.dag.entriesBefore (tag: string) (befores: list string) (values: [T]) : Dag` +> `nvf.lib.nvim.dag.entriesBefore (tag: string) (befores: list string) (values: [T]) : Dag` Creates a DAG with the given values with each entry labeled using the given tag. The list of values are placed _before_ each of the attribute names in `befores`. @@ -143,7 +146,7 @@ For example ```nix foo.bar = - { b = 0; } // lib.hm.dag.entriesBefore "a" [ "b" ] [ 1 2 ]; + { b = 0; } // nvf.lib.nvim.dag.entriesBefore "a" [ "b" ] [ 1 2 ]; ``` is equivalent to @@ -152,13 +155,13 @@ is equivalent to foo.bar = { b = 0; a-0 = 1; - a-1 = lib.hm.dag.entryBetween [ "b" ] [ "a-0" ] 2; + a-1 = nvf.lib.nvim.dag.entryBetween [ "b" ] [ "a-0" ] 2; } ``` ## entriesBetween {#sec-types-dag-entriesBetween} -> `lib.hm.dag.entriesBetween (tag: string) (befores: list string) (afters: list string) (values: [T]) : Dag` +> `nvf.lib.nvim.dag.entriesBetween (tag: string) (befores: list string) (afters: list string) (values: [T]) : Dag` Creates a DAG with the given values with each entry labeled using the given tag. The list of values are placed _before_ each of the attribute names in `befores` @@ -166,7 +169,7 @@ and _after_ each of the attribute names in `afters`. For example ```nix foo.bar = - { b = 0; c = 3; } // lib.hm.dag.entriesBetween "a" [ "b" ] [ "c" ] [ 1 2 ]; + { b = 0; c = 3; } // nvf.lib.nvim.dag.entriesBetween "a" [ "b" ] [ "c" ] [ 1 2 ]; ``` is equivalent to @@ -175,7 +178,7 @@ is equivalent to foo.bar = { b = 0; c = 3; - a-0 = lib.hm.dag.entryAfter [ "c" ] 1; - a-1 = lib.hm.dag.entryBetween [ "b" ] [ "a-0" ] 2; + a-0 = nvf.lib.nvim.dag.entryAfter [ "c" ] 1; + a-1 = nvf.lib.nvim.dag.entryBetween [ "b" ] [ "a-0" ] 2; } ```