From a0d6d8407fcb20a44320583c2754be713f3a33de Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 14 Jan 2025 16:44:17 +0300 Subject: [PATCH 001/271] plugins/utility: order imports alphabetically --- modules/plugins/utility/default.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 686295e2..6d20e3de 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -1,18 +1,17 @@ { imports = [ - ./outline ./binds ./ccc + ./diffview ./gestures - ./motion - ./new-file-template - ./telescope ./icon-picker ./images - ./telescope - ./diffview - ./wakatime - ./surround + ./motion + ./new-file-template + ./outline ./preview + ./surround + ./telescope + ./wakatime ]; } From 6594409a2506298b43734b31cc5329f2974df2b1 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 14 Jan 2025 16:45:08 +0300 Subject: [PATCH 002/271] utility/telescope: add custom extensions API; clean up setupOptions --- modules/plugins/utility/telescope/config.nix | 11 ++- .../plugins/utility/telescope/telescope.nix | 91 +++++++++++++------ 2 files changed, 71 insertions(+), 31 deletions(-) diff --git a/modules/plugins/utility/telescope/config.nix b/modules/plugins/utility/telescope/config.nix index 95f81327..73d5e517 100644 --- a/modules/plugins/utility/telescope/config.nix +++ b/modules/plugins/utility/telescope/config.nix @@ -5,8 +5,8 @@ ... }: let inherit (lib.modules) mkIf; - inherit (lib.strings) optionalString; - inherit (lib.lists) optionals; + inherit (lib.strings) optionalString concatMapStringsSep; + inherit (lib.lists) optionals concatLists; inherit (lib.nvim.binds) pushDownDefault mkKeymap; cfg = config.vim.telescope; @@ -16,7 +16,7 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["plenary-nvim"]; + startPlugins = ["plenary-nvim"] ++ concatLists (map (x: x.packages) cfg.extensions); lazy.plugins.telescope = { package = "telescope"; @@ -28,11 +28,14 @@ in { vim.g.loaded_telescope = nil ''; - after = '' + after = let + enabledExtensions = map (x: x.name) cfg.extensions; + in '' local telescope = require("telescope") ${optionalString config.vim.ui.noice.enable "telescope.load_extension('noice')"} ${optionalString config.vim.notify.nvim-notify.enable "telescope.load_extension('notify')"} ${optionalString config.vim.projects.project-nvim.enable "telescope.load_extension('projects')"} + ${concatMapStringsSep "\n" (x: "telescope.load_extension('${x}')") enabledExtensions} ''; cmd = ["Telescope"]; diff --git a/modules/plugins/utility/telescope/telescope.nix b/modules/plugins/utility/telescope/telescope.nix index cf9c5cd8..29477db6 100644 --- a/modules/plugins/utility/telescope/telescope.nix +++ b/modules/plugins/utility/telescope/telescope.nix @@ -4,16 +4,12 @@ ... }: let inherit (lib.options) mkEnableOption mkOption; - inherit (lib.types) int str listOf float bool either enum submodule attrsOf; + inherit (lib.types) int str listOf float bool either enum submodule attrsOf anything package; inherit (lib.nvim.binds) mkMappingOption; inherit (lib.nvim.types) mkPluginSetupOption luaInline; setupOptions = { defaults = { vimgrep_arguments = mkOption { - description = '' - Defines the command that will be used for `live_grep` and `grep_string` pickers. - Make sure that color is set to `never` because telescope does not yet interpret color codes. - ''; type = listOf str; default = [ "${pkgs.ripgrep}/bin/rg" @@ -26,53 +22,65 @@ "--hidden" "--no-ignore" ]; + + description = '' + Defines the command that will be used for `live_grep` and `grep_string` pickers. + Make sure that color is set to `never` because telescope does not yet interpret color codes. + ''; }; + pickers.find_command = mkOption { - description = "cmd to use for finding files"; type = either (listOf str) luaInline; default = ["${pkgs.fd}/bin/fd"]; + description = '' + Command to use for finding files. If using an executable from `PATH` then you must + make sure that the package is available in [](#opt-vim.extraPackages). + ''; }; + prompt_prefix = mkOption { - description = "Shown in front of Telescope's prompt"; type = str; default = "  "; + description = "Shown in front of Telescope's prompt"; }; + selection_caret = mkOption { + type = str; + default = " "; description = "Character(s) to show in front of the current selection"; - type = str; - default = " "; }; + entry_prefix = mkOption { - description = "Prefix in front of each result entry. Current selection not included."; type = str; default = " "; + description = "Prefix in front of each result entry. Current selection not included."; }; + initial_mode = mkOption { - description = "Determines in which mode telescope starts."; type = enum ["insert" "normal"]; default = "insert"; + description = "Determines in which mode telescope starts."; }; + selection_strategy = mkOption { - description = "Determines how the cursor acts after each sort iteration."; type = enum ["reset" "follow" "row" "closest" "none"]; default = "reset"; + description = "Determines how the cursor acts after each sort iteration."; }; + sorting_strategy = mkOption { - description = ''Determines the direction "better" results are sorted towards.''; type = enum ["descending" "ascending"]; default = "ascending"; + description = ''Determines the direction "better" results are sorted towards.''; }; + layout_strategy = mkOption { - description = "Determines the default layout of Telescope pickers. See `:help telescope.layout`."; type = str; default = "horizontal"; + description = "Determines the default layout of Telescope pickers. See `:help telescope.layout`."; }; + layout_config = mkOption { - description = '' - Determines the default configuration values for layout strategies. - See telescope.layout for details of the configurations options for - each strategy. - ''; default = {}; type = submodule { options = { @@ -117,33 +125,57 @@ }; }; }; + + description = '' + Determines the default configuration values for layout strategies. + See `telescope.layout` for details of the configurations options for + each strategy. + ''; }; + file_ignore_patterns = mkOption { - description = "A table of lua regex that define the files that should be ignored."; type = listOf str; default = ["node_modules" ".git/" "dist/" "build/" "target/" "result/"]; + description = "A table of lua regex that define the files that should be ignored."; }; + color_devicons = mkOption { - description = "Boolean if devicons should be enabled or not."; type = bool; default = true; + description = "Boolean if devicons should be enabled or not."; }; + path_display = mkOption { - description = "Determines how file paths are displayed."; type = listOf (enum ["hidden" "tail" "absolute" "smart" "shorten" "truncate"]); default = ["absolute"]; + description = "Determines how file paths are displayed."; }; + set_env = mkOption { - description = "Set an environment for term_previewer"; type = attrsOf str; - default = { - COLORTERM = "truecolor"; - }; + default = {COLORTERM = "truecolor";}; + description = "Set an environment for term_previewer"; }; + winblend = mkOption { - description = "pseudo-transparency of keymap hints floating window"; type = int; default = 0; + description = "pseudo-transparency of keymap hints floating window"; + }; + }; + }; + + extensionOpts = { + options = { + name = mkOption { + type = str; + description = "Name of the extension, will be used to load it with a `require`"; + }; + + packages = mkOption { + type = listOf (either str package); + default = []; + description = "Package or packages providing the Telescope extension to be loaded."; }; }; }; @@ -178,5 +210,10 @@ in { enable = mkEnableOption "telescope.nvim: multi-purpose search and picker utility"; setupOpts = mkPluginSetupOption "Telescope" setupOptions; + extensions = mkOption { + type = listOf (attrsOf (submodule extensionOpts)); + default = []; + description = "TODO"; + }; }; } From 5f1302321a83fe7661cd367f9fc75e18a11d84f8 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 14 Jan 2025 17:24:51 +0300 Subject: [PATCH 003/271] utility/telescope: concat extension setup sets --- .../plugins/utility/telescope/telescope.nix | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/modules/plugins/utility/telescope/telescope.nix b/modules/plugins/utility/telescope/telescope.nix index 29477db6..1305a1dc 100644 --- a/modules/plugins/utility/telescope/telescope.nix +++ b/modules/plugins/utility/telescope/telescope.nix @@ -1,12 +1,15 @@ { + config, pkgs, lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.types) int str listOf float bool either enum submodule attrsOf anything package; inherit (lib.nvim.binds) mkMappingOption; inherit (lib.nvim.types) mkPluginSetupOption luaInline; + + cfg = config.vim.telescope; setupOptions = { defaults = { vimgrep_arguments = mkOption { @@ -33,7 +36,7 @@ type = either (listOf str) luaInline; default = ["${pkgs.fd}/bin/fd"]; description = '' - Command to use for finding files. If using an executable from `PATH` then you must + Command to use for finding files. If using an executable from {env}`PATH` then you must make sure that the package is available in [](#opt-vim.extraPackages). ''; }; @@ -90,17 +93,20 @@ type = str; default = "top"; }; + preview_width = mkOption { description = ""; type = float; default = 0.55; }; + results_width = mkOption { description = ""; type = float; default = 0.8; }; }; + vertical = { mirror = mkOption { description = ""; @@ -108,16 +114,19 @@ default = false; }; }; + width = mkOption { description = ""; type = float; default = 0.8; }; + height = mkOption { description = ""; type = float; default = 0.8; }; + preview_cutoff = mkOption { description = ""; type = int; @@ -162,6 +171,12 @@ default = 0; description = "pseudo-transparency of keymap hints floating window"; }; + + extensions = mkOption { + type = attrsOf anything; + default = builtins.foldl' (acc: x: acc // (x.setup or {})) {} cfg.extensions; + description = "Attribute set containing per-extension settings for Telescope"; + }; }; }; @@ -177,6 +192,13 @@ default = []; description = "Package or packages providing the Telescope extension to be loaded."; }; + + setup = mkOption { + type = attrsOf anything; + default = {}; + example = {fzf = {fuzzy = true;};}; + description = "Named attribute set to be inserted into Telescope's extensions table."; + }; }; }; in { @@ -210,10 +232,24 @@ in { enable = mkEnableOption "telescope.nvim: multi-purpose search and picker utility"; setupOpts = mkPluginSetupOption "Telescope" setupOptions; + extensions = mkOption { type = listOf (attrsOf (submodule extensionOpts)); default = []; - description = "TODO"; + example = literalExpression '' + [ + { + name = "fzf"; + packages = [pkgs.vimPlugins.telescope-fzf-native-nvim]; + setup = {fzf = {fuzzy = true;};}; + } + ] + ''; + description = '' + Individual extension configurations containing **name**, **packages** and **setup** + fields to resolve dependencies, handle `load_extension` calls and add the `setup` + table into the `extensions` portion of Telescope's setup table. + ''; }; }; } From 45e4a3bd6ff61b750ed4350387b82731cd2dec2e Mon Sep 17 00:00:00 2001 From: raf Date: Mon, 17 Feb 2025 17:43:49 +0000 Subject: [PATCH 004/271] telescope: fix extensions type Co-authored-by: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> --- modules/plugins/utility/telescope/telescope.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/utility/telescope/telescope.nix b/modules/plugins/utility/telescope/telescope.nix index 25bb6223..0ab80380 100644 --- a/modules/plugins/utility/telescope/telescope.nix +++ b/modules/plugins/utility/telescope/telescope.nix @@ -228,7 +228,7 @@ in { setupOpts = mkPluginSetupOption "Telescope" setupOptions; extensions = mkOption { - type = listOf (attrsOf (submodule extensionOpts)); + type = listOf (submodule extensionOpts); default = []; example = literalExpression '' [ From 6bdc52cd772e8708db8e32d3533ce4674943ccef Mon Sep 17 00:00:00 2001 From: Nikita <68944906+BANanaD3V@users.noreply.github.com> Date: Mon, 10 Mar 2025 12:51:19 +0300 Subject: [PATCH 005/271] languages/markdown: Add markview renderer --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/languages/markdown.nix | 19 +++++++++++++++++++ npins/sources.json | 12 ++++++++++++ 3 files changed, 32 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1a5b7e4c..78d9fc36 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -241,3 +241,4 @@ [BANanaD3V](https://github.com/BANanaD3V): - `alpha` is now configured with nix. +- Add `markview-nvim` markdown renderer. diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index ac098a1c..648513e7 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -133,6 +133,18 @@ in { }; }; }; + markview-nvim = { + enable = + mkEnableOption "" + // { + description = '' + [markview.nvim]: https://github.com/OXY2DEV/markview.nvim + + [markview.nvim] - a hackable markdown, Typst, latex, html(inline) & YAML previewer + ''; + }; + setupOpts = mkPluginSetupOption "markview-nvim" {}; + }; }; }; @@ -159,5 +171,12 @@ in { require("render-markdown").setup(${toLuaObject cfg.extensions.render-markdown-nvim.setupOpts}) ''; }) + + (mkIf cfg.extensions.markview-nvim.enable { + vim.startPlugins = ["markview-nvim"]; + vim.pluginRC.markview-nvim = entryAnywhere '' + require("markview").setup(${toLuaObject cfg.extensions.markview-nvim.setupOpts}) + ''; + }) ]); } diff --git a/npins/sources.json b/npins/sources.json index daad4177..093fa820 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -773,6 +773,18 @@ "url": "https://github.com/horriblename/lzn-auto-require/archive/ef746afb55467984ef3200d9709c8059ee0257d0.tar.gz", "hash": "1mgka1mmvpd2gfya898qdbbwrp5rpqds8manjs1s7g5x63xp6b98" }, + "markview-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "OXY2DEV", + "repo": "markview.nvim" + }, + "branch": "main", + "revision": "6c92a6455e97c954a4a419265a032fedd69846f6", + "url": "https://github.com/OXY2DEV/markview.nvim/archive/6c92a6455e97c954a4a419265a032fedd69846f6.tar.gz", + "hash": "01sw4iscnciyifpba4cwjb6fs95wrkk60xvqq67b8d5j8yb5449a" + }, "mind-nvim": { "type": "Git", "repository": { From fce24ec604487268875844bb6fb911bb66464d96 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 29 Mar 2025 21:06:11 +0300 Subject: [PATCH 006/271] utility/oil-nvim: init --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/utility/default.nix | 1 + modules/plugins/utility/oil-nvim/config.nix | 20 +++++++++++++++++++ modules/plugins/utility/oil-nvim/default.nix | 6 ++++++ modules/plugins/utility/oil-nvim/oil-nvim.nix | 12 +++++++++++ npins/sources.json | 13 ++++++++++++ 6 files changed, 56 insertions(+) create mode 100644 modules/plugins/utility/oil-nvim/config.nix create mode 100644 modules/plugins/utility/oil-nvim/default.nix create mode 100644 modules/plugins/utility/oil-nvim/oil-nvim.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index fe3e3166..7b9b20ca 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 +[oil.nvim]: https://github.com/stevearc/oil.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 [oil.nvim] as an alternative file explorer. It will be available under + `vim.utility.oil-nvim`. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index cbe776cc..62b07574 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -15,6 +15,7 @@ ./multicursors ./new-file-template ./nix-develop + ./oil-nvim ./outline ./preview ./snacks-nvim diff --git a/modules/plugins/utility/oil-nvim/config.nix b/modules/plugins/utility/oil-nvim/config.nix new file mode 100644 index 00000000..46f49112 --- /dev/null +++ b/modules/plugins/utility/oil-nvim/config.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.dag) entryAnywhere; + + cfg = config.vim.utility.oil-nvim; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["oil-nvim"]; + pluginRC.snacks-nvim = entryAnywhere '' + require("oil").setup(${toLuaObject cfg.setupOpts}); + ''; + }; + }; +} diff --git a/modules/plugins/utility/oil-nvim/default.nix b/modules/plugins/utility/oil-nvim/default.nix new file mode 100644 index 00000000..1b771b07 --- /dev/null +++ b/modules/plugins/utility/oil-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./oil-nvim.nix + ]; +} diff --git a/modules/plugins/utility/oil-nvim/oil-nvim.nix b/modules/plugins/utility/oil-nvim/oil-nvim.nix new file mode 100644 index 00000000..557f3db6 --- /dev/null +++ b/modules/plugins/utility/oil-nvim/oil-nvim.nix @@ -0,0 +1,12 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.utility.oil-nvim = { + enable = mkEnableOption '' + Neovim file explorer: edit your filesystem like a buffer [oil-nvim] + ''; + + setupOpts = mkPluginSetupOption "oil-nvim" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index f9091f20..a1388f6f 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1919,6 +1919,19 @@ "url": "https://github.com/epwalsh/obsidian.nvim/archive/14e0427bef6c55da0d63f9a313fd9941be3a2479.tar.gz", "hash": "15ycmhn48ryaqzch6w3w6llq2qgmjx8xwkb9dn0075z60dybpflr" }, + "oil-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "stevearc", + "repo": "oil.nvim" + }, + "branch": "master", + "submodules": false, + "revision": "ab887d926c2665a708fbe9e6c4654042cc5f4c60", + "url": "https://github.com/stevearc/oil.nvim/archive/ab887d926c2665a708fbe9e6c4654042cc5f4c60.tar.gz", + "hash": "13jp8i11yhl9xjki3pcyr1q1gzskskm2fgb3slrwfphn586jb5i6" + }, "omnisharp-extended-lsp-nvim": { "type": "Git", "repository": { From 6ab36bbd1c7c92fa5bcab600f7cc7b4b99f57b96 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 2 Apr 2025 02:59:11 +0300 Subject: [PATCH 007/271] pins: bump render-markdown.nvim --- npins/sources.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index a1388f6f..74dc20c8 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2097,9 +2097,9 @@ }, "branch": "main", "submodules": false, - "revision": "a1fc4e559252baa128c471adadf0be045abd542d", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/a1fc4e559252baa128c471adadf0be045abd542d.tar.gz", - "hash": "0n9zis5jf7khjdmc622g40is5yjsqkxph64mldpd3q8ka64yaib1" + "revision": "6b66c32364cd3e6101d37fd71ba4c6fbb2eddfda", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/6b66c32364cd3e6101d37fd71ba4c6fbb2eddfda.tar.gz", + "hash": "0hlsxh1bjfmzb4vh87631nbi0xl1svs9qdkb3id6ybks8n4qb9jw" }, "rose-pine": { "type": "Git", From ae23c34be1e358f28b9cb54f304bcf4cb9ae28f8 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 2 Apr 2025 02:59:33 +0300 Subject: [PATCH 008/271] languages/markdown: remove invalid key from render-markdown setupOpts --- modules/plugins/languages/markdown.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 2447aba0..62081549 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -114,17 +114,10 @@ in { [render-markdown.nvim]: https://github.com/MeanderingProgrammer/render-markdown.nvim Inline Markdown rendering with [render-markdown.nvim] - ''; }; - setupOpts = mkPluginSetupOption "render-markdown" { - auto_override_publish_diagnostics = mkOption { - description = "Automatically override the publish_diagnostics handler"; - type = bool; - default = true; - }; - }; + setupOpts = mkPluginSetupOption "render-markdown" {}; }; }; From 3ae4b3158acb66adade0b699a3afdb86c9e46929 Mon Sep 17 00:00:00 2001 From: Christoph Koehler Date: Wed, 2 Apr 2025 08:54:00 -0600 Subject: [PATCH 009/271] fix: don't reference snacks in oil config --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/utility/oil-nvim/config.nix | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 9adcddee..a3387fd6 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -300,3 +300,7 @@ `setupOpts.pickers.find_files` - Update default `telescope.setupOpts.pickers.find_files.find_command` to only include files (and therefore exclude directories from results) + + [ckoehler](https://github.com/ckoehler): + + - Fix oil config referencing snacks diff --git a/modules/plugins/utility/oil-nvim/config.nix b/modules/plugins/utility/oil-nvim/config.nix index 46f49112..dca4de60 100644 --- a/modules/plugins/utility/oil-nvim/config.nix +++ b/modules/plugins/utility/oil-nvim/config.nix @@ -12,7 +12,7 @@ in { config = mkIf cfg.enable { vim = { startPlugins = ["oil-nvim"]; - pluginRC.snacks-nvim = entryAnywhere '' + pluginRC.oil-nvim = entryAnywhere '' require("oil").setup(${toLuaObject cfg.setupOpts}); ''; }; From 514d4da2d3ff56b591d19f5a8c3f0d3210eea879 Mon Sep 17 00:00:00 2001 From: Christoph Koehler Date: Tue, 1 Apr 2025 19:08:46 -0600 Subject: [PATCH 010/271] feat: add flash.nvim A motion plugin, from Folke. https://github.com/folke/flash.nvim --- docs/release-notes/rl-0.8.md | 7 +++- modules/plugins/utility/motion/default.nix | 1 + .../plugins/utility/motion/flash/config.nix | 34 +++++++++++++++++ .../plugins/utility/motion/flash/default.nix | 6 +++ .../plugins/utility/motion/flash/flash.nix | 38 +++++++++++++++++++ npins/sources.json | 13 +++++++ 6 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 modules/plugins/utility/motion/flash/config.nix create mode 100644 modules/plugins/utility/motion/flash/default.nix create mode 100644 modules/plugins/utility/motion/flash/flash.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a3387fd6..368df9f5 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -301,6 +301,9 @@ - Update default `telescope.setupOpts.pickers.find_files.find_command` to only include files (and therefore exclude directories from results) - [ckoehler](https://github.com/ckoehler): +[ckoehler](https://github.com/ckoehler): - - Fix oil config referencing snacks +[flash.nvim]: https://github.com/folke/flash.nvim + +- Fix oil config referencing snacks +- Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim` diff --git a/modules/plugins/utility/motion/default.nix b/modules/plugins/utility/motion/default.nix index 838fec78..10074939 100644 --- a/modules/plugins/utility/motion/default.nix +++ b/modules/plugins/utility/motion/default.nix @@ -1,5 +1,6 @@ _: { imports = [ + ./flash ./hop ./leap ./precognition diff --git a/modules/plugins/utility/motion/flash/config.nix b/modules/plugins/utility/motion/flash/config.nix new file mode 100644 index 00000000..3adf0de8 --- /dev/null +++ b/modules/plugins/utility/motion/flash/config.nix @@ -0,0 +1,34 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.binds) mkKeymap; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.dag) entryAnywhere; + + cfg = config.vim.utility.motion.flash-nvim; +in { + config = mkIf cfg.enable { + vim = { + lazy.plugins = { + "flash-nvim" = { + package = "flash-nvim"; + setupModule = "flash"; + setupOpts = cfg.setupOpts; + + lazy = true; + + keys = [ + (mkKeymap ["n" "o" "x"] cfg.mappings.jump "lua require(\"flash\").jump()" {desc = "Flash";}) + (mkKeymap ["n" "o" "x"] cfg.mappings.treesitter "lua require(\"flash\").treesitter()" {desc = "Flash Treesitter";}) + (mkKeymap "o" cfg.mappings.remote "lua require(\"flash\").remote()" {desc = "Remote Flash";}) + (mkKeymap ["o" "x"] cfg.mappings.treesitter_search "lua require(\"flash\").treesitter_search()" {desc = "Treesitter Search";}) + (mkKeymap "c" cfg.mappings.toggle "lua require(\"flash\").toggle()" {desc = "Toggle Flash Search";}) + ]; + }; + }; + }; + }; +} diff --git a/modules/plugins/utility/motion/flash/default.nix b/modules/plugins/utility/motion/flash/default.nix new file mode 100644 index 00000000..5978df25 --- /dev/null +++ b/modules/plugins/utility/motion/flash/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./flash.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/motion/flash/flash.nix b/modules/plugins/utility/motion/flash/flash.nix new file mode 100644 index 00000000..825b86a0 --- /dev/null +++ b/modules/plugins/utility/motion/flash/flash.nix @@ -0,0 +1,38 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.types) nullOr str; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.utility.motion.flash-nvim = { + enable = mkEnableOption "enhanced code navigation with flash.nvim"; + setupOpts = mkPluginSetupOption "flash-nvim" {}; + + mappings = { + jump = mkOption { + type = nullOr str; + default = "s"; + description = "Jump"; + }; + treesitter = mkOption { + type = nullOr str; + default = "S"; + description = "Treesitter"; + }; + remote = mkOption { + type = nullOr str; + default = "r"; + description = "Remote Flash"; + }; + treesitter_search = mkOption { + type = nullOr str; + default = "R"; + description = "Treesitter Search"; + }; + toggle = mkOption { + type = nullOr str; + default = ""; + description = "Toggle Flash Search"; + }; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 74dc20c8..a8573213 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -471,6 +471,19 @@ "url": "https://github.com/j-hui/fidget.nvim/archive/d9ba6b7bfe29b3119a610892af67602641da778e.tar.gz", "hash": "070jadci8x6zgxnsqaldjah1gm1p78wscsb9wpn5wn8mjkyk2m80" }, + "flash-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "folke", + "repo": "flash.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "3c942666f115e2811e959eabbdd361a025db8b63", + "url": "https://github.com/folke/flash.nvim/archive/3c942666f115e2811e959eabbdd361a025db8b63.tar.gz", + "hash": "1xil2lkyr404zni1qmkwrl9hvbwjjk52fmncg59vqmvdybwsnqni" + }, "flutter-tools-nvim": { "type": "Git", "repository": { From b49402bccd27ebbaa93ce924f94a8893dfc46ed8 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Thu, 3 Apr 2025 07:36:46 +0300 Subject: [PATCH 011/271] languages/astro: fix syntax issue in inline Lua; add prettierd --- modules/plugins/languages/astro.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index e1a56172..9c359a2e 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -22,7 +22,7 @@ package = pkgs.astro-language-server; lspConfig = '' lspconfig.astro.setup { - capabilities = capabilities; + capabilities = capabilities, on_attach = attach_keymaps, cmd = ${ if isList cfg.lsp.package @@ -41,6 +41,10 @@ package = pkgs.nodePackages.prettier; }; + prettierd = { + package = pkgs.prettierd; + }; + biome = { package = pkgs.biome; }; @@ -84,16 +88,16 @@ in { enable = mkEnableOption "Astro LSP support" // {default = config.vim.languages.enableLSP;}; server = mkOption { - description = "Astro LSP server to use"; type = enum (attrNames servers); default = defaultServer; + description = "Astro LSP server to use"; }; package = mkOption { - description = "Astro LSP server package, or the command to run as a list of strings"; - example = ''[lib.getExe pkgs.astro-language-server "--minify" "--stdio"]''; type = either package (listOf str); default = servers.${cfg.lsp.server}.package; + example = ''[lib.getExe pkgs.astro-language-server "--minify" "--stdio"]''; + description = "Astro LSP server package, or the command to run as a list of strings"; }; }; From 95c991e48d668b3ab6fb8719648f4b0f0cc749dd Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Thu, 3 Apr 2025 11:05:57 +0300 Subject: [PATCH 012/271] pins: bump all plugins --- npins/sources.json | 422 ++++++++++++++++++++++----------------------- 1 file changed, 211 insertions(+), 211 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index a8573213..86fa0f6b 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -9,9 +9,9 @@ }, "branch": "master", "submodules": false, - "revision": "9ebc13583cff447f5493a63e99dfca526b3c3088", - "url": "https://github.com/stevearc/aerial.nvim/archive/9ebc13583cff447f5493a63e99dfca526b3c3088.tar.gz", - "hash": "17mjs95jnnvsg1ihwbsa3z6hr88rvfh36pv1x4cad7hsaal3dcrg" + "revision": "44684bf429dc40e97a6d00ffa09043ac3f692186", + "url": "https://github.com/stevearc/aerial.nvim/archive/44684bf429dc40e97a6d00ffa09043ac3f692186.tar.gz", + "hash": "02zd23np2pn7hivi8sl63lcdn85cfbvsapkyghkwh9prxg8a81zn" }, "alpha-nvim": { "type": "Git", @@ -103,9 +103,9 @@ }, "branch": "main", "submodules": false, - "revision": "d4af981745ea67b2c29bcd25f9843dbeedc580ed", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/d4af981745ea67b2c29bcd25f9843dbeedc580ed.tar.gz", - "hash": "1xjhpp9118bgpp2x3pxv0llngkm69fzxhdqp92civ19s5pxb5h5y" + "revision": "56084d1f45c8621d23d4bac724c2dc50b1eb75db", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/56084d1f45c8621d23d4bac724c2dc50b1eb75db.tar.gz", + "hash": "1lyczjvwpi5f1mjgw059yzkxxjrk48vcvhdjzkjgakhsq76s125x" }, "bufdelete-nvim": { "type": "Git", @@ -142,9 +142,9 @@ }, "branch": "main", "submodules": false, - "revision": "b57cbaf8db3ac43c56c9e2c7f3812944638260ed", - "url": "https://github.com/uga-rosa/ccc.nvim/archive/b57cbaf8db3ac43c56c9e2c7f3812944638260ed.tar.gz", - "hash": "0ixqbsag43pyrvj0i9dkn28j7b2v0c75rljnw57bjl6nwz2aqxg7" + "revision": "9abb22d5d47460852a935129b4feff39fd8033e3", + "url": "https://github.com/uga-rosa/ccc.nvim/archive/9abb22d5d47460852a935129b4feff39fd8033e3.tar.gz", + "hash": "1lv00jwlqmhki6n8dqrxfvg5kci6a2xiz7mh8d488n7hr1pwkrpn" }, "cellular-automaton-nvim": { "type": "Git", @@ -207,8 +207,8 @@ }, "branch": "main", "submodules": false, - "revision": "3022dbc9166796b644a841a02de8dd1cc1d311fa", - "url": "https://github.com/hrsh7th/cmp-buffer/archive/3022dbc9166796b644a841a02de8dd1cc1d311fa.tar.gz", + "revision": "b74fab3656eea9de20a9b8116afa3cfc4ec09657", + "url": "https://github.com/hrsh7th/cmp-buffer/archive/b74fab3656eea9de20a9b8116afa3cfc4ec09657.tar.gz", "hash": "1cwx8ky74633y0bmqmvq1lqzmphadnhzmhzkddl3hpb7rgn18vkl" }, "cmp-luasnip": { @@ -233,8 +233,8 @@ }, "branch": "main", "submodules": false, - "revision": "99290b3ec1322070bcfb9e846450a46f6efa50f0", - "url": "https://github.com/hrsh7th/cmp-nvim-lsp/archive/99290b3ec1322070bcfb9e846450a46f6efa50f0.tar.gz", + "revision": "a8912b88ce488f411177fc8aed358b04dc246d7b", + "url": "https://github.com/hrsh7th/cmp-nvim-lsp/archive/a8912b88ce488f411177fc8aed358b04dc246d7b.tar.gz", "hash": "08q5mf5jrqjjcl1s4h9zj2vd1kcizz0a5a6p65wv1rc5s1fa3a49" }, "cmp-path": { @@ -246,8 +246,8 @@ }, "branch": "main", "submodules": false, - "revision": "91ff86cd9c29299a64f968ebb45846c485725f23", - "url": "https://github.com/hrsh7th/cmp-path/archive/91ff86cd9c29299a64f968ebb45846c485725f23.tar.gz", + "revision": "c6635aae33a50d6010bf1aa756ac2398a2d54c32", + "url": "https://github.com/hrsh7th/cmp-path/archive/c6635aae33a50d6010bf1aa756ac2398a2d54c32.tar.gz", "hash": "18ixx14ibc7qrv32nj0ylxrx8w4ggg49l5vhcqd35hkp4n56j6mn" }, "cmp-treesitter": { @@ -272,9 +272,9 @@ }, "branch": "main", "submodules": false, - "revision": "51fe5a782dbbd5cad8189420cb8d38fd7c245684", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/51fe5a782dbbd5cad8189420cb8d38fd7c245684.tar.gz", - "hash": "09vjvbf5rxmj2fax0ddcinbvx6mhjdy58fw9d1nf8ll7x8dj5j2s" + "revision": "9f6ba9c0858179fe250412ad2f4d1f0d1bd31eb0", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/9f6ba9c0858179fe250412ad2f4d1f0d1bd31eb0.tar.gz", + "hash": "1bs16rwj8wrpx1ijlhcjdfmz97616ny80pw16igm0dbwsf85nnj4" }, "codewindow-nvim": { "type": "Git", @@ -311,9 +311,9 @@ }, "branch": "master", "submodules": false, - "revision": "f9ef25a7ef00267b7d13bfc00b0dea22d78702d5", - "url": "https://github.com/stevearc/conform.nvim/archive/f9ef25a7ef00267b7d13bfc00b0dea22d78702d5.tar.gz", - "hash": "1942dsg83skxnm3jrqyxx9mvzgiq1v68i9z43hpar4bmqvggviif" + "revision": "b1a75324ddf96b7bb84963a297b1ed334db087c0", + "url": "https://github.com/stevearc/conform.nvim/archive/b1a75324ddf96b7bb84963a297b1ed334db087c0.tar.gz", + "hash": "0g0r324dg2yxj8g47lj8zg63166bhjlk8vskh3rdypxd437rbii0" }, "copilot-cmp": { "type": "Git", @@ -337,9 +337,9 @@ }, "branch": "master", "submodules": false, - "revision": "6c65c53a849c8ac4278ad07a4bac150f449da3c4", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/6c65c53a849c8ac4278ad07a4bac150f449da3c4.tar.gz", - "hash": "0psmi1pknc8cpckj9iqk4yx79xjkvmrjlwcnl0x1a5lbahdzifhv" + "revision": "d661d65b4cab20a5c164f6d9081d91ed324fe4d8", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/d661d65b4cab20a5c164f6d9081d91ed324fe4d8.tar.gz", + "hash": "1lhrs1cw3v7z2sksbd8m1c6ya5m5xfn1dnx8yxqq3s2kqim6n7jb" }, "crates-nvim": { "type": "Git", @@ -363,9 +363,9 @@ }, "branch": "master", "submodules": false, - "revision": "8420ee6a9fe0bfc9a37920fd572b0ae5a2348967", - "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/8420ee6a9fe0bfc9a37920fd572b0ae5a2348967.tar.gz", - "hash": "19k5iayhji76q031mzm1vw0n2irh2417mn0gdhf4cmadkrj4ygmg" + "revision": "52710d523e5a4d325fe62811a48ee2eeb93dbe26", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/52710d523e5a4d325fe62811a48ee2eeb93dbe26.tar.gz", + "hash": "1gxfcj8v7140v5njl0299dx8aqzjbxxz1i0af0p50lli5bk5s25g" }, "dashboard-nvim": { "type": "Git", @@ -493,9 +493,9 @@ }, "branch": "main", "submodules": false, - "revision": "2d91a86a43a1ae1303e48aac55542f57b5731990", - "url": "https://github.com/akinsho/flutter-tools.nvim/archive/2d91a86a43a1ae1303e48aac55542f57b5731990.tar.gz", - "hash": "1ijwhwmf6f2rrixdpbr0aigjjy7jwl20bi4v5y7rz8cg0lhsmy5x" + "revision": "6faf2c70bd56f1fe78620591a2bb73f4dc6f4870", + "url": "https://github.com/akinsho/flutter-tools.nvim/archive/6faf2c70bd56f1fe78620591a2bb73f4dc6f4870.tar.gz", + "hash": "0mhqzicm56xp20mm8swmick63p9sbbby394v0qykzb9l73wpqdka" }, "friendly-snippets": { "type": "Git", @@ -519,9 +519,9 @@ }, "branch": "main", "submodules": false, - "revision": "89ff12300e9a768f4890a8e02bb6a3f5d97f9a65", - "url": "https://github.com/ibhagwan/fzf-lua/archive/89ff12300e9a768f4890a8e02bb6a3f5d97f9a65.tar.gz", - "hash": "13bpzf0nb5sqf80fhly3zpfh94kkbr934qbn588668kjpplp1rqn" + "revision": "6488ada2f376e47789391dc353b6d91a3f9de6f6", + "url": "https://github.com/ibhagwan/fzf-lua/archive/6488ada2f376e47789391dc353b6d91a3f9de6f6.tar.gz", + "hash": "1hj550c9bn0f2wzmrhc4g9l6024in7jwqfqvrr23fly3b42lfa8a" }, "gesture-nvim": { "type": "Git", @@ -571,9 +571,9 @@ }, "branch": "main", "submodules": false, - "revision": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/7010000889bfb6c26065e0b0f7f1e6aa9163edd9.tar.gz", - "hash": "0hl572j5l1bqg51rg545bavxs8kxya02ss3fj5fxvp9ylrnaqsx9" + "revision": "3c76f7fabac723aa682365ef782f88a83ccdb4ac", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/3c76f7fabac723aa682365ef782f88a83ccdb4ac.tar.gz", + "hash": "1ngw8n25g6rpdn089xwjidfglsli2v8mbv769ikpp6y89h9j91l3" }, "glow-nvim": { "type": "Git", @@ -597,9 +597,9 @@ }, "branch": "main", "submodules": false, - "revision": "c6f42890551b4827253387e93b035568826a9cb7", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/c6f42890551b4827253387e93b035568826a9cb7.tar.gz", - "hash": "1ac056i9hs5wbb9qzdijmhjcaz4h67v2c8q0361d17gdm8pdrvnj" + "revision": "12b5420b665e8053d74eb075d8a589477333f67d", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/12b5420b665e8053d74eb075d8a589477333f67d.tar.gz", + "hash": "16fa841cv0dbn7pkcs44r5ch241vhax8jfxgcxwwd0z4srlbj6gy" }, "harpoon": { "type": "Git", @@ -623,9 +623,9 @@ }, "branch": "master", "submodules": false, - "revision": "0a1d1119e69cdf9b89e509a8bea025e21d5a41c5", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/0a1d1119e69cdf9b89e509a8bea025e21d5a41c5.tar.gz", - "hash": "1i0m53ri2c5l4yzwjkbwwa73c8k5yh8yz6ddcljz1b9q5vs9dazk" + "revision": "5fa6671ff4face61be6a439b085c4977c20a60dc", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/5fa6671ff4face61be6a439b085c4977c20a60dc.tar.gz", + "hash": "002lzdjdf9f5jp63bngmp9fadzs81c0w0gqqpy7b2wfxg76biggr" }, "highlight-undo-nvim": { "type": "Git", @@ -664,10 +664,10 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v1.0.2", - "revision": "8578056a2226ed49fc608167edc143a87f75d809", - "url": "https://api.github.com/repos/nvimtools/hydra.nvim/tarball/v1.0.2", - "hash": "13f04pmqrfl65xx9bfkdak6ll57s94anaw7nqd0fm5hp50b7c6j3" + "version": "v1.0.3", + "revision": "f3d4822060376cb253d4cc0d5af2c272c28de2a7", + "url": "https://api.github.com/repos/nvimtools/hydra.nvim/tarball/v1.0.3", + "hash": "13dd1q951pbwi36r4s1zfs02mk5pyfvwlj1pmv4l8bnc4fs242qv" }, "icon-picker-nvim": { "type": "Git", @@ -846,9 +846,9 @@ }, "branch": "master", "submodules": false, - "revision": "136e315e0c1e2ac116cc0953dd41adfebfb4a695", - "url": "https://github.com/nvim-neorocks/lz.n/archive/136e315e0c1e2ac116cc0953dd41adfebfb4a695.tar.gz", - "hash": "0fdgr21cj5nis4vicvws635w9c8bcls59yj64d3xwfj7nr40mzws" + "revision": "4d32f775806f9dbc1ad2c773c305cc1dc4ce2bba", + "url": "https://github.com/nvim-neorocks/lz.n/archive/4d32f775806f9dbc1ad2c773c305cc1dc4ce2bba.tar.gz", + "hash": "0ydm1vms8bhiq2yxa1ndb38fi71vai2hk1azdaw4xbjrylbhpnjq" }, "lzn-auto-require": { "type": "Git", @@ -885,9 +885,9 @@ }, "branch": "main", "submodules": false, - "revision": "978ffc65c6b513fde9ef075326d34d89197f1ea5", - "url": "https://github.com/echasnovski/mini.ai/archive/978ffc65c6b513fde9ef075326d34d89197f1ea5.tar.gz", - "hash": "1kgar55azqq9g6m9y98kr96cldhzipdfp2cjhszvnzw9ad28p3nb" + "revision": "e139eb1101beb0250fea322f8c07a42f0f175688", + "url": "https://github.com/echasnovski/mini.ai/archive/e139eb1101beb0250fea322f8c07a42f0f175688.tar.gz", + "hash": "1lc7nwxlm4ndf2d2m4y90dybscig39qh5ijacns5r40w31rfgpmc" }, "mini-align": { "type": "Git", @@ -898,9 +898,9 @@ }, "branch": "main", "submodules": false, - "revision": "0ce67804b0343409c93eb14275b98d53a7b209cc", - "url": "https://github.com/echasnovski/mini.align/archive/0ce67804b0343409c93eb14275b98d53a7b209cc.tar.gz", - "hash": "1lq5pzi24ahwfp1jipwl7a1mynnz1ja7c70bs2kilafpa314ymnp" + "revision": "2b42ac0be7d570c2208f9e334ecef13453cd222d", + "url": "https://github.com/echasnovski/mini.align/archive/2b42ac0be7d570c2208f9e334ecef13453cd222d.tar.gz", + "hash": "12k8jv9f4kzn4gn507539v1llm1zn0afl2pwihv4gsr62l9gbmw9" }, "mini-animate": { "type": "Git", @@ -911,9 +911,9 @@ }, "branch": "main", "submodules": false, - "revision": "33235a02c7dbaf2a5abdb9c584f9bdb6a6fef247", - "url": "https://github.com/echasnovski/mini.animate/archive/33235a02c7dbaf2a5abdb9c584f9bdb6a6fef247.tar.gz", - "hash": "1v4xlphp9h1vc48dxwf9hmm2mfr1z1s708knsbyx6gkd282zmzkg" + "revision": "9b518c39c0e25b7b5e4e61db3f1407f7b4889f4e", + "url": "https://github.com/echasnovski/mini.animate/archive/9b518c39c0e25b7b5e4e61db3f1407f7b4889f4e.tar.gz", + "hash": "197fgvnh05j5s0bhablgvlz1h6fl4m3n9d1sxzyf6p661dk8chcf" }, "mini-base16": { "type": "Git", @@ -924,9 +924,9 @@ }, "branch": "main", "submodules": false, - "revision": "492b34f496fd1a53126feb1e47ebf55ce9d61e25", - "url": "https://github.com/echasnovski/mini.base16/archive/492b34f496fd1a53126feb1e47ebf55ce9d61e25.tar.gz", - "hash": "0srxnxkpi03282zdcbrq13b2m259pchnfvp94awn286zwsc9x23l" + "revision": "1e0a62b8d9592e842c545442cddf3236634c0b67", + "url": "https://github.com/echasnovski/mini.base16/archive/1e0a62b8d9592e842c545442cddf3236634c0b67.tar.gz", + "hash": "038a1w0fi6ivhs0s5lnj45vq40d4whvrbqmkkv1sa9g56cqr17wi" }, "mini-basics": { "type": "Git", @@ -937,9 +937,9 @@ }, "branch": "main", "submodules": false, - "revision": "307ba95901099f44cff557da040ee8862093e410", - "url": "https://github.com/echasnovski/mini.basics/archive/307ba95901099f44cff557da040ee8862093e410.tar.gz", - "hash": "130y4b372n3gckg1in5mgdssxg55cswa0dwxrs4icq2nb7rxnbia" + "revision": "9904890cf863a7cbc3f57a1cbac3d298a33e90a4", + "url": "https://github.com/echasnovski/mini.basics/archive/9904890cf863a7cbc3f57a1cbac3d298a33e90a4.tar.gz", + "hash": "0k9xzdgmyrjvazvi2j1pgy8wsdbm3g3wcq4nnhdxl51i9ib5i3wj" }, "mini-bracketed": { "type": "Git", @@ -950,9 +950,9 @@ }, "branch": "main", "submodules": false, - "revision": "0ec65567ffde0ad4d94d794d55f3b627203b496a", - "url": "https://github.com/echasnovski/mini.bracketed/archive/0ec65567ffde0ad4d94d794d55f3b627203b496a.tar.gz", - "hash": "05xg63hw83n99al5sylysbq1xpschlj547s3j484jjs7wsbzzp6c" + "revision": "cd77e1e498a561a0f11b41a650caa1ba3a6a3fcc", + "url": "https://github.com/echasnovski/mini.bracketed/archive/cd77e1e498a561a0f11b41a650caa1ba3a6a3fcc.tar.gz", + "hash": "1490iv3j7ks3c04x48xqysq62kya9ygxca84avhah4pg43h1pws9" }, "mini-bufremove": { "type": "Git", @@ -963,9 +963,9 @@ }, "branch": "main", "submodules": false, - "revision": "c635c40d06a45450d34695d70c3fb3efe432728f", - "url": "https://github.com/echasnovski/mini.bufremove/archive/c635c40d06a45450d34695d70c3fb3efe432728f.tar.gz", - "hash": "0d5zmn1rldcl37i6v6m2b2ql3nvkdfqjzf3zhdkqfd7pxvvwp12j" + "revision": "8f4567b323f74116422f3a1c0ac8e7b9d108cebb", + "url": "https://github.com/echasnovski/mini.bufremove/archive/8f4567b323f74116422f3a1c0ac8e7b9d108cebb.tar.gz", + "hash": "0rpj7jdfxq6c509ng911rrncmfip6l39r6np9b6gsgv7j1563ja6" }, "mini-clue": { "type": "Git", @@ -976,9 +976,9 @@ }, "branch": "main", "submodules": false, - "revision": "9bfd8ce71ae31460837fcec82a03946008929777", - "url": "https://github.com/echasnovski/mini.clue/archive/9bfd8ce71ae31460837fcec82a03946008929777.tar.gz", - "hash": "1rx2952li3zby1v24asrp9avy6l9f7f6v954a6xf1rl8ijz2aa5j" + "revision": "298ece93383cf7feb82ff726ebe3570573cd6308", + "url": "https://github.com/echasnovski/mini.clue/archive/298ece93383cf7feb82ff726ebe3570573cd6308.tar.gz", + "hash": "09av4cxvfqc8vfhdhfa6dlv1l47hqfq9ip6w23xpdfv8acdhqr44" }, "mini-colors": { "type": "Git", @@ -989,9 +989,9 @@ }, "branch": "main", "submodules": false, - "revision": "0b13a3f8c7279d31833203b1c15d456047321f28", - "url": "https://github.com/echasnovski/mini.colors/archive/0b13a3f8c7279d31833203b1c15d456047321f28.tar.gz", - "hash": "00037f03cmx01y6hd7cdk4bibbzfqmygf851alhnvd2fs7flvxcw" + "revision": "a946cd32c0e5b9bab9cd27ebd6c23259e7d70a72", + "url": "https://github.com/echasnovski/mini.colors/archive/a946cd32c0e5b9bab9cd27ebd6c23259e7d70a72.tar.gz", + "hash": "0jiw5vz7jnfwpbcls1fzny6nv1pxpjyvldf6rzrv9yihpcjgixqy" }, "mini-comment": { "type": "Git", @@ -1002,9 +1002,9 @@ }, "branch": "main", "submodules": false, - "revision": "264b8a63edd5a9a41d5361a1d52c13131c3c51a2", - "url": "https://github.com/echasnovski/mini.comment/archive/264b8a63edd5a9a41d5361a1d52c13131c3c51a2.tar.gz", - "hash": "1s4jl8sa7l6kibgsz0d6w2h4xnbpbf3k4rqq90x4l4dmx8if9vkb" + "revision": "fb867a9246f9b892cf51a8c84a3f8479cdf1558c", + "url": "https://github.com/echasnovski/mini.comment/archive/fb867a9246f9b892cf51a8c84a3f8479cdf1558c.tar.gz", + "hash": "0d3yl412f95alg5rlvq387sbx3gwyqa0nc2f8ivgw5vllnwycj3a" }, "mini-completion": { "type": "Git", @@ -1015,9 +1015,9 @@ }, "branch": "main", "submodules": false, - "revision": "9e6aa17fef2e86d3f33666a7843b942791cc1c1f", - "url": "https://github.com/echasnovski/mini.completion/archive/9e6aa17fef2e86d3f33666a7843b942791cc1c1f.tar.gz", - "hash": "05z0ghbwh7h2ij8k72sidrpypnzkf57kf058kwpc0wd1jm9ymznm" + "revision": "aef3a80fece4662abbf5fc09d899e9f3e1805d7d", + "url": "https://github.com/echasnovski/mini.completion/archive/aef3a80fece4662abbf5fc09d899e9f3e1805d7d.tar.gz", + "hash": "1154rxj021vsjqk4jqnxqgww7ajkhlwhbbh92avs05wg9hxpnjzg" }, "mini-diff": { "type": "Git", @@ -1028,9 +1028,9 @@ }, "branch": "main", "submodules": false, - "revision": "e4a59a8a22d9afeeaac92e3cb3fbd8ff5dc8e310", - "url": "https://github.com/echasnovski/mini.diff/archive/e4a59a8a22d9afeeaac92e3cb3fbd8ff5dc8e310.tar.gz", - "hash": "0z38rpxdgg298a1i5ar49694xfjv26m8572qbhq2s6wkf24p08yk" + "revision": "06c9fe0e33fbcf41202793550b905d7431dc81fc", + "url": "https://github.com/echasnovski/mini.diff/archive/06c9fe0e33fbcf41202793550b905d7431dc81fc.tar.gz", + "hash": "0bixw71ds5k8ag0bfhc19yg4x03jf5m3i4d7g7s0h4kdngvj84mg" }, "mini-doc": { "type": "Git", @@ -1041,9 +1041,9 @@ }, "branch": "main", "submodules": false, - "revision": "00d626a03e5642c657c58c99d14cc0ea6ed51abd", - "url": "https://github.com/echasnovski/mini.doc/archive/00d626a03e5642c657c58c99d14cc0ea6ed51abd.tar.gz", - "hash": "0n920j25rnb66hk3klrni9ji673800dbxyb8j30vd4dymq5051ym" + "revision": "9b3e1b20508c7a6218cadf59b177a79a5df290f6", + "url": "https://github.com/echasnovski/mini.doc/archive/9b3e1b20508c7a6218cadf59b177a79a5df290f6.tar.gz", + "hash": "1anxn3lasm1x3yn1i0hd4im7y8fvf0fhyazn3yj6hzpm4vb12p0k" }, "mini-extra": { "type": "Git", @@ -1054,9 +1054,9 @@ }, "branch": "main", "submodules": false, - "revision": "54420de7ee36cf011c6351a1d6290b2555120c7b", - "url": "https://github.com/echasnovski/mini.extra/archive/54420de7ee36cf011c6351a1d6290b2555120c7b.tar.gz", - "hash": "16kyn5jh6pnpiiahf16r2yk3bck9yz8vy5fbvwlfa847rbl39ybd" + "revision": "dc571df8f1f61debd59e200adfe7f701c0d67eca", + "url": "https://github.com/echasnovski/mini.extra/archive/dc571df8f1f61debd59e200adfe7f701c0d67eca.tar.gz", + "hash": "14zbqrwcxyhax10q082n4wqmqb3519i5kmj0zc8flwmswv742gyr" }, "mini-files": { "type": "Git", @@ -1067,9 +1067,9 @@ }, "branch": "main", "submodules": false, - "revision": "3007632477bb9df28b4e32329c63aea1ab2c2b0a", - "url": "https://github.com/echasnovski/mini.files/archive/3007632477bb9df28b4e32329c63aea1ab2c2b0a.tar.gz", - "hash": "1bb0sv766gjnwnqpn7qhcsm6m6c8zj96ippsh1sjlqd3ma09hzwm" + "revision": "432142ada983ec5863ba480f0e4891b7d64ce3f6", + "url": "https://github.com/echasnovski/mini.files/archive/432142ada983ec5863ba480f0e4891b7d64ce3f6.tar.gz", + "hash": "0422sf8jx5sxws2kssi3ynynpmm1xpgk7i50dqml1kc8nymx4z5b" }, "mini-fuzzy": { "type": "Git", @@ -1080,9 +1080,9 @@ }, "branch": "main", "submodules": false, - "revision": "fb42763285075e316fd4250739af9b8c442503de", - "url": "https://github.com/echasnovski/mini.fuzzy/archive/fb42763285075e316fd4250739af9b8c442503de.tar.gz", - "hash": "0hl5ygzlf73g70j7pdd1x4975368sqpynpja1zx7bc5jln698vr4" + "revision": "c33d6a93c4fe395ae8a9bd02fed35315a90b688a", + "url": "https://github.com/echasnovski/mini.fuzzy/archive/c33d6a93c4fe395ae8a9bd02fed35315a90b688a.tar.gz", + "hash": "0n3rnvhz1hzj32l006il96zf61iv4wc0fy6dqp1lyrqm13skadvp" }, "mini-git": { "type": "Git", @@ -1093,9 +1093,9 @@ }, "branch": "main", "submodules": false, - "revision": "96034bd94220115e49dbf8c38ef4da5508ba29c2", - "url": "https://github.com/echasnovski/mini-git/archive/96034bd94220115e49dbf8c38ef4da5508ba29c2.tar.gz", - "hash": "0f15bsqrjbifjp0g0fscncyhzsvjd3i4fh0vyagpl08g4as1fqx3" + "revision": "cf928950a29d5158dcc76530443436a45411738f", + "url": "https://github.com/echasnovski/mini-git/archive/cf928950a29d5158dcc76530443436a45411738f.tar.gz", + "hash": "05q0anazch60xy3rk5f8gxg8hnnmgvfp5zff80qpi43y48jgkvyx" }, "mini-hipatterns": { "type": "Git", @@ -1106,9 +1106,9 @@ }, "branch": "main", "submodules": false, - "revision": "fbf1e2195fdd65cf1bc970316c28098257728868", - "url": "https://github.com/echasnovski/mini.hipatterns/archive/fbf1e2195fdd65cf1bc970316c28098257728868.tar.gz", - "hash": "09g9b2jm1hac7pppmmncqpgaddd3yrlw9anhr4jw7lldr2bpwrqa" + "revision": "dd53c18779a2e47a1902180c72bc54a8bb554388", + "url": "https://github.com/echasnovski/mini.hipatterns/archive/dd53c18779a2e47a1902180c72bc54a8bb554388.tar.gz", + "hash": "0cw6sfhzny5wds5ydwlp8qw448g7fgakhh2dzqijw4nn1yxhmkr2" }, "mini-hues": { "type": "Git", @@ -1119,9 +1119,9 @@ }, "branch": "main", "submodules": false, - "revision": "b65cb42ad651ee3543985e333c504bf820bc5a85", - "url": "https://github.com/echasnovski/mini.hues/archive/b65cb42ad651ee3543985e333c504bf820bc5a85.tar.gz", - "hash": "1yhkvszlw6pp1pxkz0w76fwmmysb2bl2kka0f0ws4jhfcdj6qv1c" + "revision": "dd8b2105323c6b5277f76ea0f30f016c85f8171e", + "url": "https://github.com/echasnovski/mini.hues/archive/dd8b2105323c6b5277f76ea0f30f016c85f8171e.tar.gz", + "hash": "0kxj26zllydwcxd3jyijy084s96giydajc10fxzhmjg8gvb1pxmf" }, "mini-icons": { "type": "Git", @@ -1132,9 +1132,9 @@ }, "branch": "main", "submodules": false, - "revision": "86a633f0dffcfd80110bac86681dbf4b5c37ba5c", - "url": "https://github.com/echasnovski/mini.icons/archive/86a633f0dffcfd80110bac86681dbf4b5c37ba5c.tar.gz", - "hash": "1810mvav1k24kxx3kj364v09k26d1s1p2y6dnc2l8mwzw7q70byr" + "revision": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a", + "url": "https://github.com/echasnovski/mini.icons/archive/397ed3807e96b59709ef3292f0a3e253d5c1dc0a.tar.gz", + "hash": "110bglbbyafjym4md2slgccyjhf90bgg8h9h2ipya6cfqfs4pizy" }, "mini-indentscope": { "type": "Git", @@ -1145,9 +1145,9 @@ }, "branch": "main", "submodules": false, - "revision": "8ce41a77eed7f4121c83c67fda5e2e86af999e6d", - "url": "https://github.com/echasnovski/mini.indentscope/archive/8ce41a77eed7f4121c83c67fda5e2e86af999e6d.tar.gz", - "hash": "0dv4c6yf1s5fzvwy1n0chq553353bsix3g8ysajp9lswnd9lhbh4" + "revision": "8af2569a7d7fd37300dfa760e44e71efbbf322fd", + "url": "https://github.com/echasnovski/mini.indentscope/archive/8af2569a7d7fd37300dfa760e44e71efbbf322fd.tar.gz", + "hash": "1xk31bl9gchc8r1pv6f2z7nfkr6q7f1i4qrrj3h4crxb6nhpxmry" }, "mini-jump": { "type": "Git", @@ -1158,9 +1158,9 @@ }, "branch": "main", "submodules": false, - "revision": "1fb371cfdcb314c5faa272976f23514f264bd755", - "url": "https://github.com/echasnovski/mini.jump/archive/1fb371cfdcb314c5faa272976f23514f264bd755.tar.gz", - "hash": "1975qyjzcziya2w121cjkqaj17wxp205jl3b7lrl25db6l6ggjcs" + "revision": "65bf2c55680d8be63d29ce0c5ee4e33031426115", + "url": "https://github.com/echasnovski/mini.jump/archive/65bf2c55680d8be63d29ce0c5ee4e33031426115.tar.gz", + "hash": "17ilfgsazwq20rw42am1jzxvcdzbzsk65jzsxa5s8zs65sx6rdch" }, "mini-jump2d": { "type": "Git", @@ -1171,9 +1171,9 @@ }, "branch": "main", "submodules": false, - "revision": "3de91ea974627c4c2645e288bf0a6e6717a4dfa8", - "url": "https://github.com/echasnovski/mini.jump2d/archive/3de91ea974627c4c2645e288bf0a6e6717a4dfa8.tar.gz", - "hash": "0n40jmjbqnz1bbgal3j8m9cgzyma59ss8lxsqmi9230mkgd4xsnq" + "revision": "c90f7f8cebf3282d0f0b228015fceefb841375c6", + "url": "https://github.com/echasnovski/mini.jump2d/archive/c90f7f8cebf3282d0f0b228015fceefb841375c6.tar.gz", + "hash": "04wv8q8g5p1sv6hdaq83rik9x7fq8ki4d617v5gk5d3nv0i6pqq0" }, "mini-map": { "type": "Git", @@ -1184,9 +1184,9 @@ }, "branch": "main", "submodules": false, - "revision": "2fe08148f883d613c825c1c0c6ea8a19901061f0", - "url": "https://github.com/echasnovski/mini.map/archive/2fe08148f883d613c825c1c0c6ea8a19901061f0.tar.gz", - "hash": "1mqf5bkyp8r05h7ba4drfxx97js2fzmdbjz0xb88xhnpmrikfjnv" + "revision": "f3c156693a9f68a10ae285d537edd36f4cf0e64f", + "url": "https://github.com/echasnovski/mini.map/archive/f3c156693a9f68a10ae285d537edd36f4cf0e64f.tar.gz", + "hash": "1z2rf664z7krs40w66b5fjmq3xffv357mv689425i5nyc1q0gr4n" }, "mini-misc": { "type": "Git", @@ -1197,9 +1197,9 @@ }, "branch": "main", "submodules": false, - "revision": "3f0cf62b7e9c545e7e92fe5614f4d6acbe5a8f29", - "url": "https://github.com/echasnovski/mini.misc/archive/3f0cf62b7e9c545e7e92fe5614f4d6acbe5a8f29.tar.gz", - "hash": "04sw3kxx7qa8i2xvagxls78ih7l6fq9mk42xrqjim225657hva5p" + "revision": "52bf20e952a26820c25776c7b594f64b7a6dcb66", + "url": "https://github.com/echasnovski/mini.misc/archive/52bf20e952a26820c25776c7b594f64b7a6dcb66.tar.gz", + "hash": "0r2xmxlsq8ifq4ps54l7yjljczlp7ldxp8b30gjdkkrbbi1rkbvg" }, "mini-move": { "type": "Git", @@ -1210,9 +1210,9 @@ }, "branch": "main", "submodules": false, - "revision": "c8b30e92dd2668dd6e56a9a23cb7d4ee38c2266d", - "url": "https://github.com/echasnovski/mini.move/archive/c8b30e92dd2668dd6e56a9a23cb7d4ee38c2266d.tar.gz", - "hash": "0cnzfn706s90bc0m49jkx3fjghrcv0byqbajdhwbrv8f77c6crg3" + "revision": "4fe4a855fee53c66b0f3255a4b54ddc2ae6b308c", + "url": "https://github.com/echasnovski/mini.move/archive/4fe4a855fee53c66b0f3255a4b54ddc2ae6b308c.tar.gz", + "hash": "0dd29nx1z54ljjz9m4m9ghhv39x7ajjx43hbr4gn7p1lv2kvjv7p" }, "mini-notify": { "type": "Git", @@ -1223,9 +1223,9 @@ }, "branch": "main", "submodules": false, - "revision": "be6661ee23f2325841fb087efb8e492b29eccc9a", - "url": "https://github.com/echasnovski/mini.notify/archive/be6661ee23f2325841fb087efb8e492b29eccc9a.tar.gz", - "hash": "16n36gvk3gz46cs30gh8zd4mcwszniynl2k87rzbfhhcwsj71svx" + "revision": "f4e892533c8821bc5e0f373b353022a42bd465f7", + "url": "https://github.com/echasnovski/mini.notify/archive/f4e892533c8821bc5e0f373b353022a42bd465f7.tar.gz", + "hash": "0ziqqd8zz2d28x7801g9h45jgcv5vxqx25wcyh3574zrd5aay5s7" }, "mini-operators": { "type": "Git", @@ -1236,9 +1236,9 @@ }, "branch": "main", "submodules": false, - "revision": "298218fb8280fd4a8234db80230dd84db6b07efd", - "url": "https://github.com/echasnovski/mini.operators/archive/298218fb8280fd4a8234db80230dd84db6b07efd.tar.gz", - "hash": "021big8pqbwkjrzkak0chffwhhvj8klanda5q9wxwgg1wky9qvi6" + "revision": "c6d87731f1a2c849888754347ffc5a1395bf2977", + "url": "https://github.com/echasnovski/mini.operators/archive/c6d87731f1a2c849888754347ffc5a1395bf2977.tar.gz", + "hash": "1ijnhxajpii17a1rz1avp1i5j35an2dq0ji28v2wrvaa0b5jg13a" }, "mini-pairs": { "type": "Git", @@ -1249,9 +1249,9 @@ }, "branch": "main", "submodules": false, - "revision": "b90e36aa5ca5e0d825e77ad67aac22214a4d9096", - "url": "https://github.com/echasnovski/mini.pairs/archive/b90e36aa5ca5e0d825e77ad67aac22214a4d9096.tar.gz", - "hash": "0h35xn8029d74sdv1fyrycpkl10vv0m01fvx2v955v0jfc9cii1n" + "revision": "69864a2efb36c030877421634487fd90db1e4298", + "url": "https://github.com/echasnovski/mini.pairs/archive/69864a2efb36c030877421634487fd90db1e4298.tar.gz", + "hash": "0avjjikmz3b8676hzcqck3r2lv0zxsdr8hqs65zn2dr12q8zh41r" }, "mini-pick": { "type": "Git", @@ -1262,9 +1262,9 @@ }, "branch": "main", "submodules": false, - "revision": "4dfc0a21f16d34e9b2429b96d62788ed8a65e6cd", - "url": "https://github.com/echasnovski/mini.pick/archive/4dfc0a21f16d34e9b2429b96d62788ed8a65e6cd.tar.gz", - "hash": "0ybfn2mn038mn2bdaf5hyiycimfi785silpcnayh4nj544zhzjc9" + "revision": "f95dc0bb9db7124f55b225f544a8719476c64314", + "url": "https://github.com/echasnovski/mini.pick/archive/f95dc0bb9db7124f55b225f544a8719476c64314.tar.gz", + "hash": "0cq2hjaw4fyjk692s3dl8hb6aad9a3mqciknj8zsda85n6i2i3qy" }, "mini-sessions": { "type": "Git", @@ -1275,9 +1275,9 @@ }, "branch": "main", "submodules": false, - "revision": "f38354b72c11d5bbb2153183fa6ba0cf238147d5", - "url": "https://github.com/echasnovski/mini.sessions/archive/f38354b72c11d5bbb2153183fa6ba0cf238147d5.tar.gz", - "hash": "1m08i9b235bpgyjgajj85i10z991yigrhp3hg5xji9hajn0d67iw" + "revision": "dd7fe484dfcbf270a788e9291545df509cdb9691", + "url": "https://github.com/echasnovski/mini.sessions/archive/dd7fe484dfcbf270a788e9291545df509cdb9691.tar.gz", + "hash": "0m8l1hw8y3mwhcnyzhxb7j4jvvwmf8i7ybxddy2r2rq89rc7x3ln" }, "mini-snippets": { "type": "Git", @@ -1288,9 +1288,9 @@ }, "branch": "main", "submodules": false, - "revision": "04e1c0f8538a4ee0ddc054e30e92a93cb4c1b568", - "url": "https://github.com/echasnovski/mini.snippets/archive/04e1c0f8538a4ee0ddc054e30e92a93cb4c1b568.tar.gz", - "hash": "17fqgsr7id11f1wp6wri1zi67m2vh6i9hdrwj9bgjy4528x7gi6f" + "revision": "e05106957fc178285dbc510ff833985da59d3e5a", + "url": "https://github.com/echasnovski/mini.snippets/archive/e05106957fc178285dbc510ff833985da59d3e5a.tar.gz", + "hash": "0pn9i6sfh3fxkjzh9yyyc05lgcgm8wsanvl7axmy4p7a9spnfa2q" }, "mini-splitjoin": { "type": "Git", @@ -1301,9 +1301,9 @@ }, "branch": "main", "submodules": false, - "revision": "efe24ba54f9623cb05698355981ec05278976788", - "url": "https://github.com/echasnovski/mini.splitjoin/archive/efe24ba54f9623cb05698355981ec05278976788.tar.gz", - "hash": "0xnc61cm1zpj8j7j10zgpx4438vmqpdwbqick9rrw9jbmbzcc0p5" + "revision": "70240d5d3881ff1b2b1d7902450f98a6fa303800", + "url": "https://github.com/echasnovski/mini.splitjoin/archive/70240d5d3881ff1b2b1d7902450f98a6fa303800.tar.gz", + "hash": "1sp4p0s4cv888n0nmgy04j5k51ndxpmksy235rg9jkk7j5gg47qb" }, "mini-starter": { "type": "Git", @@ -1314,9 +1314,9 @@ }, "branch": "main", "submodules": false, - "revision": "cf770619b85968bc0f45cace82f5c80b69ca0e96", - "url": "https://github.com/echasnovski/mini.starter/archive/cf770619b85968bc0f45cace82f5c80b69ca0e96.tar.gz", - "hash": "11l7vxhd6sra55aj2xmm79nfhrkisv9r6fssknmcdxrmh47dr3kd" + "revision": "d8038690eadf203a40863c3a9423df880a901d39", + "url": "https://github.com/echasnovski/mini.starter/archive/d8038690eadf203a40863c3a9423df880a901d39.tar.gz", + "hash": "06rglm7m32lrgba47vb96kaxdsyz8pl2ivbr41m1swy3ihrv69y3" }, "mini-statusline": { "type": "Git", @@ -1327,9 +1327,9 @@ }, "branch": "main", "submodules": false, - "revision": "ec3adf7813b7604275dd4a28433e9c9610b70f1b", - "url": "https://github.com/echasnovski/mini.statusline/archive/ec3adf7813b7604275dd4a28433e9c9610b70f1b.tar.gz", - "hash": "1ny69yjvldl4jpyjpy8z4w4zz6ir976x63nds8z05zgkq8fa2ajd" + "revision": "6a22a137926c60f987ab76433c56230ffdd7c42d", + "url": "https://github.com/echasnovski/mini.statusline/archive/6a22a137926c60f987ab76433c56230ffdd7c42d.tar.gz", + "hash": "0yvw7j0yydqcv78n145s59y4kw8dj5h8wj44sy46cnzh4bn8l65d" }, "mini-surround": { "type": "Git", @@ -1340,9 +1340,9 @@ }, "branch": "main", "submodules": false, - "revision": "97796f68a8698d9b63ac3927da0d0bf5c3a0876b", - "url": "https://github.com/echasnovski/mini.surround/archive/97796f68a8698d9b63ac3927da0d0bf5c3a0876b.tar.gz", - "hash": "1lris02am949lqg35ql3jgyfhzya68df3yhb5d2dbfmwhk6mjxgc" + "revision": "5aab42fcdcf31fa010f012771eda5631c077840a", + "url": "https://github.com/echasnovski/mini.surround/archive/5aab42fcdcf31fa010f012771eda5631c077840a.tar.gz", + "hash": "0hsy7ngqz17a663k4gkj9ambbcn24jvqx7010aiv8g4b0gbmzhky" }, "mini-tabline": { "type": "Git", @@ -1353,9 +1353,9 @@ }, "branch": "main", "submodules": false, - "revision": "46108e2d32b0ec8643ee46df14badedb33f3defe", - "url": "https://github.com/echasnovski/mini.tabline/archive/46108e2d32b0ec8643ee46df14badedb33f3defe.tar.gz", - "hash": "19n37b89dxssx3p3lzr9l7pxmbdh0k2mb14ankpq3cy0ax3mi79c" + "revision": "fc00d47c6f00eeef8ee05694e59021afb4ae0e0e", + "url": "https://github.com/echasnovski/mini.tabline/archive/fc00d47c6f00eeef8ee05694e59021afb4ae0e0e.tar.gz", + "hash": "1h33s1fzl2wy24pkik0ybjj541srybyjw3zyvpylfm93cjabgbf0" }, "mini-test": { "type": "Git", @@ -1366,9 +1366,9 @@ }, "branch": "main", "submodules": false, - "revision": "5db2659a3bcda7890d3416cfbe49eb9c36824675", - "url": "https://github.com/echasnovski/mini.test/archive/5db2659a3bcda7890d3416cfbe49eb9c36824675.tar.gz", - "hash": "173wj06k5g8k6ah2aw4azlgwmq7jmin5jkqkkpr9z1lviagrdss7" + "revision": "4c70379d07ea44f697d96c7a6f04c79f17b34bb3", + "url": "https://github.com/echasnovski/mini.test/archive/4c70379d07ea44f697d96c7a6f04c79f17b34bb3.tar.gz", + "hash": "0si92d4jc7lmzj2mppz0vcmgqgsbgy64fl4bj8jwdl7z78bhpjwk" }, "mini-trailspace": { "type": "Git", @@ -1379,9 +1379,9 @@ }, "branch": "main", "submodules": false, - "revision": "9bbbf568c06fe424dc21d2c228fa76098008a5f3", - "url": "https://github.com/echasnovski/mini.trailspace/archive/9bbbf568c06fe424dc21d2c228fa76098008a5f3.tar.gz", - "hash": "1ihd8fbs5imnp5xcllcj6fgpx0y4vclrkfz802q9fl7fqh00dcay" + "revision": "39a0460c025a605519fdd6bea1ce870642429996", + "url": "https://github.com/echasnovski/mini.trailspace/archive/39a0460c025a605519fdd6bea1ce870642429996.tar.gz", + "hash": "1d95vcxm7fhav8gz9n8m36q3hkxi6j1p0f6y35qnps1x7yz1wyfg" }, "mini-visits": { "type": "Git", @@ -1392,9 +1392,9 @@ }, "branch": "main", "submodules": false, - "revision": "46e7a4074032d0340308c3379bc3650626c85da8", - "url": "https://github.com/echasnovski/mini.visits/archive/46e7a4074032d0340308c3379bc3650626c85da8.tar.gz", - "hash": "1776i3xn9dpccjjamy5ys5acc3nxd3zph4a77sbw2dipfd8zpasi" + "revision": "c0a3b02f5d82080a2aa6cd9185ff16944ce2451a", + "url": "https://github.com/echasnovski/mini.visits/archive/c0a3b02f5d82080a2aa6cd9185ff16944ce2451a.tar.gz", + "hash": "02wr34zzd5x6zn4iwhbv5g4shibpvb8536hr5lk0aw7i55aqg5x8" }, "minimap-vim": { "type": "Git", @@ -1486,9 +1486,9 @@ }, "branch": "main", "submodules": false, - "revision": "79ffd346ca19af49197d9c1b45d0b902c32c3e14", - "url": "https://github.com/nvim-neorg/neorg/archive/79ffd346ca19af49197d9c1b45d0b902c32c3e14.tar.gz", - "hash": "0czkcdfh0l8j80kaz2zpdyb424xa28c35jybkdigwj1fgi0afnzd" + "revision": "a1e19618c012a712c5ed7cd5ebd01b48ad9f4b5b", + "url": "https://github.com/nvim-neorg/neorg/archive/a1e19618c012a712c5ed7cd5ebd01b48ad9f4b5b.tar.gz", + "hash": "1lp1chm788rnzqjndw64rnjn299889fx66lm01lvfgail0509dw0" }, "neorg-telescope": { "type": "Git", @@ -1603,9 +1603,9 @@ }, "branch": "master", "submodules": false, - "revision": "6522027785b305269fa17088395dfc0f456cedd2", - "url": "https://github.com/windwp/nvim-autopairs/archive/6522027785b305269fa17088395dfc0f456cedd2.tar.gz", - "hash": "1i63wdgm54n3iiiix0y18mjvy2rsswc4iybqppsfpvi8cg2xjpa6" + "revision": "84a81a7d1f28b381b32acf1e8fe5ff5bef4f7968", + "url": "https://github.com/windwp/nvim-autopairs/archive/84a81a7d1f28b381b32acf1e8fe5ff5bef4f7968.tar.gz", + "hash": "07w8shkvmhxn7gpx4zac34r0xb7qqs2z2m6hk9y7ccr6w2dczpxy" }, "nvim-bufferline-lua": { "type": "Git", @@ -1629,9 +1629,9 @@ }, "branch": "main", "submodules": false, - "revision": "1e1900b0769324a9675ef85b38f99cca29e203b3", - "url": "https://github.com/hrsh7th/nvim-cmp/archive/1e1900b0769324a9675ef85b38f99cca29e203b3.tar.gz", - "hash": "1yqg4gnzmlm9h5rcmzv7msjmqna0ffn7gllf5knfkps5ns0ynpyf" + "revision": "059e89495b3ec09395262f16b1ad441a38081d04", + "url": "https://github.com/hrsh7th/nvim-cmp/archive/059e89495b3ec09395262f16b1ad441a38081d04.tar.gz", + "hash": "0yfxjkascn45svvzx727kz20bm6lkflkx4jc8nrx3rxv0j39wbb0" }, "nvim-colorizer-lua": { "type": "Git", @@ -1733,9 +1733,9 @@ }, "branch": "master", "submodules": false, - "revision": "93b8040115c9114dac1047311763bef275e752dc", - "url": "https://github.com/mfussenegger/nvim-lint/archive/93b8040115c9114dac1047311763bef275e752dc.tar.gz", - "hash": "1115rn9npzj2xdj2zr1ayhfy76281zv0avbiyi5vgnvfg7064jmq" + "revision": "810f2f06611677c965e54636a27fd176a795a4d2", + "url": "https://github.com/mfussenegger/nvim-lint/archive/810f2f06611677c965e54636a27fd176a795a4d2.tar.gz", + "hash": "0d0ilcwp8v6mci9s1hwn9qvwp1marrq2cgidry4p2ylp7qps96nk" }, "nvim-lspconfig": { "type": "Git", @@ -1746,9 +1746,9 @@ }, "branch": "master", "submodules": false, - "revision": "a785eb7ad5adf9341f5e9fc8bc3b25af4fdc9385", - "url": "https://github.com/neovim/nvim-lspconfig/archive/a785eb7ad5adf9341f5e9fc8bc3b25af4fdc9385.tar.gz", - "hash": "02bc6g1dq54hmg481dd2vywx1pirklymsq36dlwzg77qr2hr6701" + "revision": "40f120c10ea4b87311175539a183c3b75eab95a3", + "url": "https://github.com/neovim/nvim-lspconfig/archive/40f120c10ea4b87311175539a183c3b75eab95a3.tar.gz", + "hash": "0fiqibnfqyrfa5mma7yz2xb19y9wkvsa6a6yjylk8zfair8yb5j0" }, "nvim-metals": { "type": "Git", @@ -1759,9 +1759,9 @@ }, "branch": "main", "submodules": false, - "revision": "f763b65fd71cb17d544753194fd91090e611c6e0", - "url": "https://github.com/scalameta/nvim-metals/archive/f763b65fd71cb17d544753194fd91090e611c6e0.tar.gz", - "hash": "0ayn8npywhr9j1rlhvq5kij0s3751hh89fd5qqp1iqjqr9mg4ns8" + "revision": "4610aceb97fbcf2b050220ee5f83527e5c1699c5", + "url": "https://github.com/scalameta/nvim-metals/archive/4610aceb97fbcf2b050220ee5f83527e5c1699c5.tar.gz", + "hash": "082skbc8iml0fnfvy1w2f552bkpmj1czc436mk2nzh73bxi5wh91" }, "nvim-navbuddy": { "type": "Git", @@ -1902,9 +1902,9 @@ }, "branch": "main", "submodules": false, - "revision": "5b75cf5fdb74054fc8badb2e7ca9911dc0470d94", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/5b75cf5fdb74054fc8badb2e7ca9911dc0470d94.tar.gz", - "hash": "0arbnim2lchd4khrr06f5n0vsj29ahrs7v277j9vmnkmrfpjzvhb" + "revision": "5b5435cd510f6520676ab609bdbf477e6beb6029", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/5b5435cd510f6520676ab609bdbf477e6beb6029.tar.gz", + "hash": "0qmq63hw6gljsai080gi6bbay2jnxpicrdlwigay5kd34jldxbj4" }, "nvim-web-devicons": { "type": "Git", @@ -1941,9 +1941,9 @@ }, "branch": "master", "submodules": false, - "revision": "ab887d926c2665a708fbe9e6c4654042cc5f4c60", - "url": "https://github.com/stevearc/oil.nvim/archive/ab887d926c2665a708fbe9e6c4654042cc5f4c60.tar.gz", - "hash": "13jp8i11yhl9xjki3pcyr1q1gzskskm2fgb3slrwfphn586jb5i6" + "revision": "302bbaceeafc690e6419e0c8296e804d60cb9446", + "url": "https://github.com/stevearc/oil.nvim/archive/302bbaceeafc690e6419e0c8296e804d60cb9446.tar.gz", + "hash": "155v10myfpahyf9hf2x3dmp8ljjqavmqg1958x255i9l5swqcp5g" }, "omnisharp-extended-lsp-nvim": { "type": "Git", @@ -1980,9 +1980,9 @@ }, "branch": "master", "submodules": false, - "revision": "145dce4d2f1bbaed5ff9e353822981b783627b32", - "url": "https://github.com/nvim-orgmode/orgmode/archive/145dce4d2f1bbaed5ff9e353822981b783627b32.tar.gz", - "hash": "0vy5wx8kwf0k7sx27cy6lcqvni5njq1nhcj2yxk8xkdn61wk7gyi" + "revision": "2929054293953e486a25c9768095455987ba391b", + "url": "https://github.com/nvim-orgmode/orgmode/archive/2929054293953e486a25c9768095455987ba391b.tar.gz", + "hash": "08x9yx6iblscfj273adzvhj8xv72i8kd89bf1yd93n80lkdmizyf" }, "otter-nvim": { "type": "Git", @@ -2045,9 +2045,9 @@ }, "branch": "main", "submodules": false, - "revision": "4223fb903cbafc3bd8a87a314dac375bbd1c01ce", - "url": "https://github.com/tris203/precognition.nvim/archive/4223fb903cbafc3bd8a87a314dac375bbd1c01ce.tar.gz", - "hash": "11ng6p0xmrjky5xr9jdkrrav7is9r090qhs2fsnbg16124bgb0g5" + "revision": "80ac0a99064eba71894dd164e891cc5d7e05827e", + "url": "https://github.com/tris203/precognition.nvim/archive/80ac0a99064eba71894dd164e891cc5d7e05827e.tar.gz", + "hash": "1v1knpvd3wxvixmfyzrjwg9r7xbixg53n4dvvk7r8d05y5cgbzmc" }, "project-nvim": { "type": "Git", @@ -2110,9 +2110,9 @@ }, "branch": "main", "submodules": false, - "revision": "6b66c32364cd3e6101d37fd71ba4c6fbb2eddfda", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/6b66c32364cd3e6101d37fd71ba4c6fbb2eddfda.tar.gz", - "hash": "0hlsxh1bjfmzb4vh87631nbi0xl1svs9qdkb3id6ybks8n4qb9jw" + "revision": "d2285137fa4fbc0b4152cb444008166962b727b5", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/d2285137fa4fbc0b4152cb444008166962b727b5.tar.gz", + "hash": "01mawxqfrn2sf6f6ngcsp9cv7p4w43dx3zr6n635gg1s6wsi59bj" }, "rose-pine": { "type": "Git", @@ -2123,9 +2123,9 @@ }, "branch": "main", "submodules": false, - "revision": "7d1b5c7dcd274921f0f58e90a8bf935f6a95fbf3", - "url": "https://github.com/rose-pine/neovim/archive/7d1b5c7dcd274921f0f58e90a8bf935f6a95fbf3.tar.gz", - "hash": "0iy9is76bhgb17v0l7mr95mkhd9b4ah917v9shx74jp1xsgc481q" + "revision": "96ff3993a67356ee85d1cdab9be652cdc1c5d1ac", + "url": "https://github.com/rose-pine/neovim/archive/96ff3993a67356ee85d1cdab9be652cdc1c5d1ac.tar.gz", + "hash": "0p712rivi5i3zlrigm86p8vrn1nvg4qils86snlw717cq3scj9gj" }, "rtp-nvim": { "type": "Git", @@ -2162,9 +2162,9 @@ }, "branch": "master", "submodules": false, - "revision": "1486b5a2cc0de646d6d0837ec77127c9d6e2c50f", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/1486b5a2cc0de646d6d0837ec77127c9d6e2c50f.tar.gz", - "hash": "1gl4i8pbmia78srxcsi131vxby5d8w9mn0ydzl3r0v7pawyvwr9q" + "revision": "0f7e844e3d82703ae8fe82b6d3ab40041b3cd9f8", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/0f7e844e3d82703ae8fe82b6d3ab40041b3cd9f8.tar.gz", + "hash": "0z7q7gp2fa6fmpndnn9043wihvbv04h60vpikq84yfa4yvwz282g" }, "smartcolumn-nvim": { "type": "Git", @@ -2425,9 +2425,9 @@ }, "branch": "main", "submodules": false, - "revision": "a21a0b4f593e1fb17b17882f1ab3a3c1b943b831", - "url": "https://github.com/gbprod/yanky.nvim/archive/a21a0b4f593e1fb17b17882f1ab3a3c1b943b831.tar.gz", - "hash": "1sk3acrwwmx9wfxnfymgvl88bnp0xh8a30pyx040czrj3zl5l920" + "revision": "98b9c21d3c06d79f68fd9d471dcc28fc6d2d72ef", + "url": "https://github.com/gbprod/yanky.nvim/archive/98b9c21d3c06d79f68fd9d471dcc28fc6d2d72ef.tar.gz", + "hash": "1bdplxlhsc72kmbzmi7x4p378f3dyjdm3ncikkjs3qwxkvjl1bxw" } }, "version": 5 From 94b58381755b0329e2aa29f0766d4553c84e0aed Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Thu, 3 Apr 2025 06:27:59 -0700 Subject: [PATCH 013/271] lsp/lsp-aga: add catppuccin integration (#779) Co-authored-by: raf --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/lsp/lspsaga/lspsaga.nix | 29 ++++++++++++++++------ modules/plugins/theme/supported-themes.nix | 25 ++++++++++--------- 3 files changed, 36 insertions(+), 19 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 368df9f5..48d9e05f 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -292,6 +292,7 @@ - Add lint (luacheck) and formatting (stylua) support for Lua. - Add lint (markdownlint-cli2) support for Markdown. +- Add catppuccin integration for Lspsaga. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/lsp/lspsaga/lspsaga.nix b/modules/plugins/lsp/lspsaga/lspsaga.nix index 39ce6298..570cee1a 100644 --- a/modules/plugins/lsp/lspsaga/lspsaga.nix +++ b/modules/plugins/lsp/lspsaga/lspsaga.nix @@ -6,6 +6,19 @@ inherit (lib.modules) mkRemovedOptionModule; inherit (lib.options) mkOption mkEnableOption; inherit (lib.nvim.types) borderType mkPluginSetupOption; + inherit (lib.nvim.lua) mkLuaInline; + + uiKindSetupOpts = + if config.vim.theme.enable && config.vim.theme.name == "catppuccin" + then { + ui.kind = + mkLuaInline + # lua + '' + require("catppuccin.groups.integrations.lsp_saga").custom_kind() + ''; + } + else {}; in { imports = [ (mkRemovedOptionModule ["vim" "lsp" "lspsaga" "mappings"] '' @@ -21,12 +34,14 @@ in { options.vim.lsp.lspsaga = { enable = mkEnableOption "LSP Saga"; - setupOpts = mkPluginSetupOption "lspsaga" { - border_style = mkOption { - type = borderType; - default = config.vim.ui.borders.globalStyle; - description = "Border type, see {command}`:help nvim_open_win`"; - }; - }; + setupOpts = + mkPluginSetupOption "lspsaga" { + border_style = mkOption { + type = borderType; + default = config.vim.ui.borders.globalStyle; + description = "Border type, see {command}`:help nvim_open_win`"; + }; + } + // uiKindSetupOpts; }; } diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index 0b5cb90b..2b427871 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -66,21 +66,22 @@ in { transparent_background = ${boolToString transparent}, term_colors = true, integrations = { - nvimtree = { - enabled = true, - transparent_panel = ${boolToString transparent}, - show_root = true, - }, + nvimtree = { + enabled = true, + transparent_panel = ${boolToString transparent}, + show_root = true, + }, hop = true, - gitsigns = true, - telescope = true, - treesitter = true, + gitsigns = true, + telescope = true, + treesitter = true, treesitter_context = true, - ts_rainbow = true, + ts_rainbow = true, fidget = true, alpha = true, leap = true, + lsp_saga = true, markdown = true, noice = true, notify = true, -- nvim-notify @@ -106,9 +107,9 @@ in { style' = warnIf (style == "light") "oxocarbon: light theme is not well-supported" style; in '' - require('oxocarbon') - vim.opt.background = "${style'}" - vim.cmd.colorscheme = "oxocarbon" + require('oxocarbon') + vim.opt.background = "${style'}" + vim.cmd.colorscheme = "oxocarbon" ${optionalString transparent '' vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) From 45b4f0b31931f14e01eec8522067b75b09d476c5 Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Fri, 4 Apr 2025 01:13:09 +0000 Subject: [PATCH 014/271] tabline/bufferline: add catppuccin integration --- docs/release-notes/rl-0.8.md | 2 +- .../plugins/tabline/nvim-bufferline/config.nix | 2 +- .../tabline/nvim-bufferline/nvim-bufferline.nix | 15 +++++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 48d9e05f..49bf4eb9 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -292,7 +292,7 @@ - Add lint (luacheck) and formatting (stylua) support for Lua. - Add lint (markdownlint-cli2) support for Markdown. -- Add catppuccin integration for Lspsaga. +- Add catppuccin integration for Bufferline, Lspsaga. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/tabline/nvim-bufferline/config.nix b/modules/plugins/tabline/nvim-bufferline/config.nix index 4989e991..965f81f0 100644 --- a/modules/plugins/tabline/nvim-bufferline/config.nix +++ b/modules/plugins/tabline/nvim-bufferline/config.nix @@ -9,7 +9,7 @@ inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.tabline.nvimBufferline; - self = import ./nvim-bufferline.nix {inherit lib;}; + self = import ./nvim-bufferline.nix {inherit config lib;}; inherit (self.options.vim.tabline.nvimBufferline) mappings; in { config = mkIf cfg.enable { diff --git a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix index dc32226e..5a4f1ff0 100644 --- a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix +++ b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix @@ -1,4 +1,8 @@ -{lib, ...}: let +{ + config, + lib, + ... +}: let inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.types) enum bool either nullOr str int listOf attrs; inherit (lib.generators) mkLuaInline; @@ -23,7 +27,14 @@ in { setupOpts = mkPluginSetupOption "Bufferline-nvim" { highlights = mkOption { type = either attrs luaInline; - default = {}; + default = + if config.vim.theme.enable && config.vim.theme.name == "catppuccin" + then + mkLuaInline + '' + require("catppuccin.groups.integrations.bufferline").get() + '' + else {}; description = '' Overrides the highlight groups of bufferline. From 68346ebedea3f33ca93cf9b77ca69562660faf2d Mon Sep 17 00:00:00 2001 From: rafiq Date: Fri, 4 Apr 2025 19:17:11 +0800 Subject: [PATCH 015/271] Merge pull request #787 from rrvsh/fix/pylsp-pkgs languages/python get python-lsp-server python3Packages --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/languages/python.nix | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 49bf4eb9..e8239681 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -308,3 +308,7 @@ - Fix oil config referencing snacks - Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim` + +[rrvsh](https://github.com/rrvsh): + +- Fix namespace of python-lsp-server by changing it to python3Packages diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index ccb15f7c..476b56ef 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -47,7 +47,7 @@ }; python-lsp-server = { - package = pkgs.python-lsp-server; + package = pkgs.python3Packages.python-lsp-server; lspConfig = '' lspconfig.pylsp.setup{ capabilities = capabilities; From c5bc6d503ef595745f77e2d9c550651c198879ac Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 4 Apr 2025 09:52:23 +0300 Subject: [PATCH 016/271] neovim/diagnostics: init module --- docs/release-notes/rl-0.8.md | 8 ++- modules/neovim/init/default.nix | 1 + modules/neovim/init/diagnostics.nix | 102 ++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+), 2 deletions(-) create mode 100644 modules/neovim/init/diagnostics.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 368df9f5..49da794b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -87,6 +87,10 @@ - Add [oil.nvim] as an alternative file explorer. It will be available under `vim.utility.oil-nvim`. +- Add `vim.diagnostics` to interact with Neovim's diagnostics module. Available + options for `vim.diagnostic.config()` can now be customized through the + [](#opt-vim.diagnostics.config) in nvf. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim @@ -253,8 +257,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/neovim/init/default.nix b/modules/neovim/init/default.nix index ac9d29e5..0e7a4c6b 100644 --- a/modules/neovim/init/default.nix +++ b/modules/neovim/init/default.nix @@ -3,6 +3,7 @@ ./autocmds.nix ./basic.nix ./debug.nix + ./diagnostics.nix ./highlight.nix ./spellcheck.nix ]; diff --git a/modules/neovim/init/diagnostics.nix b/modules/neovim/init/diagnostics.nix new file mode 100644 index 00000000..26ca6e84 --- /dev/null +++ b/modules/neovim/init/diagnostics.nix @@ -0,0 +1,102 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.options) mkOption mkEnableOption literalExpression; + inherit (lib.types) attrsOf anything oneOf bool submodule; + inherit (lib.nvim.dag) entryAfter; + inherit (lib.nvim.types) luaInline; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.diagnostics; + + diagnosticType = oneOf [(attrsOf anything) bool luaInline]; + diagnosticsSubmodule = submodule { + freeformType = attrsOf diagnosticType; + underline = mkOption { + type = diagnosticType; + default = true; + description = "Use underline for diagnostics."; + }; + + virtual_text = mkOption { + type = diagnosticType; + default = false; + example = literalExpression '' + { + format = lib.generators.mkLuaInline ''' + function(diagnostic) + return string.format("%s (%s)", diagnostic.message, diagnostic.source) + end + '''; + } + ''; + + description = '' + Use virtual text for diagnostics. If multiple diagnostics are set for a namespace, + one prefix per diagnostic + the last diagnostic message are shown. + ''; + }; + + virtual_lines = mkOption { + type = diagnosticType; + default = false; + description = '' + Use virtual lines for diagnostics. + ''; + }; + + signs = mkOption { + type = diagnosticType; + default = false; + example = { + signs.text = { + "vim.diagnostic.severity.ERROR" = "󰅚 "; + "vim.diagnostic.severity.WARN" = "󰀪 "; + }; + }; + description = '' + Use signs for diagnostics. See {command}`:help diagnostic-signs`. + ''; + }; + + update_in_insert = mkOption { + type = bool; + default = false; + description = '' + Update diagnostics in Insert mode. If `false`, diagnostics will + be updated on InsertLeave ({command}`:help InsertLeave`). + ''; + }; + }; +in { + options.vim = { + diagnostics = { + enable = mkEnableOption "diagostics module for Neovim"; + config = mkOption { + type = diagnosticsSubmodule; + default = {}; + description = '' + Values that will be passed to `vim.diagnostic.config` after being converted + to a Lua table. Possible values for each key can be found in the help text + for `vim.diagnostics.Opts`. You may find more about the diagnostics API of + Neovim in {command}`:help diagnostic-api`. + + :::{.note} + This option is freeform. You may set values that are not present in nvf + documentation, but those values will not be fully type checked. Please + refer to the help text for `vim.diagnostic.Opts` for appropriate values. + ::: + ''; + }; + }; + }; + + config.vim = mkIf cfg.enable { + luaConfigRC.diagnostics = entryAfter ["basic"] '' + vim.diagnostic.config(${toLuaObject cfg.config}) + ''; + }; +} From 335a878a8f89604d7f6bb39d80874c2e227f1d5d Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 4 Apr 2025 10:17:31 +0300 Subject: [PATCH 017/271] lsp: deprecate lsplines in favor of `vim.diagnostics` --- configuration.nix | 1 - modules/extra/deprecations.nix | 7 +++++++ modules/plugins/lsp/default.nix | 1 - modules/plugins/lsp/lsplines/config.nix | 21 --------------------- modules/plugins/lsp/lsplines/default.nix | 6 ------ modules/plugins/lsp/lsplines/lsplines.nix | 11 ----------- 6 files changed, 7 insertions(+), 40 deletions(-) delete mode 100644 modules/plugins/lsp/lsplines/config.nix delete mode 100644 modules/plugins/lsp/lsplines/default.nix delete mode 100644 modules/plugins/lsp/lsplines/lsplines.nix diff --git a/configuration.nix b/configuration.nix index 78dad9c7..011d6fae 100644 --- a/configuration.nix +++ b/configuration.nix @@ -25,7 +25,6 @@ isMaximal: { trouble.enable = true; lspSignature.enable = true; otter-nvim.enable = isMaximal; - lsplines.enable = isMaximal; nvim-docs-view.enable = isMaximal; }; diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index 5efe2ae2..86497130 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -104,6 +104,13 @@ in { their behaviour was abstract, and confusing. Please use 'vim.options' or 'vim.luaConfigRC' to replicate previous behaviour. '') + + # 2025-04-04 + (mkRemovedOptionModule ["vim" "lsp" "lsplines"] '' + lsplines module has been removed from nvf, as its functionality is now built into Neovim + under the diagnostics module. Please consider using one of 'vim.diagnostics.config' or + 'vim.luaConfigRC' to configure LSP lines for Neovim through its own diagnostics API. + '') ] # Migrated via batchRenameOptions. Further batch renames must be below this line. diff --git a/modules/plugins/lsp/default.nix b/modules/plugins/lsp/default.nix index 421f5fda..eb694583 100644 --- a/modules/plugins/lsp/default.nix +++ b/modules/plugins/lsp/default.nix @@ -15,7 +15,6 @@ ./lightbulb ./otter ./lspkind - ./lsplines ./nvim-docs-view ]; } diff --git a/modules/plugins/lsp/lsplines/config.nix b/modules/plugins/lsp/lsplines/config.nix deleted file mode 100644 index bb07edc9..00000000 --- a/modules/plugins/lsp/lsplines/config.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - config, - lib, - ... -}: let - inherit (lib.modules) mkIf; - inherit (lib.nvim.dag) entryAfter; - - cfg = config.vim.lsp; -in { - config = mkIf (cfg.enable && cfg.lsplines.enable) { - vim.startPlugins = ["lsp-lines"]; - vim.pluginRC.lsplines = entryAfter ["lspconfig"] '' - require("lsp_lines").setup() - - vim.diagnostic.config({ - virtual_text = false, - }) - ''; - }; -} diff --git a/modules/plugins/lsp/lsplines/default.nix b/modules/plugins/lsp/lsplines/default.nix deleted file mode 100644 index 359cec4f..00000000 --- a/modules/plugins/lsp/lsplines/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ./config.nix - ./lsplines.nix - ]; -} diff --git a/modules/plugins/lsp/lsplines/lsplines.nix b/modules/plugins/lsp/lsplines/lsplines.nix deleted file mode 100644 index aac4cbbc..00000000 --- a/modules/plugins/lsp/lsplines/lsplines.nix +++ /dev/null @@ -1,11 +0,0 @@ -{lib, ...}: let - inherit (lib.options) mkEnableOption; -in { - options.vim.lsp = { - lsplines = { - enable = mkEnableOption '' - diagnostics using virtual lines on top of the real line of code. [lsp_lines] - ''; - }; - }; -} From 37397706d67933baa9c6768a8d97158b1551574e Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Fri, 4 Apr 2025 12:18:59 +0000 Subject: [PATCH 018/271] tabline/bufferline: add neo-tree integration --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e8239681..2934a94b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -293,6 +293,7 @@ - Add lint (luacheck) and formatting (stylua) support for Lua. - Add lint (markdownlint-cli2) support for Markdown. - Add catppuccin integration for Bufferline, Lspsaga. +- Add neo-tree integration for Bufferline. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix index 5a4f1ff0..997c9ba3 100644 --- a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix +++ b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix @@ -279,6 +279,12 @@ in { highlight = "Directory"; separator = true; } + { + filetype = "neo-tree"; + text = "File Explorer"; + highlight = "Directory"; + separator = true; + } ]; description = "The windows to offset bufferline above, see `:help bufferline-offset`"; }; From 072f7599ae68bd3c75eb36f8f23da79829f660b9 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 4 Apr 2025 16:45:05 +0300 Subject: [PATCH 019/271] treesitter: mention builtGrammars in grammars option --- modules/plugins/treesitter/treesitter.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/plugins/treesitter/treesitter.nix b/modules/plugins/treesitter/treesitter.nix index 322d2eb0..d88cc1a9 100644 --- a/modules/plugins/treesitter/treesitter.nix +++ b/modules/plugins/treesitter/treesitter.nix @@ -24,12 +24,19 @@ in { grammars = mkOption { type = listOf package; default = []; + example = literalExpression '' + pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + regex + kdl + ]; + ''; description = '' - List of treesitter grammars to install. + List of treesitter grammars to install. For grammars to be installed properly, + you must use grammars from `pkgs.vimPlugins.nvim-treesitter.builtGrammars`. - For languages already supported by nvf, you may - use the {option}`vim.language..treesitter` options, which - will automatically add the required grammars to this. + For languages already supported by nvf, you may use + {option}`vim.language..treesitter` options, which will automatically add + the required grammars to this. ''; }; From efd67cd82f834f211e0099ac2a79b3dd015546d1 Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Fri, 4 Apr 2025 16:26:18 +0000 Subject: [PATCH 020/271] ui/illuminate: add more applicable filetypes to denylist --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/ui/illuminate/illuminate.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 2934a94b..3642df7b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -294,6 +294,7 @@ - Add lint (markdownlint-cli2) support for Markdown. - Add catppuccin integration for Bufferline, Lspsaga. - Add neo-tree integration for Bufferline. +- Add more applicable filetypes to illuminate denylist. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/ui/illuminate/illuminate.nix b/modules/plugins/ui/illuminate/illuminate.nix index b910101f..4096e73c 100644 --- a/modules/plugins/ui/illuminate/illuminate.nix +++ b/modules/plugins/ui/illuminate/illuminate.nix @@ -11,7 +11,7 @@ in { setupOpts = mkPluginSetupOption "vim-illuminate" { filetypes_denylist = mkOption { type = listOf str; - default = ["dirvish" "fugitive" "NvimTree" "TelescopePrompt"]; + default = ["dirvish" "fugitive" "help" "neo-tree" "notify" "NvimTree" "TelescopePrompt"]; description = "Filetypes to not illuminate, this overrides `filetypes_allowlist`"; }; }; From 19339ac3cd1b5c47a1f6729ceb8c50bfb02dcdca Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Fri, 4 Apr 2025 17:41:44 +0000 Subject: [PATCH 021/271] mini/indentscope: add autocmd to disable indentscope in applicable filetypes --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/mini/indentscope/config.nix | 16 ++++++++++++++++ .../plugins/mini/indentscope/indentscope.nix | 17 ++++++++++------- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 3642df7b..8d5562c4 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -295,6 +295,7 @@ - Add catppuccin integration for Bufferline, Lspsaga. - Add neo-tree integration for Bufferline. - Add more applicable filetypes to illuminate denylist. +- Disable mini.indentscope for applicable filetypes. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/mini/indentscope/config.nix b/modules/plugins/mini/indentscope/config.nix index 2e6ec03d..a6fd16d7 100644 --- a/modules/plugins/mini/indentscope/config.nix +++ b/modules/plugins/mini/indentscope/config.nix @@ -3,6 +3,7 @@ lib, ... }: let + inherit (lib.generators) mkLuaInline; inherit (lib.modules) mkIf; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.lua) toLuaObject; @@ -10,6 +11,21 @@ cfg = config.vim.mini.indentscope; in { vim = mkIf cfg.enable { + autocmds = [ + { + callback = mkLuaInline '' + function() + local ignore_filetypes = ${toLuaObject cfg.setupOpts.ignore_filetypes} + if vim.tbl_contains(ignore_filetypes, vim.bo.filetype) then + vim.b.miniindentscope_disable = true + end + end + ''; + desc = "Disable indentscope for certain filetypes"; + event = ["FileType"]; + } + ]; + startPlugins = ["mini-indentscope"]; pluginRC.mini-indentscope = entryAnywhere '' diff --git a/modules/plugins/mini/indentscope/indentscope.nix b/modules/plugins/mini/indentscope/indentscope.nix index 6feffaee..6a2224c8 100644 --- a/modules/plugins/mini/indentscope/indentscope.nix +++ b/modules/plugins/mini/indentscope/indentscope.nix @@ -1,13 +1,16 @@ -{ - config, - lib, - ... -}: let - inherit (lib.options) mkEnableOption; +{lib, ...}: let + inherit (lib.options) mkOption mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.types) str listOf; in { options.vim.mini.indentscope = { enable = mkEnableOption "mini.indentscope"; - setupOpts = mkPluginSetupOption "mini.indentscope" {}; + setupOpts = mkPluginSetupOption "mini.indentscope" { + ignore_filetypes = mkOption { + type = listOf str; + default = ["help" "neo-tree" "notify" "NvimTree" "TelescopePrompt"]; + description = "File types to ignore for illuminate"; + }; + }; }; } From 1a04f40e89365732ad0a1cd255b7b4a333943d69 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 5 Apr 2025 03:54:01 +0300 Subject: [PATCH 022/271] pins: remove lsp-lines --- npins/sources.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 86fa0f6b..140b3b24 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -747,18 +747,6 @@ "url": "https://github.com/kawre/leetcode.nvim/archive/db7e1cd6b9191b34b4c1f2f96e4e3949cde9f951.tar.gz", "hash": "1d3lb7625b2qdzqm74mzrac66rxqc0qgjd3mb37l4v8wqyiyv6pp" }, - "lsp-lines": { - "type": "Git", - "repository": { - "type": "Git", - "url": "https://git.sr.ht/~whynothugo/lsp_lines.nvim" - }, - "branch": "main", - "submodules": false, - "revision": "a92c755f182b89ea91bd8a6a2227208026f27b4d", - "url": null, - "hash": "14ym4d8vgvw2vhsaxik8612wyvszd895q69n9h100yd7x5jqhy4c" - }, "lsp-signature-nvim": { "type": "Git", "repository": { From a1fbdf49fdc97b615030bde532bff19632c49403 Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Sat, 5 Apr 2025 01:32:58 +0000 Subject: [PATCH 023/271] lsp: add inlayHints support --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/lsp/config.nix | 20 ++++++++++++++++++++ modules/plugins/lsp/module.nix | 3 +++ 3 files changed, 24 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a245b006..8b87ae99 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -300,6 +300,7 @@ - Add neo-tree integration for Bufferline. - Add more applicable filetypes to illuminate denylist. - Disable mini.indentscope for applicable filetypes. +- Enable inlay hints support - `config.vim.lsp.inlayHints`. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/lsp/config.nix b/modules/plugins/lsp/config.nix index 0fa16e47..3702ac5f 100644 --- a/modules/plugins/lsp/config.nix +++ b/modules/plugins/lsp/config.nix @@ -4,6 +4,7 @@ pkgs, ... }: let + inherit (lib.generators) mkLuaInline; inherit (lib.modules) mkIf; inherit (lib.strings) optionalString; inherit (lib.trivial) boolToString; @@ -28,6 +29,25 @@ in { sourcePlugins = ["cmp-nvim-lsp"]; }; + autocmds = + if cfg.inlayHints.enable + then [ + { + callback = mkLuaInline '' + function(event) + local bufnr = event.buf + local client = vim.lsp.get_client_by_id(event.data.client_id) + if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then + vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = bufnr }), { bufnr = bufnr }) + end + end + ''; + desc = "LSP on-attach enable inlay hints autocmd"; + event = ["LspAttach"]; + } + ] + else []; + pluginRC.lsp-setup = '' vim.g.formatsave = ${boolToString cfg.formatOnSave}; diff --git a/modules/plugins/lsp/module.nix b/modules/plugins/lsp/module.nix index b16f9c13..f408d873 100644 --- a/modules/plugins/lsp/module.nix +++ b/modules/plugins/lsp/module.nix @@ -5,6 +5,9 @@ in { options.vim.lsp = { enable = mkEnableOption "LSP, also enabled automatically through null-ls and lspconfig options"; formatOnSave = mkEnableOption "format on save"; + inlayHints = { + enable = mkEnableOption "inlay hints"; + }; mappings = { goToDefinition = mkMappingOption "Go to definition" From 95c0cc3bb07ec294101562f5300ab0f5cbae1258 Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Sat, 5 Apr 2025 02:00:02 +0000 Subject: [PATCH 024/271] utility/fzf-lua: remove hard dependency on fzf --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/utility/fzf-lua/fzf-lua.nix | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a245b006..1f36e37b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -300,6 +300,7 @@ - Add neo-tree integration for Bufferline. - Add more applicable filetypes to illuminate denylist. - Disable mini.indentscope for applicable filetypes. +- Fix fzf-lua having a hard dependency on fzf. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/utility/fzf-lua/fzf-lua.nix b/modules/plugins/utility/fzf-lua/fzf-lua.nix index c700add7..dbdf320f 100644 --- a/modules/plugins/utility/fzf-lua/fzf-lua.nix +++ b/modules/plugins/utility/fzf-lua/fzf-lua.nix @@ -1,15 +1,21 @@ { config, lib, + pkgs, ... }: let - inherit (lib.types) nullOr enum; + inherit (lib.types) enum package; inherit (lib.options) mkEnableOption mkOption; inherit (lib.nvim.types) mkPluginSetupOption borderType; in { options.vim.fzf-lua = { enable = mkEnableOption "fzf-lua"; setupOpts = mkPluginSetupOption "fzf-lua" { + fzf_bin = mkOption { + type = package; + default = "${lib.getExe pkgs.fzf}"; + description = "fzf package to use"; + }; winopts.border = mkOption { type = borderType; default = config.vim.ui.borders.globalStyle; From e2b3daa6f839ce246978cd6607e88d01d8f3ecd3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 5 Apr 2025 06:21:50 +0300 Subject: [PATCH 025/271] neovim/diagnostic: fix missin submodule opts --- modules/neovim/init/diagnostics.nix | 111 +++++++++++++++------------- 1 file changed, 59 insertions(+), 52 deletions(-) diff --git a/modules/neovim/init/diagnostics.nix b/modules/neovim/init/diagnostics.nix index 26ca6e84..18717edf 100644 --- a/modules/neovim/init/diagnostics.nix +++ b/modules/neovim/init/diagnostics.nix @@ -12,63 +12,70 @@ cfg = config.vim.diagnostics; + # Takes a boolean, a table, or a Lua list ({key = value}). We + # would like to allow all of those types, while clearly expressing + # them in the option's type. As such, this type is what it is. diagnosticType = oneOf [(attrsOf anything) bool luaInline]; diagnosticsSubmodule = submodule { + # The table might need to be extended, so let's allow that case + # with a freeform type of what is supported by diagnostics opts. freeformType = attrsOf diagnosticType; - underline = mkOption { - type = diagnosticType; - default = true; - description = "Use underline for diagnostics."; - }; - - virtual_text = mkOption { - type = diagnosticType; - default = false; - example = literalExpression '' - { - format = lib.generators.mkLuaInline ''' - function(diagnostic) - return string.format("%s (%s)", diagnostic.message, diagnostic.source) - end - '''; - } - ''; - - description = '' - Use virtual text for diagnostics. If multiple diagnostics are set for a namespace, - one prefix per diagnostic + the last diagnostic message are shown. - ''; - }; - - virtual_lines = mkOption { - type = diagnosticType; - default = false; - description = '' - Use virtual lines for diagnostics. - ''; - }; - - signs = mkOption { - type = diagnosticType; - default = false; - example = { - signs.text = { - "vim.diagnostic.severity.ERROR" = "󰅚 "; - "vim.diagnostic.severity.WARN" = "󰀪 "; - }; + options = { + underline = mkOption { + type = diagnosticType; + default = true; + description = "Use underline for diagnostics."; }; - description = '' - Use signs for diagnostics. See {command}`:help diagnostic-signs`. - ''; - }; - update_in_insert = mkOption { - type = bool; - default = false; - description = '' - Update diagnostics in Insert mode. If `false`, diagnostics will - be updated on InsertLeave ({command}`:help InsertLeave`). - ''; + virtual_text = mkOption { + type = diagnosticType; + default = false; + example = literalExpression '' + { + format = lib.generators.mkLuaInline ''' + function(diagnostic) + return string.format("%s (%s)", diagnostic.message, diagnostic.source) + end + '''; + } + ''; + + description = '' + Use virtual text for diagnostics. If multiple diagnostics are set for a namespace, + one prefix per diagnostic + the last diagnostic message are shown. + ''; + }; + + virtual_lines = mkOption { + type = diagnosticType; + default = false; + description = '' + Use virtual lines for diagnostics. + ''; + }; + + signs = mkOption { + type = diagnosticType; + default = false; + example = { + signs.text = { + "vim.diagnostic.severity.ERROR" = "󰅚 "; + "vim.diagnostic.severity.WARN" = "󰀪 "; + }; + }; + description = '' + Use signs for diagnostics. See {command}`:help diagnostic-signs`. + ''; + }; + + update_in_insert = mkOption { + type = bool; + default = false; + description = '' + Update diagnostics in Insert mode. If `false`, diagnostics will + be updated on InsertLeave ({command}`:help InsertLeave`). + ''; + }; }; }; in { From b7c08147e0a725b0bed8dc9d313ee3f80d97e3b5 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Fri, 4 Apr 2025 15:56:23 +0200 Subject: [PATCH 026/271] language/ts: add conform and lint rules for tsx --- modules/plugins/languages/ts.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index 8589d7ec..1736af2b 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -204,9 +204,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.typescript = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; + setupOpts = { + formatters_by_ft.typescript = [cfg.format.type]; + # .tsx files + formatters_by_ft.typescriptreact = [cfg.format.type]; + formatters.${cfg.format.type} = { + command = getExe cfg.format.package; + }; }; }; }) @@ -215,6 +219,7 @@ in { vim.diagnostics.nvim-lint = { enable = true; linters_by_ft.typescript = cfg.extraDiagnostics.types; + linters_by_ft.typescriptreact = cfg.extraDiagnostics.types; linters = mkMerge (map (name: { ${name}.cmd = getExe diagnosticsProviders.${name}.package; From cb1d127d2f90e22fb8ad92ec94b71c5b88ce9c48 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 5 Apr 2025 15:51:35 +0200 Subject: [PATCH 027/271] docs: update 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 8b87ae99..0ab84f45 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -106,6 +106,7 @@ - Add [blink.cmp] support. - Add `LazyFile` user event. - Migrate language modules from none-ls to conform/nvim-lint +- Add tsx support in conform and lint [diniamo](https://github.com/diniamo): From da57f955dfc59c62cba92c823021be03ac7593dd Mon Sep 17 00:00:00 2001 From: army castillo Date: Sat, 5 Apr 2025 23:50:41 -0400 Subject: [PATCH 028/271] assistant/codecompanion-nvim: fix nvim-cmp and defaults --- docs/release-notes/rl-0.8.md | 1 + .../assistant/codecompanion/codecompanion-nvim.nix | 14 ++++++++++++-- modules/plugins/assistant/codecompanion/config.nix | 5 +++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 8b87ae99..161f50fe 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -198,6 +198,7 @@ Inspiration from `vim.languages.clang.dap` implementation. - Add [leetcode.nvim] plugin under `vim.utility.leetcode-nvim`. - Add [codecompanion.nvim] plugin under `vim.assistant.codecompanion-nvim`. +- Fix [codecompanion-nvim] plugin: nvim-cmp error and setupOpts defaults. [nezia1](https://github.com/nezia1): diff --git a/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix b/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix index 9ebe30c0..a73f1566 100644 --- a/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix +++ b/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix @@ -9,7 +9,12 @@ in { setupOpts = mkPluginSetupOption "codecompanion-nvim" { opts = { - send_code = mkEnableOption "code from being sent to the LLM."; + send_code = + mkEnableOption "" + // { + default = true; + description = "code from being sent to the LLM."; + }; log_level = mkOption { type = enum ["DEBUG" "INFO" "ERROR" "TRACE"]; @@ -64,7 +69,12 @@ in { }; chat = { - auto_scroll = mkEnableOption "automatic page scrolling."; + auto_scroll = + mkEnableOption "" + // { + default = true; + description = "automatic page scrolling."; + }; show_settings = mkEnableOption '' LLM settings to appear at the top of the chat buffer. diff --git a/modules/plugins/assistant/codecompanion/config.nix b/modules/plugins/assistant/codecompanion/config.nix index 6b427d28..08fc8cb2 100644 --- a/modules/plugins/assistant/codecompanion/config.nix +++ b/modules/plugins/assistant/codecompanion/config.nix @@ -22,6 +22,11 @@ in { }; treesitter.enable = true; + + autocomplete.nvim-cmp = { + sources = {codecompanion-nvim = "[codecompanion]";}; + sourcePlugins = ["codecompanion-nvim"]; + }; }; }; } From 2ef9022b58e8fb928841e9aa3f51a1d2c2a2662c Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Sun, 6 Apr 2025 04:46:56 +0000 Subject: [PATCH 029/271] utility/fzf-lua: fix type for fzf-bin --- modules/plugins/utility/fzf-lua/fzf-lua.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/plugins/utility/fzf-lua/fzf-lua.nix b/modules/plugins/utility/fzf-lua/fzf-lua.nix index dbdf320f..0b242864 100644 --- a/modules/plugins/utility/fzf-lua/fzf-lua.nix +++ b/modules/plugins/utility/fzf-lua/fzf-lua.nix @@ -4,7 +4,7 @@ pkgs, ... }: let - inherit (lib.types) enum package; + inherit (lib.types) enum str; inherit (lib.options) mkEnableOption mkOption; inherit (lib.nvim.types) mkPluginSetupOption borderType; in { @@ -12,9 +12,9 @@ in { enable = mkEnableOption "fzf-lua"; setupOpts = mkPluginSetupOption "fzf-lua" { fzf_bin = mkOption { - type = package; + type = str; default = "${lib.getExe pkgs.fzf}"; - description = "fzf package to use"; + description = "Path to fzf executable"; }; winopts.border = mkOption { type = borderType; From edbadf5d5a180ddb2cafa50774c05487146baeed Mon Sep 17 00:00:00 2001 From: Christoph Koehler Date: Sat, 5 Apr 2025 22:45:25 -0600 Subject: [PATCH 030/271] fix: telescope ignore patterns ".git" is a regex, so because of the '.' it matches more than just the .git directory, so escape the dot to make it literal. Here, that's done with a '%'. --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/utility/telescope/telescope.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 8b87ae99..4ce12e95 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -316,6 +316,7 @@ - Fix oil config referencing snacks - Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim` +- Fix default telescope ignore list entry for '.git/' to properly match [rrvsh](https://github.com/rrvsh): diff --git a/modules/plugins/utility/telescope/telescope.nix b/modules/plugins/utility/telescope/telescope.nix index beacc990..9d63c3cf 100644 --- a/modules/plugins/utility/telescope/telescope.nix +++ b/modules/plugins/utility/telescope/telescope.nix @@ -117,7 +117,7 @@ file_ignore_patterns = mkOption { description = "A table of lua regex that define the files that should be ignored."; type = listOf str; - default = ["node_modules" ".git/" "dist/" "build/" "target/" "result/"]; + default = ["node_modules" "%.git/" "dist/" "build/" "target/" "result/"]; }; color_devicons = mkOption { description = "Boolean if devicons should be enabled or not."; From 51d76dd51572193135a0dde94fc6ad6dbf1fff1d Mon Sep 17 00:00:00 2001 From: army castillo Date: Sun, 6 Apr 2025 02:48:58 -0400 Subject: [PATCH 031/271] assistant/codecompanion-nvim: Description clean up Added "Whether to enable" to mkEnableOption descriptions with `//` merge. --- .../codecompanion/codecompanion-nvim.nix | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix b/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix index a73f1566..8e5ed4cc 100644 --- a/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix +++ b/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix @@ -13,7 +13,9 @@ in { mkEnableOption "" // { default = true; - description = "code from being sent to the LLM."; + description = '' + Whether to enable code being sent to the LLM. + ''; }; log_level = mkOption { @@ -35,7 +37,10 @@ in { mkEnableOption "" // { default = true; - description = "a diff view to see the changes made by the LLM."; + description = '' + Whether to enable a diff view + to see the changes made by the LLM. + ''; }; close_chat_at = mkOption { @@ -73,7 +78,7 @@ in { mkEnableOption "" // { default = true; - description = "automatic page scrolling."; + description = "Whether to enable automatic page scrolling."; }; show_settings = mkEnableOption '' @@ -95,14 +100,18 @@ in { mkEnableOption "" // { default = true; - description = "references in the chat buffer."; + description = '' + Whether to enable references in the chat buffer. + ''; }; show_token_count = mkEnableOption "" // { default = true; - description = "the token count for each response."; + description = '' + Whether to enable the token count for each response. + ''; }; intro_message = mkOption { @@ -165,7 +174,10 @@ in { mkEnableOption "" // { default = true; - description = "showing default actions in the action palette."; + description = '' + Whether to enable showing default + actions in the action palette. + ''; }; show_default_prompt_library = @@ -173,7 +185,8 @@ in { // { default = true; description = '' - showing default prompt library in the action palette. + Whether to enable showing default + prompt library in the action palette. ''; }; }; From 3e4f99311aeec70cb769ed09564ed9d3914a0ebc Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Sun, 6 Apr 2025 07:12:44 +0000 Subject: [PATCH 032/271] statusline/lualine: add neo-tree extension --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/statusline/lualine/config.nix | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 32460969..4068c8f0 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -303,6 +303,7 @@ - Disable mini.indentscope for applicable filetypes. - Fix fzf-lua having a hard dependency on fzf. - Enable inlay hints support - `config.vim.lsp.inlayHints`. +- Add `neo-tree` extension to `lualine`. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/statusline/lualine/config.nix b/modules/plugins/statusline/lualine/config.nix index facfcebb..b8334bfd 100644 --- a/modules/plugins/statusline/lualine/config.nix +++ b/modules/plugins/statusline/lualine/config.nix @@ -14,13 +14,18 @@ bCfg = config.vim.ui.breadcrumbs; in { config = mkMerge [ - # TODO: move into nvim-tree file (mkIf config.vim.filetree.nvimTree.enable { vim.statusline.lualine.setupOpts = { extensions = ["nvim-tree"]; }; }) + (mkIf config.vim.filetree.neo-tree.enable { + vim.statusline.lualine.setupOpts = { + extensions = ["neo-tree"]; + }; + }) + (mkIf (bCfg.enable && bCfg.lualine.winbar.enable && bCfg.source == "nvim-navic") { vim.statusline.lualine.setupOpts = { # TODO: rewrite in new syntax From 851dbc92fb5b280207bfc8234c33369b01b8efcd Mon Sep 17 00:00:00 2001 From: Christoph Koehler Date: Mon, 7 Apr 2025 12:00:02 -0600 Subject: [PATCH 033/271] Merge pull request #808 from ckoehler/gitlinker git/gitlinker-nvim: init --- docs/release-notes/rl-0.8.md | 2 ++ modules/plugins/git/default.nix | 2 ++ modules/plugins/git/gitlinker-nvim/config.nix | 23 +++++++++++++++++++ .../plugins/git/gitlinker-nvim/default.nix | 6 +++++ .../git/gitlinker-nvim/gitlinker-nvim.nix | 13 +++++++++++ npins/sources.json | 13 +++++++++++ 6 files changed, 59 insertions(+) create mode 100644 modules/plugins/git/gitlinker-nvim/config.nix create mode 100644 modules/plugins/git/gitlinker-nvim/default.nix create mode 100644 modules/plugins/git/gitlinker-nvim/gitlinker-nvim.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 32460969..239f91b0 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -315,10 +315,12 @@ [ckoehler](https://github.com/ckoehler): [flash.nvim]: https://github.com/folke/flash.nvim +[gitlinker.nvim]: https://github.com/linrongbin16/gitlinker.nvim - Fix oil config referencing snacks - Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim` - Fix default telescope ignore list entry for '.git/' to properly match +- Add [gitlinker.nvim] plugin to `vim.git.gitlinker-nvim` [rrvsh](https://github.com/rrvsh): diff --git a/modules/plugins/git/default.nix b/modules/plugins/git/default.nix index 6ed92217..06c80f35 100644 --- a/modules/plugins/git/default.nix +++ b/modules/plugins/git/default.nix @@ -5,6 +5,7 @@ in { ./gitsigns ./vim-fugitive ./git-conflict + ./gitlinker-nvim ]; options.vim.git = { @@ -15,6 +16,7 @@ in { * gitsigns * vim-fugitive * git-conflict + * gitlinker-nvim ''; }; } diff --git a/modules/plugins/git/gitlinker-nvim/config.nix b/modules/plugins/git/gitlinker-nvim/config.nix new file mode 100644 index 00000000..d1104a28 --- /dev/null +++ b/modules/plugins/git/gitlinker-nvim/config.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.git.gitlinker-nvim; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["gitlinker-nvim"]; + lazy.plugins = { + "gitlinker-nvim" = { + package = "gitlinker-nvim"; + setupModule = "gitlinker"; + inherit (cfg) setupOpts; + cmd = ["GitLink"]; + }; + }; + }; + }; +} diff --git a/modules/plugins/git/gitlinker-nvim/default.nix b/modules/plugins/git/gitlinker-nvim/default.nix new file mode 100644 index 00000000..389b7a55 --- /dev/null +++ b/modules/plugins/git/gitlinker-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./gitlinker-nvim.nix + ]; +} diff --git a/modules/plugins/git/gitlinker-nvim/gitlinker-nvim.nix b/modules/plugins/git/gitlinker-nvim/gitlinker-nvim.nix new file mode 100644 index 00000000..f315e5f9 --- /dev/null +++ b/modules/plugins/git/gitlinker-nvim/gitlinker-nvim.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.git.gitlinker-nvim = { + enable = mkEnableOption "gitlinker-nvim" // {default = config.vim.git.enable;}; + setupOpts = mkPluginSetupOption "gitlinker-nvim" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 140b3b24..c3ec23b1 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -562,6 +562,19 @@ "url": "https://github.com/projekt0n/github-nvim-theme/archive/c106c9472154d6b2c74b74565616b877ae8ed31d.tar.gz", "hash": "1w7lz4bgfm8hq1mir4hcr8ik585d4l4w7bjl8yl3g3zklj8223pw" }, + "gitlinker-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "linrongbin16", + "repo": "gitlinker.nvim" + }, + "branch": "master", + "submodules": false, + "revision": "23982c86f50a9c3f4bc531d41b7a4a68ddd12355", + "url": "https://github.com/linrongbin16/gitlinker.nvim/archive/23982c86f50a9c3f4bc531d41b7a4a68ddd12355.tar.gz", + "hash": "1kz3gpdysxzpb27izhq0jgk59xw01mmnfvg5yrqvxnfhyjblxvqh" + }, "gitsigns-nvim": { "type": "Git", "repository": { From 28af5c1ff9fd10e7ff1fe4c3e4991d65ff5a0cc8 Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Wed, 9 Apr 2025 21:52:55 +0000 Subject: [PATCH 034/271] utility/snacks-nvim: add lualine, bufferline extension / offset --- docs/release-notes/rl-0.8.md | 4 +-- modules/plugins/statusline/lualine/config.nix | 33 ++++++++++++------- .../nvim-bufferline/nvim-bufferline.nix | 20 ++++------- 3 files changed, 30 insertions(+), 27 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 40f2af57..8177cb88 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -298,12 +298,12 @@ - Add lint (luacheck) and formatting (stylua) support for Lua. - Add lint (markdownlint-cli2) support for Markdown. - Add catppuccin integration for Bufferline, Lspsaga. -- Add neo-tree integration for Bufferline. +- Add `neo-tree`, `snacks.explorer` integrations to `bufferline`. - Add more applicable filetypes to illuminate denylist. - Disable mini.indentscope for applicable filetypes. - Fix fzf-lua having a hard dependency on fzf. - Enable inlay hints support - `config.vim.lsp.inlayHints`. -- Add `neo-tree` extension to `lualine`. +- Add `neo-tree`, `snacks.picker` extensions to `lualine`. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/statusline/lualine/config.nix b/modules/plugins/statusline/lualine/config.nix index b8334bfd..89dcbbe5 100644 --- a/modules/plugins/statusline/lualine/config.nix +++ b/modules/plugins/statusline/lualine/config.nix @@ -14,17 +14,28 @@ bCfg = config.vim.ui.breadcrumbs; in { config = mkMerge [ - (mkIf config.vim.filetree.nvimTree.enable { - vim.statusline.lualine.setupOpts = { - extensions = ["nvim-tree"]; - }; - }) - - (mkIf config.vim.filetree.neo-tree.enable { - vim.statusline.lualine.setupOpts = { - extensions = ["neo-tree"]; - }; - }) + { + vim.statusline.lualine.setupOpts.extensions = + (lib.optionals config.vim.filetree.nvimTree.enable ["nvim-tree"]) + ++ (lib.optionals config.vim.filetree.neo-tree.enable ["neo-tree"]) + ++ (lib.optionals config.vim.utility.snacks-nvim.enable [ + { + # same extensions as nerdtree / neo-tree + # https://github.com/nvim-lualine/lualine.nvim/blob/master/lua/lualine/extensions/nerdtree.lua + # https://github.com/nvim-lualine/lualine.nvim/blob/master/lua/lualine/extensions/neo-tree.lua + sections = { + lualine_a = mkLuaInline '' + { + function() + return vim.fn.fnamemodify(vim.fn.getcwd(), ":~") + end, + } + ''; + }; + filetypes = ["snacks_picker_list" "snacks_picker_input"]; + } + ]); + } (mkIf (bCfg.enable && bCfg.lualine.winbar.enable && bCfg.source == "nvim-navic") { vim.statusline.lualine.setupOpts = { diff --git a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix index 997c9ba3..14243670 100644 --- a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix +++ b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix @@ -272,20 +272,12 @@ in { offsets = mkOption { type = listOf attrs; - default = [ - { - filetype = "NvimTree"; - text = "File Explorer"; - highlight = "Directory"; - separator = true; - } - { - filetype = "neo-tree"; - text = "File Explorer"; - highlight = "Directory"; - separator = true; - } - ]; + default = map (filetype: { + inherit filetype; + text = "File Explorer"; + highlight = "Directory"; + separator = true; + }) ["NvimTree" "neo-tree" "snacks_layout_box"]; description = "The windows to offset bufferline above, see `:help bufferline-offset`"; }; From a6f8df678549829a0dfcd6d7609ee098efeacb09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phan=20=C4=90=C4=83ng=20Khoa?= Date: Thu, 10 Apr 2025 20:47:52 +0700 Subject: [PATCH 035/271] Merge pull request #818 from rice-cracker-dev/eslint-fix languages: fix eslint_d error on load --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/languages/astro.nix | 2 +- modules/plugins/languages/svelte.nix | 2 +- modules/plugins/languages/ts.nix | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 40f2af57..6fc28a55 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -288,6 +288,7 @@ [rice-cracker-dev](https://github.com/rice-cracker-dev): - `eslint_d` now checks for configuration files to load. +- Fixed an error where `eslint_d` fails to load. [Sc3l3t0n](https://github.com/Sc3l3t0n): diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index 9c359a2e..c12f6ada 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -62,7 +62,7 @@ local markers = { "eslint.config.js", "eslint.config.mjs", ".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } for _, filename in ipairs(markers) do - local path = vim.fs.join(cwd, filename) + local path = vim.fs.joinpath(cwd, filename) if vim.loop.fs_stat(path) then return require("lint.linters.eslint_d").parser(output, bufnr, cwd) end diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index 67f11bc2..e01ec427 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -61,7 +61,7 @@ local markers = { "eslint.config.js", "eslint.config.mjs", ".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } for _, filename in ipairs(markers) do - local path = vim.fs.join(cwd, filename) + local path = vim.fs.joinpath(cwd, filename) if vim.loop.fs_stat(path) then return require("lint.linters.eslint_d").parser(output, bufnr, cwd) end diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index 1736af2b..ffab265b 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -103,7 +103,7 @@ local markers = { "eslint.config.js", "eslint.config.mjs", ".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } for _, filename in ipairs(markers) do - local path = vim.fs.join(cwd, filename) + local path = vim.fs.joinpath(cwd, filename) if vim.loop.fs_stat(path) then return require("lint.linters.eslint_d").parser(output, bufnr, cwd) end From a436aca603a0c95b9b085d05ce9593b9afd99c1b Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Sat, 12 Apr 2025 20:53:19 +0700 Subject: [PATCH 036/271] nvim-lint: added required files support --- docs/release-notes/rl-0.8.md | 1 + .../plugins/diagnostics/nvim-lint/config.nix | 25 ++++++++++- .../diagnostics/nvim-lint/nvim-lint.nix | 7 +++ modules/plugins/languages/astro.nix | 43 +++++++------------ modules/plugins/languages/svelte.nix | 23 ++++------ modules/plugins/languages/ts.nix | 40 +++++++---------- 6 files changed, 71 insertions(+), 68 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 710578eb..d5190855 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -290,6 +290,7 @@ - `eslint_d` now checks for configuration files to load. - Fixed an error where `eslint_d` fails to load. +- Added required files support for linters under `vim.diagnostics.nvim-lint.linters.*.required_files`. [Sc3l3t0n](https://github.com/Sc3l3t0n): diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index b284270b..c7326cff 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -38,8 +38,29 @@ in { { event = ["BufWritePost"]; callback = mkLuaInline '' - function() - require("lint").try_lint() + function(args) + local ft = vim.api.nvim_get_option_value("filetype", { buf = args.buf }) + local linters = require("lint").linters + local linters_from_ft = require("lint").linters_by_ft[ft] + + -- if no linter is configured for this filetype, stops linting + if linters_from_ft == nil then return end + + for _, name in ipairs(linters_from_ft) do + local cwd = linters[name].required_files + + -- if no configuration files are configured, lint + if cwd == nil then + require("lint").try_lint(name) + else + -- if configuration files are configured and present in the project, lint + for _, fn in ipairs(cwd) do + if vim.uv.fs_stat(fn) then + require("lint").try_lint(name) + end + end + end + end end ''; } diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix index 20f14f0b..cb830975 100644 --- a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -69,6 +69,13 @@ default = null; description = "Parser function"; }; + + required_files = mkOption { + type = nullOr (listOf str); + default = null; + description = "Required files to lint"; + example = ["eslint.config.js"]; + }; }; }; in { diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index c12f6ada..2ecbbe47 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -53,24 +53,20 @@ # TODO: specify packages defaultDiagnosticsProvider = ["eslint_d"]; diagnosticsProviders = { - eslint_d = { - package = pkgs.eslint_d; + eslint_d = let + pkg = pkgs.eslint_d; + in { + package = pkg; config = { - # HACK: change if nvim-lint gets a dynamic enable thing - parser = mkLuaInline '' - function(output, bufnr, cwd) - local markers = { "eslint.config.js", "eslint.config.mjs", - ".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } - for _, filename in ipairs(markers) do - local path = vim.fs.joinpath(cwd, filename) - if vim.loop.fs_stat(path) then - return require("lint.linters.eslint_d").parser(output, bufnr, cwd) - end - end - - return {} - end - ''; + cmd = getExe pkg; + required_files = [ + "eslint.config.js" + "eslint.config.mjs" + ".eslintrc" + ".eslintrc.json" + ".eslintrc.js" + ".eslintrc.yml" + ]; }; }; }; @@ -153,16 +149,9 @@ in { vim.diagnostics.nvim-lint = { enable = true; linters_by_ft.astro = cfg.extraDiagnostics.types; - linters = mkMerge (map ( - name: { - ${name} = - diagnosticsProviders.${name}.config - // { - cmd = getExe diagnosticsProviders.${name}.package; - }; - } - ) - cfg.extraDiagnostics.types); + linters = + mkMerge (map (name: {${name} = diagnosticsProviders.${name}.config;}) + cfg.extraDiagnostics.types); }; }) ]); diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index e01ec427..536ff2c1 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -55,21 +55,14 @@ package = pkg; config = { cmd = getExe pkg; - # HACK: change if nvim-lint gets a dynamic enable thing - parser = mkLuaInline '' - function(output, bufnr, cwd) - local markers = { "eslint.config.js", "eslint.config.mjs", - ".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } - for _, filename in ipairs(markers) do - local path = vim.fs.joinpath(cwd, filename) - if vim.loop.fs_stat(path) then - return require("lint.linters.eslint_d").parser(output, bufnr, cwd) - end - end - - return {} - end - ''; + required_files = [ + "eslint.config.js" + "eslint.config.mjs" + ".eslintrc" + ".eslintrc.json" + ".eslintrc.js" + ".eslintrc.yml" + ]; }; }; }; diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index ffab265b..df1353ab 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -91,27 +91,20 @@ # TODO: specify packages defaultDiagnosticsProvider = ["eslint_d"]; diagnosticsProviders = { - eslint_d = { - package = pkgs.eslint_d; - config = let - pkg = pkgs.eslint_d; - in { + eslint_d = let + pkg = pkgs.eslint_d; + in { + package = pkg; + config = { cmd = getExe pkg; - # HACK: change if nvim-lint gets a dynamic enable thing - parser = mkLuaInline '' - function(output, bufnr, cwd) - local markers = { "eslint.config.js", "eslint.config.mjs", - ".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } - for _, filename in ipairs(markers) do - local path = vim.fs.joinpath(cwd, filename) - if vim.loop.fs_stat(path) then - return require("lint.linters.eslint_d").parser(output, bufnr, cwd) - end - end - - return {} - end - ''; + required_files = [ + "eslint.config.js" + "eslint.config.mjs" + ".eslintrc" + ".eslintrc.json" + ".eslintrc.js" + ".eslintrc.yml" + ]; }; }; }; @@ -221,10 +214,9 @@ in { linters_by_ft.typescript = cfg.extraDiagnostics.types; linters_by_ft.typescriptreact = cfg.extraDiagnostics.types; - linters = mkMerge (map (name: { - ${name}.cmd = getExe diagnosticsProviders.${name}.package; - }) - cfg.extraDiagnostics.types); + linters = + mkMerge (map (name: {${name} = diagnosticsProviders.${name}.config;}) + cfg.extraDiagnostics.types); }; }) From 2e524ce6d5f65c6e7b5657a91fa62804aa29a51c Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 13 Apr 2025 04:50:09 +0300 Subject: [PATCH 037/271] flake: bump inputs --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 8780caec..e31038ab 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1741352980, - "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1742255973, - "narHash": "sha256-XfEGVKatTgEMMOVb4SNp1LYLQOSzzrFTDMVDTZFyMVE=", + "lastModified": 1744497692, + "narHash": "sha256-ikWRNR/P/aKCCySZnUfF1W0u0t6rSoJgQgKeDdCBAK8=", "owner": "Gerg-L", "repo": "mnw", - "rev": "b982dbd5e6d55d4438832b3567c09bc2a129649d", + "rev": "c5322a2bf74c0066fd15ca35721561397a2e7eab", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1743076231, - "narHash": "sha256-yQugdVfi316qUfqzN8JMaA2vixl+45GxNm4oUfXlbgw=", + "lastModified": 1744473229, + "narHash": "sha256-rGXvIsD/Hn+bJRFb7hqSx7UUZUIlxXs0fM6ix5+iT5w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6c5963357f3c1c840201eda129a99d455074db04", + "rev": "52d0eded529af34e91df6b2a2bc32eb636637cd2", "type": "github" }, "original": { @@ -93,11 +93,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1740877520, - "narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=", + "lastModified": 1743296961, + "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "147dee35aab2193b174e4c0868bd80ead5ce755c", + "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", "type": "github" }, "original": { From 1ec2e981039a72903bd7fe6dfc4e6acbd5b2e0bf Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 13 Apr 2025 04:50:13 +0300 Subject: [PATCH 038/271] pins: bump all plugins --- npins/sources.json | 260 ++++++++++++++++++++++----------------------- 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index c3ec23b1..d11d16c4 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -50,10 +50,10 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v1.0.0", - "revision": "47be01b7424d386fc3294de7838fb9134f74b228", - "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v1.0.0", - "hash": "04mjgyfcin134g9w3ag3gy6vppmh8cqq0g9whyq407fx6rjmgvfi" + "version": "v1.1.1", + "revision": "fe2e1d3e4498d60c5ce7440ff60f79f0920e34bf", + "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v1.1.1", + "hash": "0l2m4162vk6xqrx5v0zh1b5p6wrr1jailq1995f101isyjygikan" }, "blink-cmp-spell": { "type": "Git", @@ -142,9 +142,9 @@ }, "branch": "main", "submodules": false, - "revision": "9abb22d5d47460852a935129b4feff39fd8033e3", - "url": "https://github.com/uga-rosa/ccc.nvim/archive/9abb22d5d47460852a935129b4feff39fd8033e3.tar.gz", - "hash": "1lv00jwlqmhki6n8dqrxfvg5kci6a2xiz7mh8d488n7hr1pwkrpn" + "revision": "af2cf5a963f401aad868c065222ee13d4bbc9050", + "url": "https://github.com/uga-rosa/ccc.nvim/archive/af2cf5a963f401aad868c065222ee13d4bbc9050.tar.gz", + "hash": "0h43m2rz9jcckif036n6ybyv2zhgr25l0wpdg3fdfl7xkfs7sa1i" }, "cellular-automaton-nvim": { "type": "Git", @@ -272,9 +272,9 @@ }, "branch": "main", "submodules": false, - "revision": "9f6ba9c0858179fe250412ad2f4d1f0d1bd31eb0", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/9f6ba9c0858179fe250412ad2f4d1f0d1bd31eb0.tar.gz", - "hash": "1bs16rwj8wrpx1ijlhcjdfmz97616ny80pw16igm0dbwsf85nnj4" + "revision": "9654cb31f10c9eda3e777d03d32b29df606ab0fe", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/9654cb31f10c9eda3e777d03d32b29df606ab0fe.tar.gz", + "hash": "0ff4mbfim0kj5prv9xfqp8gsk1fw0y2d0kmazfivkhg04my8m89l" }, "codewindow-nvim": { "type": "Git", @@ -311,9 +311,9 @@ }, "branch": "master", "submodules": false, - "revision": "b1a75324ddf96b7bb84963a297b1ed334db087c0", - "url": "https://github.com/stevearc/conform.nvim/archive/b1a75324ddf96b7bb84963a297b1ed334db087c0.tar.gz", - "hash": "0g0r324dg2yxj8g47lj8zg63166bhjlk8vskh3rdypxd437rbii0" + "revision": "eebc724d12c5579d733d1f801386e0ceb909d001", + "url": "https://github.com/stevearc/conform.nvim/archive/eebc724d12c5579d733d1f801386e0ceb909d001.tar.gz", + "hash": "122v0svrsss8g4gzy9fz2ppzm2lxf85l4m8wincxsy75x9v3ywgn" }, "copilot-cmp": { "type": "Git", @@ -337,9 +337,9 @@ }, "branch": "master", "submodules": false, - "revision": "d661d65b4cab20a5c164f6d9081d91ed324fe4d8", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/d661d65b4cab20a5c164f6d9081d91ed324fe4d8.tar.gz", - "hash": "1lhrs1cw3v7z2sksbd8m1c6ya5m5xfn1dnx8yxqq3s2kqim6n7jb" + "revision": "c62a2a7616a9789a7676b6b7a8d9263b1082cdc8", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/c62a2a7616a9789a7676b6b7a8d9263b1082cdc8.tar.gz", + "hash": "1agbxzq43wsga9szgaz45s638my8d7cxqwg2aa3rizyf7g8f7szy" }, "crates-nvim": { "type": "Git", @@ -350,9 +350,9 @@ }, "branch": "main", "submodules": false, - "revision": "fd2bbca7aa588f24ffc3517831934b4c4a9588e9", - "url": "https://github.com/Saecki/crates.nvim/archive/fd2bbca7aa588f24ffc3517831934b4c4a9588e9.tar.gz", - "hash": "1l2z447svf1ldpnsb9sn5b4q1a22g3wx126yw9hj7rcqrv50xw6i" + "revision": "73d2c590c74a0c582144987a4decb4a642755859", + "url": "https://github.com/Saecki/crates.nvim/archive/73d2c590c74a0c582144987a4decb4a642755859.tar.gz", + "hash": "08dyl4blgi0lb3s0jbl4jcpr4j1ncyrdvxjkrqmhqcg6bmwl7iqy" }, "csharpls-extended-lsp-nvim": { "type": "Git", @@ -363,9 +363,9 @@ }, "branch": "master", "submodules": false, - "revision": "52710d523e5a4d325fe62811a48ee2eeb93dbe26", - "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/52710d523e5a4d325fe62811a48ee2eeb93dbe26.tar.gz", - "hash": "1gxfcj8v7140v5njl0299dx8aqzjbxxz1i0af0p50lli5bk5s25g" + "revision": "53c6dfc9790d262edd3d6a4483294bedf53d70f5", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/53c6dfc9790d262edd3d6a4483294bedf53d70f5.tar.gz", + "hash": "0hy3jaq5lq72yfvy77hijp8wzpbad7a1xfwrdljzbpm4w5j59dm2" }, "dashboard-nvim": { "type": "Git", @@ -519,9 +519,9 @@ }, "branch": "main", "submodules": false, - "revision": "6488ada2f376e47789391dc353b6d91a3f9de6f6", - "url": "https://github.com/ibhagwan/fzf-lua/archive/6488ada2f376e47789391dc353b6d91a3f9de6f6.tar.gz", - "hash": "1hj550c9bn0f2wzmrhc4g9l6024in7jwqfqvrr23fly3b42lfa8a" + "revision": "dc693475c4463463d84a0c7c43d463b8a8cd3aea", + "url": "https://github.com/ibhagwan/fzf-lua/archive/dc693475c4463463d84a0c7c43d463b8a8cd3aea.tar.gz", + "hash": "1his2nwjrb9xbjmz5i6nln7v5mk2f85dla10qn5xwji9zgnfy24l" }, "gesture-nvim": { "type": "Git", @@ -584,9 +584,9 @@ }, "branch": "main", "submodules": false, - "revision": "3c76f7fabac723aa682365ef782f88a83ccdb4ac", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/3c76f7fabac723aa682365ef782f88a83ccdb4ac.tar.gz", - "hash": "1ngw8n25g6rpdn089xwjidfglsli2v8mbv769ikpp6y89h9j91l3" + "revision": "fcfa7a989cd6fed10abf02d9880dc76d7a38167d", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/fcfa7a989cd6fed10abf02d9880dc76d7a38167d.tar.gz", + "hash": "1grkw8x1fycw1hbppy0zakwwkk7h2f8x5qy4wh34yj5f5g9jn3vj" }, "glow-nvim": { "type": "Git", @@ -636,9 +636,9 @@ }, "branch": "master", "submodules": false, - "revision": "5fa6671ff4face61be6a439b085c4977c20a60dc", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/5fa6671ff4face61be6a439b085c4977c20a60dc.tar.gz", - "hash": "002lzdjdf9f5jp63bngmp9fadzs81c0w0gqqpy7b2wfxg76biggr" + "revision": "18fef08cba01de6b5022e85ac4468f74edc45259", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/18fef08cba01de6b5022e85ac4468f74edc45259.tar.gz", + "hash": "1bhr9w58hy63zilbqdwfvwzca6sk667yagjbzf13acl306nvgnhd" }, "highlight-undo-nvim": { "type": "Git", @@ -743,9 +743,9 @@ }, "branch": "main", "submodules": false, - "revision": "346a16ef942635a8ca5ff92e603d07e7e8be6cbe", - "url": "https://github.com/ggandor/leap.nvim/archive/346a16ef942635a8ca5ff92e603d07e7e8be6cbe.tar.gz", - "hash": "0rq73f7sw1sf8dn6angwgns8jd811aiixmvrndgqz2939dlqaw2l" + "revision": "03eaa2e0c0ec9436dea0e954bc47564ff3ca9196", + "url": "https://github.com/ggandor/leap.nvim/archive/03eaa2e0c0ec9436dea0e954bc47564ff3ca9196.tar.gz", + "hash": "1lskih4hvf1c57d0f6gibc36c926lqky0y2h6ypmkgh8gmcdazdw" }, "leetcode-nvim": { "type": "Git", @@ -769,9 +769,9 @@ }, "branch": "master", "submodules": false, - "revision": "b58cca003d1d3311213d6db0352f58d8e57bfff0", - "url": "https://github.com/ray-x/lsp_signature.nvim/archive/b58cca003d1d3311213d6db0352f58d8e57bfff0.tar.gz", - "hash": "1jqpjb7xgdm5ikay8hdjz04bdkirhns6zpa68cblsyslpkvk4hk0" + "revision": "15bb33cdb47e85278e168cad11acb1b6fa9c6488", + "url": "https://github.com/ray-x/lsp_signature.nvim/archive/15bb33cdb47e85278e168cad11acb1b6fa9c6488.tar.gz", + "hash": "0acynlgd7vg3cn08136ky1j2qayq1f7x6fl1562cby6hl47rsnck" }, "lspkind-nvim": { "type": "Git", @@ -821,9 +821,9 @@ }, "branch": "master", "submodules": false, - "revision": "1517caa8fff05e4b4999857319d3b0609a7f57fa", - "url": "https://github.com/hoob3rt/lualine.nvim/archive/1517caa8fff05e4b4999857319d3b0609a7f57fa.tar.gz", - "hash": "0mzclk1rb03ln0my8pqq8p4sn84zkwn0amy2xyb2xds8q9zi21hc" + "revision": "86fe39534b7da729a1ac56c0466e76f2c663dc42", + "url": "https://github.com/hoob3rt/lualine.nvim/archive/86fe39534b7da729a1ac56c0466e76f2c663dc42.tar.gz", + "hash": "1kqdckylsjl1ibk4wm87y1yxxzxnjz87vwziaw4k6nw61rg0bq2x" }, "luasnip": { "type": "Git", @@ -847,9 +847,9 @@ }, "branch": "master", "submodules": false, - "revision": "4d32f775806f9dbc1ad2c773c305cc1dc4ce2bba", - "url": "https://github.com/nvim-neorocks/lz.n/archive/4d32f775806f9dbc1ad2c773c305cc1dc4ce2bba.tar.gz", - "hash": "0ydm1vms8bhiq2yxa1ndb38fi71vai2hk1azdaw4xbjrylbhpnjq" + "revision": "2ef8dfbef6f8f97873da4c5820067343690d114c", + "url": "https://github.com/nvim-neorocks/lz.n/archive/2ef8dfbef6f8f97873da4c5820067343690d114c.tar.gz", + "hash": "11i6ayqvyamh8i2scq7qbf6rrxrq9v0hax9gxmdxhdxd18djyq8n" }, "lzn-auto-require": { "type": "Git", @@ -925,9 +925,9 @@ }, "branch": "main", "submodules": false, - "revision": "1e0a62b8d9592e842c545442cddf3236634c0b67", - "url": "https://github.com/echasnovski/mini.base16/archive/1e0a62b8d9592e842c545442cddf3236634c0b67.tar.gz", - "hash": "038a1w0fi6ivhs0s5lnj45vq40d4whvrbqmkkv1sa9g56cqr17wi" + "revision": "2eb2d2b889a8c861d1a66ec651bd0edb417d5c7f", + "url": "https://github.com/echasnovski/mini.base16/archive/2eb2d2b889a8c861d1a66ec651bd0edb417d5c7f.tar.gz", + "hash": "0g09bgk7y2j83phckg9wlm82ih1ya5j0sgz6xbscbj6jh0w75lvz" }, "mini-basics": { "type": "Git", @@ -964,9 +964,9 @@ }, "branch": "main", "submodules": false, - "revision": "8f4567b323f74116422f3a1c0ac8e7b9d108cebb", - "url": "https://github.com/echasnovski/mini.bufremove/archive/8f4567b323f74116422f3a1c0ac8e7b9d108cebb.tar.gz", - "hash": "0rpj7jdfxq6c509ng911rrncmfip6l39r6np9b6gsgv7j1563ja6" + "revision": "66019ecebdc5bc0759e04747586994e2e3f98416", + "url": "https://github.com/echasnovski/mini.bufremove/archive/66019ecebdc5bc0759e04747586994e2e3f98416.tar.gz", + "hash": "0pqwi0ix7zl7sg74p19q61mizv48mjmbijigsssi9fbyk0hwmkww" }, "mini-clue": { "type": "Git", @@ -990,9 +990,9 @@ }, "branch": "main", "submodules": false, - "revision": "a946cd32c0e5b9bab9cd27ebd6c23259e7d70a72", - "url": "https://github.com/echasnovski/mini.colors/archive/a946cd32c0e5b9bab9cd27ebd6c23259e7d70a72.tar.gz", - "hash": "0jiw5vz7jnfwpbcls1fzny6nv1pxpjyvldf6rzrv9yihpcjgixqy" + "revision": "1c88ba8c79e5717acc82bf596f5722c724af570e", + "url": "https://github.com/echasnovski/mini.colors/archive/1c88ba8c79e5717acc82bf596f5722c724af570e.tar.gz", + "hash": "0dcv6z4z5gq73d2s2hbcg8l5y1jzxvdsq7wy6a2rxbjmjhg5j7is" }, "mini-comment": { "type": "Git", @@ -1016,9 +1016,9 @@ }, "branch": "main", "submodules": false, - "revision": "aef3a80fece4662abbf5fc09d899e9f3e1805d7d", - "url": "https://github.com/echasnovski/mini.completion/archive/aef3a80fece4662abbf5fc09d899e9f3e1805d7d.tar.gz", - "hash": "1154rxj021vsjqk4jqnxqgww7ajkhlwhbbh92avs05wg9hxpnjzg" + "revision": "cf3625d2c4a437f5edf7e61382e0fe522fc76fb7", + "url": "https://github.com/echasnovski/mini.completion/archive/cf3625d2c4a437f5edf7e61382e0fe522fc76fb7.tar.gz", + "hash": "0lpvl1kd7vmyy00p97am9ghj6gdmnk1dbw93wjmnvin057w9sysw" }, "mini-diff": { "type": "Git", @@ -1029,9 +1029,9 @@ }, "branch": "main", "submodules": false, - "revision": "06c9fe0e33fbcf41202793550b905d7431dc81fc", - "url": "https://github.com/echasnovski/mini.diff/archive/06c9fe0e33fbcf41202793550b905d7431dc81fc.tar.gz", - "hash": "0bixw71ds5k8ag0bfhc19yg4x03jf5m3i4d7g7s0h4kdngvj84mg" + "revision": "7e268d0241255abaa07b8aa0ddff028f7315fe21", + "url": "https://github.com/echasnovski/mini.diff/archive/7e268d0241255abaa07b8aa0ddff028f7315fe21.tar.gz", + "hash": "0isw55vz55pcpsyi27lx7i2wrvc9r5rbi6ndljcbn8rbmx36xlyq" }, "mini-doc": { "type": "Git", @@ -1094,9 +1094,9 @@ }, "branch": "main", "submodules": false, - "revision": "cf928950a29d5158dcc76530443436a45411738f", - "url": "https://github.com/echasnovski/mini-git/archive/cf928950a29d5158dcc76530443436a45411738f.tar.gz", - "hash": "05q0anazch60xy3rk5f8gxg8hnnmgvfp5zff80qpi43y48jgkvyx" + "revision": "a0ddc6302f654523053c28109e8b6dbbf05c08f8", + "url": "https://github.com/echasnovski/mini-git/archive/a0ddc6302f654523053c28109e8b6dbbf05c08f8.tar.gz", + "hash": "0vf0ys710yf1apalglxj7kcdyrnrd7jkz1ksi9v1vj3h60pvany2" }, "mini-hipatterns": { "type": "Git", @@ -1107,9 +1107,9 @@ }, "branch": "main", "submodules": false, - "revision": "dd53c18779a2e47a1902180c72bc54a8bb554388", - "url": "https://github.com/echasnovski/mini.hipatterns/archive/dd53c18779a2e47a1902180c72bc54a8bb554388.tar.gz", - "hash": "0cw6sfhzny5wds5ydwlp8qw448g7fgakhh2dzqijw4nn1yxhmkr2" + "revision": "e5083df391171dc9d8172645606f8496d9443374", + "url": "https://github.com/echasnovski/mini.hipatterns/archive/e5083df391171dc9d8172645606f8496d9443374.tar.gz", + "hash": "116vpf4b86qbwrcax7dfhiswb4pwf3nmj2dh4kafj9vnpwyw1c3w" }, "mini-hues": { "type": "Git", @@ -1120,9 +1120,9 @@ }, "branch": "main", "submodules": false, - "revision": "dd8b2105323c6b5277f76ea0f30f016c85f8171e", - "url": "https://github.com/echasnovski/mini.hues/archive/dd8b2105323c6b5277f76ea0f30f016c85f8171e.tar.gz", - "hash": "0kxj26zllydwcxd3jyijy084s96giydajc10fxzhmjg8gvb1pxmf" + "revision": "f1fa8ad34788eada276f0b8a41d96a15622933de", + "url": "https://github.com/echasnovski/mini.hues/archive/f1fa8ad34788eada276f0b8a41d96a15622933de.tar.gz", + "hash": "0yap91dqnr4jpwz1krmzay5p89pxb8v6m5457b6sm6f98956zgqq" }, "mini-icons": { "type": "Git", @@ -1263,9 +1263,9 @@ }, "branch": "main", "submodules": false, - "revision": "f95dc0bb9db7124f55b225f544a8719476c64314", - "url": "https://github.com/echasnovski/mini.pick/archive/f95dc0bb9db7124f55b225f544a8719476c64314.tar.gz", - "hash": "0cq2hjaw4fyjk692s3dl8hb6aad9a3mqciknj8zsda85n6i2i3qy" + "revision": "6cad781797f3a9b0e69f2e9a2d63de8b1c1824f5", + "url": "https://github.com/echasnovski/mini.pick/archive/6cad781797f3a9b0e69f2e9a2d63de8b1c1824f5.tar.gz", + "hash": "1nsnz9dys2nsjrpzm4d3dc4qjms5f7pqsxbgnvglibi9vizrkahx" }, "mini-sessions": { "type": "Git", @@ -1328,9 +1328,9 @@ }, "branch": "main", "submodules": false, - "revision": "6a22a137926c60f987ab76433c56230ffdd7c42d", - "url": "https://github.com/echasnovski/mini.statusline/archive/6a22a137926c60f987ab76433c56230ffdd7c42d.tar.gz", - "hash": "0yvw7j0yydqcv78n145s59y4kw8dj5h8wj44sy46cnzh4bn8l65d" + "revision": "e331175f10d9f400b42523b3890841aba202ce16", + "url": "https://github.com/echasnovski/mini.statusline/archive/e331175f10d9f400b42523b3890841aba202ce16.tar.gz", + "hash": "1hhd4fln3m04d9v5pwa3mb1n4nifsilrxp8hs14njcgk2rxv6qar" }, "mini-surround": { "type": "Git", @@ -1354,9 +1354,9 @@ }, "branch": "main", "submodules": false, - "revision": "fc00d47c6f00eeef8ee05694e59021afb4ae0e0e", - "url": "https://github.com/echasnovski/mini.tabline/archive/fc00d47c6f00eeef8ee05694e59021afb4ae0e0e.tar.gz", - "hash": "1h33s1fzl2wy24pkik0ybjj541srybyjw3zyvpylfm93cjabgbf0" + "revision": "ff7a050721352580184db1ff203286c1032d5b54", + "url": "https://github.com/echasnovski/mini.tabline/archive/ff7a050721352580184db1ff203286c1032d5b54.tar.gz", + "hash": "142vv5nwg3bvia21frmcyps1ycyqqj1l0v5vclrm46cwaz2b2qfb" }, "mini-test": { "type": "Git", @@ -1432,9 +1432,9 @@ }, "branch": "main", "submodules": false, - "revision": "1e34663c32e8f5d915921a938e0dc4e3e788ceb8", - "url": "https://github.com/mvllow/modes.nvim/archive/1e34663c32e8f5d915921a938e0dc4e3e788ceb8.tar.gz", - "hash": "07dara1m8igb6yr8jx62rl8jr71s51vxphiyk8i206bzmbx120ay" + "revision": "7c6ca20de4c9acb22ef06074e39fd2c021b99935", + "url": "https://github.com/mvllow/modes.nvim/archive/7c6ca20de4c9acb22ef06074e39fd2c021b99935.tar.gz", + "hash": "088bacsy76imlyd4njgrw7cg2l82dddr23g25qx81ihlaf3vmdjp" }, "multicursors-nvim": { "type": "GitRelease", @@ -1461,9 +1461,9 @@ }, "branch": "main", "submodules": false, - "revision": "69f798bf9493b84df660ac3c6b2fc03e23956d25", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/69f798bf9493b84df660ac3c6b2fc03e23956d25.tar.gz", - "hash": "0yybrcljbfq6xygaqzspjz3bhxa6fb7w0qypky66cvhbpzrl6blz" + "revision": "5224467c6a49a6c77b8a8333f4d9af0abc788e10", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/5224467c6a49a6c77b8a8333f4d9af0abc788e10.tar.gz", + "hash": "0dzppxi4w38s3pqsgwd3z0xr1r14bd0v4qpakxw3kjn9wr2d8y7n" }, "neocord": { "type": "Git", @@ -1565,9 +1565,9 @@ }, "branch": "main", "submodules": false, - "revision": "a117163db44c256d53c3be8717f3e1a2a28e6299", - "url": "https://github.com/nvimtools/none-ls.nvim/archive/a117163db44c256d53c3be8717f3e1a2a28e6299.tar.gz", - "hash": "1qxi1wq3snhns49sl6rli5hsgjn7zzc43brnwv0b6mfzl55ydzr8" + "revision": "8d99472fcccffd73d7501e54e9018bab5cb0c4ad", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/8d99472fcccffd73d7501e54e9018bab5cb0c4ad.tar.gz", + "hash": "1x1fmpy65j8smn5lfl9bknmfnan33gd5dila49gyblgcgfvpd7ph" }, "nord": { "type": "Git", @@ -1604,9 +1604,9 @@ }, "branch": "master", "submodules": false, - "revision": "84a81a7d1f28b381b32acf1e8fe5ff5bef4f7968", - "url": "https://github.com/windwp/nvim-autopairs/archive/84a81a7d1f28b381b32acf1e8fe5ff5bef4f7968.tar.gz", - "hash": "07w8shkvmhxn7gpx4zac34r0xb7qqs2z2m6hk9y7ccr6w2dczpxy" + "revision": "2a406cdd8c373ae7fe378a9e062a5424472bd8d8", + "url": "https://github.com/windwp/nvim-autopairs/archive/2a406cdd8c373ae7fe378a9e062a5424472bd8d8.tar.gz", + "hash": "06i7bdq4msy2gia6mczxaj2y7chhrmw9xwjj8q4dix0pk58hjfp1" }, "nvim-bufferline-lua": { "type": "Git", @@ -1734,9 +1734,9 @@ }, "branch": "master", "submodules": false, - "revision": "810f2f06611677c965e54636a27fd176a795a4d2", - "url": "https://github.com/mfussenegger/nvim-lint/archive/810f2f06611677c965e54636a27fd176a795a4d2.tar.gz", - "hash": "0d0ilcwp8v6mci9s1hwn9qvwp1marrq2cgidry4p2ylp7qps96nk" + "revision": "5b1bdf306bd3e565908145279e8bbfc594dac3b3", + "url": "https://github.com/mfussenegger/nvim-lint/archive/5b1bdf306bd3e565908145279e8bbfc594dac3b3.tar.gz", + "hash": "0kwdb9wggkgzg9msrvnf15njqm9a8acljdak9fxnfh9al1ks8cav" }, "nvim-lspconfig": { "type": "Git", @@ -1747,9 +1747,9 @@ }, "branch": "master", "submodules": false, - "revision": "40f120c10ea4b87311175539a183c3b75eab95a3", - "url": "https://github.com/neovim/nvim-lspconfig/archive/40f120c10ea4b87311175539a183c3b75eab95a3.tar.gz", - "hash": "0fiqibnfqyrfa5mma7yz2xb19y9wkvsa6a6yjylk8zfair8yb5j0" + "revision": "6ac17e69a353fea377b30a35a672a30f04e887a1", + "url": "https://github.com/neovim/nvim-lspconfig/archive/6ac17e69a353fea377b30a35a672a30f04e887a1.tar.gz", + "hash": "0s1hb7fkjvccycwdzq10lrycs8xmdlk9n4pjafgwgmnhnmgb3sfr" }, "nvim-metals": { "type": "Git", @@ -1760,9 +1760,9 @@ }, "branch": "main", "submodules": false, - "revision": "4610aceb97fbcf2b050220ee5f83527e5c1699c5", - "url": "https://github.com/scalameta/nvim-metals/archive/4610aceb97fbcf2b050220ee5f83527e5c1699c5.tar.gz", - "hash": "082skbc8iml0fnfvy1w2f552bkpmj1czc436mk2nzh73bxi5wh91" + "revision": "bc896458ac639dea568e8dc06862074f8cba7fa3", + "url": "https://github.com/scalameta/nvim-metals/archive/bc896458ac639dea568e8dc06862074f8cba7fa3.tar.gz", + "hash": "0k7c300rf62f50vqzxxdgh7pqpb61im6xbz230fysvdjdx1ddglh" }, "nvim-navbuddy": { "type": "Git", @@ -1864,9 +1864,9 @@ }, "branch": "master", "submodules": false, - "revision": "44d9b58f11d5a426c297aafd0be1c9d45617a849", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/44d9b58f11d5a426c297aafd0be1c9d45617a849.tar.gz", - "hash": "0gya49yydrbq5jylsk4b9c2cpygy0mxhr6kwdsbg0di0i74pkav0" + "revision": "5bea2b37523a31288e0fcab42f3be5c1bd4516bb", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/5bea2b37523a31288e0fcab42f3be5c1bd4516bb.tar.gz", + "hash": "1mizgknbbjqv7a8fqc0n7glgabl0fq660nrqwq6w04qqynp0z1ax" }, "nvim-treesitter-context": { "type": "Git", @@ -1877,9 +1877,9 @@ }, "branch": "master", "submodules": false, - "revision": "93b29a32d5f4be10e39226c6b796f28d68a8b483", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/93b29a32d5f4be10e39226c6b796f28d68a8b483.tar.gz", - "hash": "12ixiqb4bj7n3kkzqi81hyhn3bjsb93250gvfy12bxya2l5bi20g" + "revision": "439789a9a8df9639ecd749bb3286b77117024a6f", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/439789a9a8df9639ecd749bb3286b77117024a6f.tar.gz", + "hash": "04x9nza48d2vz262myhhfnmjzcc2fkdjb21mdqvlmnzkhh7ysyz2" }, "nvim-ts-autotag": { "type": "Git", @@ -1903,9 +1903,9 @@ }, "branch": "main", "submodules": false, - "revision": "5b5435cd510f6520676ab609bdbf477e6beb6029", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/5b5435cd510f6520676ab609bdbf477e6beb6029.tar.gz", - "hash": "0qmq63hw6gljsai080gi6bbay2jnxpicrdlwigay5kd34jldxbj4" + "revision": "a026364df62e88037b26d37c9f14c17c006fd577", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/a026364df62e88037b26d37c9f14c17c006fd577.tar.gz", + "hash": "02mqjwc4h29i9s9l8lsfwrx4ac69n3mpr9hw2vg7ji3c20mbh413" }, "nvim-web-devicons": { "type": "Git", @@ -1916,9 +1916,9 @@ }, "branch": "master", "submodules": false, - "revision": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/4c3a5848ee0b09ecdea73adcd2a689190aeb728c.tar.gz", - "hash": "1a3pkkjdv99nzmh9rf3rn4x1wwhbrr7497ln7xlnkczmk9faz8r4" + "revision": "c90dee4e930ab9f49fa6d77f289bff335b49e972", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/c90dee4e930ab9f49fa6d77f289bff335b49e972.tar.gz", + "hash": "0i41df2cafrpc49cfbimajwbiyhd31q95d1s3rh40g6zgz0gm8sc" }, "obsidian-nvim": { "type": "Git", @@ -1981,9 +1981,9 @@ }, "branch": "master", "submodules": false, - "revision": "2929054293953e486a25c9768095455987ba391b", - "url": "https://github.com/nvim-orgmode/orgmode/archive/2929054293953e486a25c9768095455987ba391b.tar.gz", - "hash": "08x9yx6iblscfj273adzvhj8xv72i8kd89bf1yd93n80lkdmizyf" + "revision": "e66a64183e211842c195f34fd6dcb97d7b534812", + "url": "https://github.com/nvim-orgmode/orgmode/archive/e66a64183e211842c195f34fd6dcb97d7b534812.tar.gz", + "hash": "0cm3xiqjxxxcrrmjnpfrr7k6xy94ixz55wcrfxgsa8cm2xjzx52m" }, "otter-nvim": { "type": "Git", @@ -1994,9 +1994,9 @@ }, "branch": "main", "submodules": false, - "revision": "622816aac66933352e20e4d5d01993cd270d6fb0", - "url": "https://github.com/jmbuhr/otter.nvim/archive/622816aac66933352e20e4d5d01993cd270d6fb0.tar.gz", - "hash": "15ciqkx3hbbccy30dkga17jhra4mslvas0qnqiqrv5qlc09shyrp" + "revision": "a7766be1592bfa9e88e67512646e343d0b4b2ff5", + "url": "https://github.com/jmbuhr/otter.nvim/archive/a7766be1592bfa9e88e67512646e343d0b4b2ff5.tar.gz", + "hash": "18lcqr5qpa50jxmh5h53k0bsz0n3lzbihi8dchww3kz64b52hl5p" }, "oxocarbon": { "type": "Git", @@ -2085,9 +2085,9 @@ }, "branch": "master", "submodules": false, - "revision": "de39919a57e1a40a4c7dc5bae0de276f9c616ef3", - "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/de39919a57e1a40a4c7dc5bae0de276f9c616ef3.tar.gz", - "hash": "04a3y7kyszgjgi1nmjb41vwwpz4svkxh61zkbxrn4ajvxz1ia05i" + "revision": "351e449683070a2bb946bbd603555faf5a195e9a", + "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/351e449683070a2bb946bbd603555faf5a195e9a.tar.gz", + "hash": "12qj32zfyjbxs3qjp283fnc8sfa8w4blfx3skgvhkifv0vi7r3bf" }, "registers-nvim": { "type": "Git", @@ -2111,9 +2111,9 @@ }, "branch": "main", "submodules": false, - "revision": "d2285137fa4fbc0b4152cb444008166962b727b5", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/d2285137fa4fbc0b4152cb444008166962b727b5.tar.gz", - "hash": "01mawxqfrn2sf6f6ngcsp9cv7p4w43dx3zr6n635gg1s6wsi59bj" + "revision": "8bb0d4725cc4909a603158d44ff28b6158ad9278", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/8bb0d4725cc4909a603158d44ff28b6158ad9278.tar.gz", + "hash": "18yqhy2y36rydyqs9z3s1h6rghd02bd9kb3rkxs88spm18wvq41z" }, "rose-pine": { "type": "Git", @@ -2163,9 +2163,9 @@ }, "branch": "master", "submodules": false, - "revision": "0f7e844e3d82703ae8fe82b6d3ab40041b3cd9f8", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/0f7e844e3d82703ae8fe82b6d3ab40041b3cd9f8.tar.gz", - "hash": "0z7q7gp2fa6fmpndnn9043wihvbv04h60vpikq84yfa4yvwz282g" + "revision": "3f327d15a3c1ed48b1e1087e16873a28a39768c2", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/3f327d15a3c1ed48b1e1087e16873a28a39768c2.tar.gz", + "hash": "09wrfmzbk81xax5p4wzczsvv1x28nv54mayi12fvzv6c3bmcsbvj" }, "smartcolumn-nvim": { "type": "Git", @@ -2322,9 +2322,9 @@ }, "branch": "master", "submodules": false, - "revision": "10e6ec6f00365639e383fa8e95a32058dad53b22", - "url": "https://github.com/chomosuke/typst-preview.nvim/archive/10e6ec6f00365639e383fa8e95a32058dad53b22.tar.gz", - "hash": "1va3yw7iq5170ilfzd0fvpvkbkxn2yqk413j64ymg31aql8amgjc" + "revision": "2503b188cd2a17ce44fdd21a944a93335e935215", + "url": "https://github.com/chomosuke/typst-preview.nvim/archive/2503b188cd2a17ce44fdd21a944a93335e935215.tar.gz", + "hash": "0l981pjiz2ycn6rw1xwvmhdjpml7nrrlymwfyc942inw173k1jsg" }, "vim-dirtytalk": { "type": "Git", @@ -2361,9 +2361,9 @@ }, "branch": "master", "submodules": false, - "revision": "19cb21f513fc2b02f0c66be70107741e837516a1", - "url": "https://github.com/RRethy/vim-illuminate/archive/19cb21f513fc2b02f0c66be70107741e837516a1.tar.gz", - "hash": "1wfri17br6yqxnci43g69mvbckb7ajhj3c0mlcn1g0s7jkxz4acd" + "revision": "08aa184f1bd508f6a59371b52cba26be07bc016d", + "url": "https://github.com/RRethy/vim-illuminate/archive/08aa184f1bd508f6a59371b52cba26be07bc016d.tar.gz", + "hash": "0sqs4q2qk9hfkh5vn08y664568pl15b88yyvb9za0f5k7v3z1bcw" }, "vim-markdown": { "type": "Git", From 5c3a90e3f661572ddcb23ccd52a9e7fb67d8ab32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phan=20=C4=90=C4=83ng=20Khoa?= Date: Sun, 13 Apr 2025 16:06:42 +0700 Subject: [PATCH 039/271] Update modules/plugins/diagnostics/nvim-lint/config.nix Co-authored-by: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> --- modules/plugins/diagnostics/nvim-lint/config.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index c7326cff..69d9b35b 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -47,7 +47,13 @@ in { if linters_from_ft == nil then return end for _, name in ipairs(linters_from_ft) do - local cwd = linters[name].required_files + local linter = linters[name] + assert(linter, 'Linter with name `' .. name .. '` not available') + + if type(linter) == "function" then + linter = linter() + end + local cwd = linter.required_files -- if no configuration files are configured, lint if cwd == nil then From f4ee6a275f2cd4dc40c599c63c13e6cbab31256e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phan=20=C4=90=C4=83ng=20Khoa?= Date: Sun, 13 Apr 2025 16:06:58 +0700 Subject: [PATCH 040/271] Update modules/plugins/diagnostics/nvim-lint/config.nix Co-authored-by: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> --- modules/plugins/diagnostics/nvim-lint/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index 69d9b35b..e1ef789a 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -57,7 +57,7 @@ in { -- if no configuration files are configured, lint if cwd == nil then - require("lint").try_lint(name) + require("lint").lint(linter) else -- if configuration files are configured and present in the project, lint for _, fn in ipairs(cwd) do From 2b62a441e9c0383451bc1796380e7ce8d76866dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phan=20=C4=90=C4=83ng=20Khoa?= Date: Sun, 13 Apr 2025 16:07:27 +0700 Subject: [PATCH 041/271] Update modules/plugins/diagnostics/nvim-lint/nvim-lint.nix Co-authored-by: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> --- modules/plugins/diagnostics/nvim-lint/nvim-lint.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix index cb830975..6657be69 100644 --- a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -73,7 +73,7 @@ required_files = mkOption { type = nullOr (listOf str); default = null; - description = "Required files to lint"; + description = "Required files to lint. These files must exist relative to the cwd of the linter or else this linter will be skipped"; example = ["eslint.config.js"]; }; }; From 15ad754ad61640a382fd1dd61f3fa04457719b2b Mon Sep 17 00:00:00 2001 From: w1kee <31793948+w1kee@users.noreply.github.com> Date: Sun, 13 Apr 2025 13:10:36 +0200 Subject: [PATCH 042/271] docs: fix typo (#824) * shell -> run * fix nix run command for maximal config in docs --------- Co-authored-by: raf --- docs/manual/default-configs/maximal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/default-configs/maximal.md b/docs/manual/default-configs/maximal.md index 36887633..e1f5273e 100644 --- a/docs/manual/default-configs/maximal.md +++ b/docs/manual/default-configs/maximal.md @@ -1,7 +1,7 @@ # Maximal {#sec-default-maximal} ```bash -$ nix shell github:notashelf/nvf#maximal test.nix +$ nix run github:notashelf/nvf#maximal -- test.nix ``` It is the same fully configured Neovim as with the [Nix](#sec-default-nix) From 90d09ba05f1460214759241ce08c0dc686eb0b32 Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Sun, 13 Apr 2025 20:57:23 +0700 Subject: [PATCH 043/271] nvim-lint: switch to .lint() --- modules/plugins/diagnostics/nvim-lint/config.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index e1ef789a..f1c2f8c2 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -53,6 +53,8 @@ in { if type(linter) == "function" then linter = linter() end + -- for require("lint").lint() to work, linter.name must be set + linter.name = linter.name or name local cwd = linter.required_files -- if no configuration files are configured, lint @@ -61,8 +63,10 @@ in { else -- if configuration files are configured and present in the project, lint for _, fn in ipairs(cwd) do - if vim.uv.fs_stat(fn) then - require("lint").try_lint(name) + local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); + if vim.uv.fs_stat(path) then + require("lint").lint(linter) + break end end end From acbeb26854300be3186ac6176e98f5f84c129f30 Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Mon, 14 Apr 2025 00:02:54 +0700 Subject: [PATCH 044/271] nvim-lint: moved linting into its own global function "nvf_lint(buf)" --- .../plugins/diagnostics/nvim-lint/config.nix | 68 ++++++++++--------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index f1c2f8c2..fca38cfa 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -28,6 +28,41 @@ in { end end end + + function nvf_lint(buf) + local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) + local linters = require("lint").linters + local linters_from_ft = require("lint").linters_by_ft[ft] + + -- if no linter is configured for this filetype, stops linting + if linters_from_ft == nil then return end + + for _, name in ipairs(linters_from_ft) do + local linter = linters[name] + assert(linter, 'Linter with name `' .. name .. '` not available') + + if type(linter) == "function" then + linter = linter() + end + -- for require("lint").lint() to work, linter.name must be set + linter.name = linter.name or name + local cwd = linter.required_files + + -- if no configuration files are configured, lint + if cwd == nil then + require("lint").lint(linter) + else + -- if configuration files are configured and present in the project, lint + for _, fn in ipairs(cwd) do + local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); + if vim.uv.fs_stat(path) then + require("lint").lint(linter) + break + end + end + end + end + end ''; }; }) @@ -39,38 +74,7 @@ in { event = ["BufWritePost"]; callback = mkLuaInline '' function(args) - local ft = vim.api.nvim_get_option_value("filetype", { buf = args.buf }) - local linters = require("lint").linters - local linters_from_ft = require("lint").linters_by_ft[ft] - - -- if no linter is configured for this filetype, stops linting - if linters_from_ft == nil then return end - - for _, name in ipairs(linters_from_ft) do - local linter = linters[name] - assert(linter, 'Linter with name `' .. name .. '` not available') - - if type(linter) == "function" then - linter = linter() - end - -- for require("lint").lint() to work, linter.name must be set - linter.name = linter.name or name - local cwd = linter.required_files - - -- if no configuration files are configured, lint - if cwd == nil then - require("lint").lint(linter) - else - -- if configuration files are configured and present in the project, lint - for _, fn in ipairs(cwd) do - local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); - if vim.uv.fs_stat(path) then - require("lint").lint(linter) - break - end - end - end - end + nvf_lint(args.buf) end ''; } From a3051d49aa5f32d9ceab672bad52d591b8a78a8e Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Mon, 14 Apr 2025 00:03:22 +0700 Subject: [PATCH 045/271] format: formatted the project --- npins/sources.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/npins/sources.nix b/npins/sources.nix index 162f1d94..3ae0b99e 100644 --- a/npins/sources.nix +++ b/npins/sources.nix @@ -98,7 +98,9 @@ builtins.mapAttrs Channel = getZip; Tarball = getUrl; } - .${spec.type} + .${ + spec.type + } or (builtins.throw "Unknown source type ${spec.type}"); in spec // {outPath = mayOverride (func spec);} From 3b8595a263ac689db59d06734a7336b311c42032 Mon Sep 17 00:00:00 2001 From: Alfarel Date: Sun, 13 Apr 2025 18:20:30 +0000 Subject: [PATCH 046/271] completion/blink: fix fuzzy lib cargoHash (#829) --- flake/legacyPackages/blink-cmp.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake/legacyPackages/blink-cmp.nix b/flake/legacyPackages/blink-cmp.nix index 8d734719..435cb290 100644 --- a/flake/legacyPackages/blink-cmp.nix +++ b/flake/legacyPackages/blink-cmp.nix @@ -14,7 +14,7 @@ env.RUSTC_BOOTSTRAP = true; useFetchCargoVendor = true; - cargoHash = "sha256-F1wh/TjYoiIbDY3J/prVF367MKk3vwM7LqOpRobOs7I="; + cargoHash = "sha256-MWElqh7ENJ6CbLOnvz0DsP5YYu+e+y12GSUOfW1IKGU="; nativeBuildInputs = [gitMinimal]; }; From 78efcd173c060163d1737139feea5bb793a7fdbf Mon Sep 17 00:00:00 2001 From: Gerg-L <88247690+Gerg-L@users.noreply.github.com> Date: Mon, 14 Apr 2025 04:06:24 +0000 Subject: [PATCH 047/271] flake: bump inputs (#831) --- flake.lock | 6 +++--- npins/sources.nix | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index e31038ab..540715e9 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1744497692, - "narHash": "sha256-ikWRNR/P/aKCCySZnUfF1W0u0t6rSoJgQgKeDdCBAK8=", + "lastModified": 1744592022, + "narHash": "sha256-QuWrCRiF3CUM99sgj3gXbIzB1IAVWS5IEfFHadbMA2g=", "owner": "Gerg-L", "repo": "mnw", - "rev": "c5322a2bf74c0066fd15ca35721561397a2e7eab", + "rev": "cf9e19413b6c2d995b55565cd99facf9c751b653", "type": "github" }, "original": { diff --git a/npins/sources.nix b/npins/sources.nix index 162f1d94..3ae0b99e 100644 --- a/npins/sources.nix +++ b/npins/sources.nix @@ -98,7 +98,9 @@ builtins.mapAttrs Channel = getZip; Tarball = getUrl; } - .${spec.type} + .${ + spec.type + } or (builtins.throw "Unknown source type ${spec.type}"); in spec // {outPath = mayOverride (func spec);} From 920f3c9670b1b9a62e7911cd17720d394648858c Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 14 Apr 2025 07:07:39 +0300 Subject: [PATCH 048/271] ci: exclude npins directory in formatting check --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index a349cb07..a3f4fce3 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -37,7 +37,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Check formatting via Alejandra - run: nix run nixpkgs#alejandra -- -c . + run: nix run nixpkgs#alejandra -- --check . --exclude npins check-typos: name: "Check source tree for typos" From f830553166bbf38963413c638d9240d71a0ea8bb Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Mon, 14 Apr 2025 18:01:52 +0700 Subject: [PATCH 049/271] nvim_lint: moved the function into a separate option "lint_function" --- docs/release-notes/rl-0.8.md | 5 +- .../plugins/diagnostics/nvim-lint/config.nix | 35 +----------- .../diagnostics/nvim-lint/nvim-lint.nix | 56 ++++++++++++++++++- 3 files changed, 58 insertions(+), 38 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index d5190855..b8c51358 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -289,8 +289,9 @@ [rice-cracker-dev](https://github.com/rice-cracker-dev): - `eslint_d` now checks for configuration files to load. -- Fixed an error where `eslint_d` fails to load. -- Added required files support for linters under `vim.diagnostics.nvim-lint.linters.*.required_files`. +- Fix an error where `eslint_d` fails to load. +- Add required files support for linters under `vim.diagnostics.nvim-lint.linters.*.required_files`. +- Add global function `nvf_lint` under `vim.diagnostics.nvim-lint.lint_function`. [Sc3l3t0n](https://github.com/Sc3l3t0n): diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index fca38cfa..488bd70f 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -29,40 +29,7 @@ in { end end - function nvf_lint(buf) - local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) - local linters = require("lint").linters - local linters_from_ft = require("lint").linters_by_ft[ft] - - -- if no linter is configured for this filetype, stops linting - if linters_from_ft == nil then return end - - for _, name in ipairs(linters_from_ft) do - local linter = linters[name] - assert(linter, 'Linter with name `' .. name .. '` not available') - - if type(linter) == "function" then - linter = linter() - end - -- for require("lint").lint() to work, linter.name must be set - linter.name = linter.name or name - local cwd = linter.required_files - - -- if no configuration files are configured, lint - if cwd == nil then - require("lint").lint(linter) - else - -- if configuration files are configured and present in the project, lint - for _, fn in ipairs(cwd) do - local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); - if vim.uv.fs_stat(path) then - require("lint").lint(linter) - break - end - end - end - end - end + nvf_lint = ${toLuaObject cfg.lint_function} ''; }; }) diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix index 6657be69..59c50f1d 100644 --- a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -1,7 +1,8 @@ {lib, ...}: let - inherit (lib.options) mkOption mkEnableOption; + inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.types) nullOr attrsOf listOf str either submodule bool enum; inherit (lib.nvim.types) luaInline; + inherit (lib.generators) mkLuaInline; linterType = submodule { options = { @@ -73,8 +74,11 @@ required_files = mkOption { type = nullOr (listOf str); default = null; - description = "Required files to lint. These files must exist relative to the cwd of the linter or else this linter will be skipped"; example = ["eslint.config.js"]; + description = '' + Required files to lint. These files must exist relative to the cwd + of the linter or else this linter will be skipped + ''; }; }; }; @@ -124,5 +128,53 @@ in { }; lint_after_save = mkEnableOption "autocmd to lint after each save" // {default = true;}; + + lint_function = mkOption { + type = luaInline; + default = mkLuaInline '' + function(buf) + local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) + local linters = require("lint").linters + local linters_from_ft = require("lint").linters_by_ft[ft] + + -- if no linter is configured for this filetype, stops linting + if linters_from_ft == nil then return end + + for _, name in ipairs(linters_from_ft) do + local linter = linters[name] + assert(linter, 'Linter with name `' .. name .. '` not available') + + if type(linter) == "function" then + linter = linter() + end + -- for require("lint").lint() to work, linter.name must be set + linter.name = linter.name or name + local cwd = linter.required_files + + -- if no configuration files are configured, lint + if cwd == nil then + require("lint").lint(linter) + else + -- if configuration files are configured and present in the project, lint + for _, fn in ipairs(cwd) do + local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); + if vim.uv.fs_stat(path) then + require("lint").lint(linter) + break + end + end + end + end + end + ''; + example = literalExpression '' + mkLuaInline ''' + function(buf) + require("lint").try_lint() + end + ''' + ''; + description = "Define the global function nvf_lint which is used by nvf to lint."; + }; }; } From f516cb43ceb2b071e6b9a6d5c9d681c8a3187f5f Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 14 Apr 2025 17:02:34 +0300 Subject: [PATCH 050/271] git/gitlinker-nvim: remove duplicate package entry --- modules/plugins/git/gitlinker-nvim/config.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/plugins/git/gitlinker-nvim/config.nix b/modules/plugins/git/gitlinker-nvim/config.nix index d1104a28..749cf18c 100644 --- a/modules/plugins/git/gitlinker-nvim/config.nix +++ b/modules/plugins/git/gitlinker-nvim/config.nix @@ -9,7 +9,6 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["gitlinker-nvim"]; lazy.plugins = { "gitlinker-nvim" = { package = "gitlinker-nvim"; From 11426ea329344925a7ff76b64cbb012ed3ec3ebc Mon Sep 17 00:00:00 2001 From: Noah765 Date: Thu, 17 Apr 2025 09:09:29 +0200 Subject: [PATCH 051/271] languages/dart: add flutter-tools.nvim dependency plenary.nvim --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/languages/dart.nix | 12 ++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 710578eb..642599ba 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -328,3 +328,7 @@ [rrvsh](https://github.com/rrvsh): - Fix namespace of python-lsp-server by changing it to python3Packages + +[Noah765](https://github.com/Noah765): + +- Add missing `flutter-tools.nvim` dependency `plenary.nvim`. diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index 4f8a7028..77d92d3b 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -134,10 +134,14 @@ in { }) (mkIf ftcfg.enable { - vim.startPlugins = - if ftcfg.enableNoResolvePatch - then ["flutter-tools-patched"] - else ["flutter-tools-nvim"]; + vim.startPlugins = [ + ( + if ftcfg.enableNoResolvePatch + then "flutter-tools-patched" + else "flutter-tools-nvim" + ) + "plenary-nvim" + ]; vim.pluginRC.flutter-tools = entryAnywhere '' require('flutter-tools').setup { From db3a35a116d93162d9bc07264ede37404b243f0a Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 13 Apr 2025 11:14:50 +0200 Subject: [PATCH 052/271] rc: do not set options via luaConfigPre --- modules/wrapper/rc/config.nix | 10 +++++++++- modules/wrapper/rc/options.nix | 26 ++------------------------ 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/modules/wrapper/rc/config.nix b/modules/wrapper/rc/config.nix index ff8a4585..77a62d58 100644 --- a/modules/wrapper/rc/config.nix +++ b/modules/wrapper/rc/config.nix @@ -5,7 +5,7 @@ }: let inherit (builtins) map mapAttrs filter; inherit (lib.attrsets) mapAttrsToList; - inherit (lib.strings) concatLines concatMapStringsSep; + inherit (lib.strings) concatLines concatMapStringsSep optionalString; inherit (lib.trivial) showWarnings; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.dag) entryAfter mkLuarcSection resolveDag entryAnywhere; @@ -72,6 +72,14 @@ in { dag = cfg.luaConfigRC; mapResult = result: concatLines [ + (optionalString (cfg.additionalRuntimePaths != []) '' + vim.opt.runtimepath:append(${toLuaObject cfg.additionalRuntimePaths}) + '') + (optionalString cfg.enableLuaLoader '' + if vim.loader then + vim.loader.enable() + end + '') cfg.luaConfigPre (concatMapStringsSep "\n" mkLuarcSection result) cfg.luaConfigPost diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 4cd3026f..10abd77d 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -1,15 +1,7 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkOption literalMD literalExpression; - inherit (lib.strings) optionalString; inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything; inherit (lib.nvim.types) dagOf; - inherit (lib.nvim.lua) listToLuaTable; - - cfg = config.vim; in { options.vim = { enableLuaLoader = mkOption { @@ -286,21 +278,7 @@ in { luaConfigPre = mkOption { type = str; - default = '' - ${optionalString (cfg.additionalRuntimePaths != []) '' - -- The following list is generated from `vim.additionalRuntimePaths` - -- and is used to append additional runtime paths to the - -- `runtimepath` option. - vim.opt.runtimepath:append(${listToLuaTable cfg.additionalRuntimePaths}) - ''} - - ${optionalString cfg.enableLuaLoader '' - if vim.loader then - vim.loader.enable() - end - ''} - ''; - + default = ""; defaultText = literalMD '' By default, this option will **append** paths in [](#opt-vim.additionalRuntimePaths) From 1f6e2f3ca461f6d5ffa3f9676362f396eae708ff Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 13 Apr 2025 11:32:11 +0200 Subject: [PATCH 053/271] docs: update release notes --- docs/release-notes/rl-0.8.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 642599ba..e866e969 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -107,6 +107,8 @@ - Add `LazyFile` user event. - Migrate language modules from none-ls to conform/nvim-lint - Add tsx support in conform and lint +- Moved code setting additionalRuntimePaths and enableLuaLoader out of + luaConfigPre's default to prevent being overridden [diniamo](https://github.com/diniamo): From 05954eec6d6bff2d0ed00f507aa0b50674d051c4 Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Fri, 18 Apr 2025 11:00:16 +0700 Subject: [PATCH 054/271] docs: update vim.diagnostics.nvim-lint.*.required_files description --- modules/plugins/diagnostics/nvim-lint/nvim-lint.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix index 59c50f1d..956bd76e 100644 --- a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -78,6 +78,13 @@ description = '' Required files to lint. These files must exist relative to the cwd of the linter or else this linter will be skipped + + ::: {.note} + This option is an nvf extension that only takes effect if you + use the `nvf_lint()` lua function. + + See {option}`vim.diagnostics.nvim-lint.lint_function`. + ::: ''; }; }; From ef3ab83254e51e42b17cde9322070eef565a06d6 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Fri, 18 Apr 2025 15:49:11 +0200 Subject: [PATCH 055/271] languages/dart: add necessary dependency of flutter-tools.nvim on lsp --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/languages/dart.nix | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 642599ba..f17ca59e 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -332,3 +332,4 @@ [Noah765](https://github.com/Noah765): - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. +- Add necessary dependency of `flutter-tools.nvim` on lsp diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index 77d92d3b..d8d44d88 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -13,7 +13,7 @@ inherit (lib.strings) optionalString; inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.types) mkGrammarOption; - inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.dag) entryAfter; cfg = config.vim.languages.dart; ftcfg = cfg.flutter-tools; @@ -122,19 +122,21 @@ in { }; }; - config = mkIf cfg.enable (mkMerge [ + config.vim = mkIf cfg.enable (mkMerge [ (mkIf cfg.treesitter.enable { - vim.treesitter.enable = true; - vim.treesitter.grammars = [cfg.treesitter.package]; + treesitter.enable = true; + treesitter.grammars = [cfg.treesitter.package]; }) (mkIf cfg.lsp.enable { - vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources.dart-lsp = servers.${cfg.lsp.server}.lspConfig; + lsp.lspconfig.enable = true; + lsp.lspconfig.sources.dart-lsp = servers.${cfg.lsp.server}.lspConfig; }) (mkIf ftcfg.enable { - vim.startPlugins = [ + lsp.enable = true; + + startPlugins = [ ( if ftcfg.enableNoResolvePatch then "flutter-tools-patched" @@ -143,7 +145,7 @@ in { "plenary-nvim" ]; - vim.pluginRC.flutter-tools = entryAnywhere '' + pluginRC.flutter-tools = entryAfter ["lsp-setup"] '' require('flutter-tools').setup { lsp = { color = { -- show the derived colours for dart variables From 99d600f40f4bf4d7b50524f760979886acab8ad7 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Fri, 18 Apr 2025 15:51:03 +0200 Subject: [PATCH 056/271] languages/dart: remove invalid config key lsp.flags from flutter-tools.nvim setup The lsp.flags key is not present in the documentation of flutter-tools.nvim and lsp_flags always evaluates to nil. --- modules/plugins/languages/dart.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index d8d44d88..b3747099 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -158,7 +158,6 @@ in { capabilities = capabilities, on_attach = default_on_attach; - flags = lsp_flags, }, ${optionalString cfg.dap.enable '' debugger = { From df0e2060c6cd3471fb1964b99b8dc5bacd36c10e Mon Sep 17 00:00:00 2001 From: Noah765 Date: Fri, 18 Apr 2025 17:05:57 +0200 Subject: [PATCH 057/271] languages/dart: add flutter-tools.flutterPackage option Previously, flutter-tools was dependent on the flutter SDK, which it found in the PATH. Having such undeclared and non-reproducible dependencies is against the principles of nix. The flutterPackage option has been made optional for people who have installed the flutter SDK differently and want to keep it that way. The enableNoResolvePatch option has been retained for people who have installed the flutter SDK using nix outside the scope of nvf and do not want to have to install it twice. The default value has been changed to false, assuming that most people who use nix to install flutter will use the flutterPackage option instead. --- docs/release-notes/rl-0.8.md | 3 ++- modules/plugins/languages/dart.nix | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f17ca59e..312b1896 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -332,4 +332,5 @@ [Noah765](https://github.com/Noah765): - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. -- Add necessary dependency of `flutter-tools.nvim` on lsp +- Add necessary dependency of `flutter-tools.nvim` on lsp. +- Add the `vim.languages.dart.flutter-tools.flutterPackage` option. diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index b3747099..b61585d4 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -81,16 +81,23 @@ in { description = "Enable flutter-tools for flutter support"; }; + flutterPackage = mkOption { + type = nullOr package; + default = pkgs.flutter; + description = "Flutter package, or null to detect the flutter path at runtime instead."; + }; + enableNoResolvePatch = mkOption { type = bool; - default = true; + default = false; description = '' Whether to patch flutter-tools so that it doesn't resolve symlinks when detecting flutter path. - This is required if you want to use a flutter package built with nix. - If you are using a flutter SDK installed from a different source - and encounter the error "`dart` missing from PATH", disable this option. + This is required if flutterPackage is set to null and the flutter + package in your PATH was built with nix. If you are using a flutter + SDK installed from a different source and encounter the error "`dart` + missing from PATH", leave this option disabled. ''; }; @@ -147,6 +154,7 @@ in { pluginRC.flutter-tools = entryAfter ["lsp-setup"] '' require('flutter-tools').setup { + ${optionalString (ftcfg.flutterPackage != null) "flutter_path = \"${ftcfg.flutterPackage}/bin/flutter\","} lsp = { color = { -- show the derived colours for dart variables enabled = ${boolToString ftcfg.color.enable}, -- whether or not to highlight color variables at all, only supported on flutter >= 2.10 From a6a7bd37f314d2bff8212a452ae22bd6698c44e3 Mon Sep 17 00:00:00 2001 From: Howard Nguyen-Huu Date: Fri, 18 Apr 2025 19:52:44 -0400 Subject: [PATCH 058/271] fix: change python dap name from python to debugpy --- modules/plugins/languages/python.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 476b56ef..d6dec1c2 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -99,7 +99,7 @@ # idk if this is the best way to install/run debugpy package = pkgs.python3.withPackages (ps: with ps; [debugpy]); dapConfig = '' - dap.adapters.python = function(cb, config) + dap.adapters.debugpy = function(cb, config) if config.request == 'attach' then ---@diagnostic disable-next-line: undefined-field local port = (config.connect or config).port @@ -125,10 +125,10 @@ end end - dap.configurations.python = { + dap.configurations.debugpy = { { -- The first three options are required by nvim-dap - type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python` + type = 'debugpy'; -- the type here established the link to the adapter definition: `dap.adapters.debugpy` request = 'launch'; name = "Launch file"; From b7627523333b1ac64111e0f030934f9d17dbb063 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 19 Apr 2025 13:22:06 +0200 Subject: [PATCH 059/271] languages/go: default disable gofmt if lsp is enabled --- modules/plugins/languages/go.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/plugins/languages/go.nix b/modules/plugins/languages/go.nix index 9f8bca3c..3f232669 100644 --- a/modules/plugins/languages/go.nix +++ b/modules/plugins/languages/go.nix @@ -5,7 +5,7 @@ ... }: let inherit (builtins) attrNames; - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption mkOption literalMD; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.lists) isList; @@ -84,7 +84,14 @@ in { }; format = { - enable = mkEnableOption "Go formatting" // {default = config.vim.languages.enableFormat;}; + enable = + mkEnableOption "Go formatting" + // { + default = !cfg.lsp.enable && config.vim.languages.enableFormat; + defaultText = literalMD '' + disabled if Go LSP is enabled, otherwise follows {option}`vim.languages.enableFormat` + ''; + }; type = mkOption { description = "Go formatter to use"; From 5db21bae6f9073bf08608449ba7ea50da4040c13 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Sat, 19 Apr 2025 15:51:47 +0200 Subject: [PATCH 060/271] languages/dart: update flutter-tools.enableNoResolvePatch description --- modules/plugins/languages/dart.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index b61585d4..7b9584b9 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -94,10 +94,12 @@ in { Whether to patch flutter-tools so that it doesn't resolve symlinks when detecting flutter path. - This is required if flutterPackage is set to null and the flutter - package in your PATH was built with nix. If you are using a flutter + ::: {.note} + This is required if `flutterPackage` is set to null and the flutter + package in your `PATH` was built with Nix. If you are using a flutter SDK installed from a different source and encounter the error "`dart` - missing from PATH", leave this option disabled. + missing from `PATH`", leave this option disabled. + ::: ''; }; From b67e151d22567c9cca367ea430253299e34344c4 Mon Sep 17 00:00:00 2001 From: Howard Nguyen-Huu Date: Sat, 19 Apr 2025 13:53:15 -0400 Subject: [PATCH 061/271] docs: add changes to release notes --- docs/release-notes/rl-0.8.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index bd88ab7c..4c345d15 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -290,8 +290,10 @@ - `eslint_d` now checks for configuration files to load. - Fix an error where `eslint_d` fails to load. -- Add required files support for linters under `vim.diagnostics.nvim-lint.linters.*.required_files`. -- Add global function `nvf_lint` under `vim.diagnostics.nvim-lint.lint_function`. +- Add required files support for linters under + `vim.diagnostics.nvim-lint.linters.*.required_files`. +- Add global function `nvf_lint` under + `vim.diagnostics.nvim-lint.lint_function`. [Sc3l3t0n](https://github.com/Sc3l3t0n): @@ -334,3 +336,7 @@ [Noah765](https://github.com/Noah765): - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. + +[howird](https://github.com/howird): + +- Change python dap adapter name from `python` to commonly expected `debugpy`. From fb7f47b375160db5845f6f7bf3815e33eae8cac3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 20 Apr 2025 17:48:59 +0300 Subject: [PATCH 062/271] flake: bump inputs --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 540715e9..3c089070 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1744592022, - "narHash": "sha256-QuWrCRiF3CUM99sgj3gXbIzB1IAVWS5IEfFHadbMA2g=", + "lastModified": 1744597985, + "narHash": "sha256-lLYB9/tQ0OAKonL0Ku963nqOm0aE1TmLavrzmXAr5Zc=", "owner": "Gerg-L", "repo": "mnw", - "rev": "cf9e19413b6c2d995b55565cd99facf9c751b653", + "rev": "cbdcbb5f8eb24e25b932bbc87e29299a72e34b64", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744473229, - "narHash": "sha256-rGXvIsD/Hn+bJRFb7hqSx7UUZUIlxXs0fM6ix5+iT5w=", + "lastModified": 1744868846, + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "52d0eded529af34e91df6b2a2bc32eb636637cd2", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", "type": "github" }, "original": { From 27c0b5caf3ce04f5190d360028a2ee0bc39fc5e7 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 20 Apr 2025 17:49:06 +0300 Subject: [PATCH 063/271] pins: bump all plugins --- npins/sources.json | 240 ++++++++++++++++++++++----------------------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index d11d16c4..05a8c173 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -35,9 +35,9 @@ }, "branch": "master", "submodules": false, - "revision": "3f13e15c53ea2aaf79c24ceab725309d87f0619c", - "url": "https://github.com/rrethy/base16-nvim/archive/3f13e15c53ea2aaf79c24ceab725309d87f0619c.tar.gz", - "hash": "1z6pdf707r2rpmzi057dhcmd045695v03215asn1hdn8r294zcmg" + "revision": "965160025d0facbe9caa863e5beef2a7a488e9d1", + "url": "https://github.com/rrethy/base16-nvim/archive/965160025d0facbe9caa863e5beef2a7a488e9d1.tar.gz", + "hash": "02w1mn15gydma9canvqrlwf4l5z76s1vs01zanipwwflvwclsb8f" }, "blink-cmp": { "type": "GitRelease", @@ -77,9 +77,9 @@ }, "branch": "main", "submodules": false, - "revision": "2ed6d9a28b07fa6f3bface818470605f8896408c", - "url": "https://github.com/saghen/blink.compat/archive/2ed6d9a28b07fa6f3bface818470605f8896408c.tar.gz", - "hash": "009475xy41l4dpayswhx65q6a7djzw7rz2ycbrbpyg041y0qynqs" + "revision": "f1836ed7a07f8d082ff6c3fbae1e476ba2adee84", + "url": "https://github.com/saghen/blink.compat/archive/f1836ed7a07f8d082ff6c3fbae1e476ba2adee84.tar.gz", + "hash": "0b22c943vbxn8cgfc3m0wmmia9rja6x766ywa798nx7s7x0sd53x" }, "blink-emoji-nvim": { "type": "Git", @@ -103,9 +103,9 @@ }, "branch": "main", "submodules": false, - "revision": "56084d1f45c8621d23d4bac724c2dc50b1eb75db", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/56084d1f45c8621d23d4bac724c2dc50b1eb75db.tar.gz", - "hash": "1lyczjvwpi5f1mjgw059yzkxxjrk48vcvhdjzkjgakhsq76s125x" + "revision": "ca538d15bd22fedd3408064d2b25ff8d56ec8ce8", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/ca538d15bd22fedd3408064d2b25ff8d56ec8ce8.tar.gz", + "hash": "1rg40x0lvz11rl95b3q3kqzb8ygvyvhcxiw255200ccxl6q21jg8" }, "bufdelete-nvim": { "type": "Git", @@ -272,9 +272,9 @@ }, "branch": "main", "submodules": false, - "revision": "9654cb31f10c9eda3e777d03d32b29df606ab0fe", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/9654cb31f10c9eda3e777d03d32b29df606ab0fe.tar.gz", - "hash": "0ff4mbfim0kj5prv9xfqp8gsk1fw0y2d0kmazfivkhg04my8m89l" + "revision": "030f305930a25bd9e45b5e5252b47b7069fb800e", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/030f305930a25bd9e45b5e5252b47b7069fb800e.tar.gz", + "hash": "1n59gkzfs05ybf7xvrbxacmwk8nbz8ybgdjwv8irdz5la5hi6wmn" }, "codewindow-nvim": { "type": "Git", @@ -311,9 +311,9 @@ }, "branch": "master", "submodules": false, - "revision": "eebc724d12c5579d733d1f801386e0ceb909d001", - "url": "https://github.com/stevearc/conform.nvim/archive/eebc724d12c5579d733d1f801386e0ceb909d001.tar.gz", - "hash": "122v0svrsss8g4gzy9fz2ppzm2lxf85l4m8wincxsy75x9v3ywgn" + "revision": "6632e7d788a85bf8405ea0c812d343fc308b7b8c", + "url": "https://github.com/stevearc/conform.nvim/archive/6632e7d788a85bf8405ea0c812d343fc308b7b8c.tar.gz", + "hash": "0dv4h87jjb2dp6whgc7wvxisc7hcx1828ixzci80py8kjky013zw" }, "copilot-cmp": { "type": "Git", @@ -337,9 +337,9 @@ }, "branch": "master", "submodules": false, - "revision": "c62a2a7616a9789a7676b6b7a8d9263b1082cdc8", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/c62a2a7616a9789a7676b6b7a8d9263b1082cdc8.tar.gz", - "hash": "1agbxzq43wsga9szgaz45s638my8d7cxqwg2aa3rizyf7g8f7szy" + "revision": "dc579f98536029610cfa32c6bad86c0d24363679", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/dc579f98536029610cfa32c6bad86c0d24363679.tar.gz", + "hash": "16zx9a8f2mjmj7ibdsjyj0vqdsc10yl1vrna0kkkgccj957rd99x" }, "crates-nvim": { "type": "Git", @@ -506,9 +506,9 @@ }, "branch": "main", "submodules": false, - "revision": "efff286dd74c22f731cdec26a70b46e5b203c619", - "url": "https://github.com/rafamadriz/friendly-snippets/archive/efff286dd74c22f731cdec26a70b46e5b203c619.tar.gz", - "hash": "1vb5l8ipfjwsrqffbq8v2z5p1cpg035b3gk57692wd7835kr3i13" + "revision": "31f2a2657b6261724313281fe0d8ba6f43f4a4fa", + "url": "https://github.com/rafamadriz/friendly-snippets/archive/31f2a2657b6261724313281fe0d8ba6f43f4a4fa.tar.gz", + "hash": "0rkz7zbv1maqhr22nxq39w7pahahcapfyc4rgscmr3bm4dcymk2a" }, "fzf-lua": { "type": "Git", @@ -519,9 +519,9 @@ }, "branch": "main", "submodules": false, - "revision": "dc693475c4463463d84a0c7c43d463b8a8cd3aea", - "url": "https://github.com/ibhagwan/fzf-lua/archive/dc693475c4463463d84a0c7c43d463b8a8cd3aea.tar.gz", - "hash": "1his2nwjrb9xbjmz5i6nln7v5mk2f85dla10qn5xwji9zgnfy24l" + "revision": "ea2bda8a9717307affd921e1b540dc06acdf8ea8", + "url": "https://github.com/ibhagwan/fzf-lua/archive/ea2bda8a9717307affd921e1b540dc06acdf8ea8.tar.gz", + "hash": "0ba9ncwjv9kcnw7nimifyad54xdf1cacbdlc7hjyy2zlivf4pm3g" }, "gesture-nvim": { "type": "Git", @@ -584,9 +584,9 @@ }, "branch": "main", "submodules": false, - "revision": "fcfa7a989cd6fed10abf02d9880dc76d7a38167d", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/fcfa7a989cd6fed10abf02d9880dc76d7a38167d.tar.gz", - "hash": "1grkw8x1fycw1hbppy0zakwwkk7h2f8x5qy4wh34yj5f5g9jn3vj" + "revision": "02eafb1273afec94447f66d1a43fc5e477c2ab8a", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/02eafb1273afec94447f66d1a43fc5e477c2ab8a.tar.gz", + "hash": "1m507jyyi1nny14q2bxydy6a54g28yq855g4yaj9jslz7dml2v4i" }, "glow-nvim": { "type": "Git", @@ -610,9 +610,9 @@ }, "branch": "main", "submodules": false, - "revision": "12b5420b665e8053d74eb075d8a589477333f67d", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/12b5420b665e8053d74eb075d8a589477333f67d.tar.gz", - "hash": "16fa841cv0dbn7pkcs44r5ch241vhax8jfxgcxwwd0z4srlbj6gy" + "revision": "a933d8666dad9363dc6908ae72cfc832299c2f59", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/a933d8666dad9363dc6908ae72cfc832299c2f59.tar.gz", + "hash": "02r2h0ip2vzmgmv9b36ff2r6br3ql0b9ggzl8ijsyjy7pgiij04y" }, "harpoon": { "type": "Git", @@ -636,9 +636,9 @@ }, "branch": "master", "submodules": false, - "revision": "18fef08cba01de6b5022e85ac4468f74edc45259", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/18fef08cba01de6b5022e85ac4468f74edc45259.tar.gz", - "hash": "1bhr9w58hy63zilbqdwfvwzca6sk667yagjbzf13acl306nvgnhd" + "revision": "797610ad83d2730d0a8659ecac5d98ccb476ac23", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/797610ad83d2730d0a8659ecac5d98ccb476ac23.tar.gz", + "hash": "1i1ivfhl34yi9xff5s1wkr252vlfjazsf75bjphbi4c50s64wbaa" }, "highlight-undo-nvim": { "type": "Git", @@ -743,9 +743,9 @@ }, "branch": "main", "submodules": false, - "revision": "03eaa2e0c0ec9436dea0e954bc47564ff3ca9196", - "url": "https://github.com/ggandor/leap.nvim/archive/03eaa2e0c0ec9436dea0e954bc47564ff3ca9196.tar.gz", - "hash": "1lskih4hvf1c57d0f6gibc36c926lqky0y2h6ypmkgh8gmcdazdw" + "revision": "8a0efa79133fee211017d769c8031512192008b3", + "url": "https://github.com/ggandor/leap.nvim/archive/8a0efa79133fee211017d769c8031512192008b3.tar.gz", + "hash": "0pgg26r5rh1r2364yj05w4scarzy6zwsp6w7s9yxgfmk7l9x89yk" }, "leetcode-nvim": { "type": "Git", @@ -795,9 +795,9 @@ }, "branch": "main", "submodules": false, - "revision": "778d56ff9b387dacd14ae648ed5604394b486f51", - "url": "https://github.com/nvimdev/lspsaga.nvim/archive/778d56ff9b387dacd14ae648ed5604394b486f51.tar.gz", - "hash": "1rm8ww8krxliwli9m2j6j37xgwgjsrgapvgrcdr6nd4mi6hgmczm" + "revision": "920b1253e1a26732e53fac78412f6da7f674671d", + "url": "https://github.com/nvimdev/lspsaga.nvim/archive/920b1253e1a26732e53fac78412f6da7f674671d.tar.gz", + "hash": "0wkcgy2x119sd9xn6k9vs83pvrj0m4ali1ac72pah8pnlzfvkw7i" }, "lua-utils-nvim": { "type": "Git", @@ -847,9 +847,9 @@ }, "branch": "master", "submodules": false, - "revision": "2ef8dfbef6f8f97873da4c5820067343690d114c", - "url": "https://github.com/nvim-neorocks/lz.n/archive/2ef8dfbef6f8f97873da4c5820067343690d114c.tar.gz", - "hash": "11i6ayqvyamh8i2scq7qbf6rrxrq9v0hax9gxmdxhdxd18djyq8n" + "revision": "c22bd7ef977a32b792ea70e203126a9063519a62", + "url": "https://github.com/nvim-neorocks/lz.n/archive/c22bd7ef977a32b792ea70e203126a9063519a62.tar.gz", + "hash": "0q8bz28dbmdsyndbnajw73x2cr8kpcx0fcj9lip9mr24vgx2vb8v" }, "lzn-auto-require": { "type": "Git", @@ -1016,9 +1016,9 @@ }, "branch": "main", "submodules": false, - "revision": "cf3625d2c4a437f5edf7e61382e0fe522fc76fb7", - "url": "https://github.com/echasnovski/mini.completion/archive/cf3625d2c4a437f5edf7e61382e0fe522fc76fb7.tar.gz", - "hash": "0lpvl1kd7vmyy00p97am9ghj6gdmnk1dbw93wjmnvin057w9sysw" + "revision": "35130cebc63ace7d6e4583f349af8cd3f3141af7", + "url": "https://github.com/echasnovski/mini.completion/archive/35130cebc63ace7d6e4583f349af8cd3f3141af7.tar.gz", + "hash": "0h5z5i62cc780bzw60rbizngvpyl4vk7j858pndyi2g572plz929" }, "mini-diff": { "type": "Git", @@ -1289,9 +1289,9 @@ }, "branch": "main", "submodules": false, - "revision": "e05106957fc178285dbc510ff833985da59d3e5a", - "url": "https://github.com/echasnovski/mini.snippets/archive/e05106957fc178285dbc510ff833985da59d3e5a.tar.gz", - "hash": "0pn9i6sfh3fxkjzh9yyyc05lgcgm8wsanvl7axmy4p7a9spnfa2q" + "revision": "d005684e620e76eb2a5fbbbd211a1eba7212b4aa", + "url": "https://github.com/echasnovski/mini.snippets/archive/d005684e620e76eb2a5fbbbd211a1eba7212b4aa.tar.gz", + "hash": "19xmqzgx0lv6m6lp6dn4pcr53clgjyrlnh45j795cy9szizw4y0x" }, "mini-splitjoin": { "type": "Git", @@ -1461,9 +1461,9 @@ }, "branch": "main", "submodules": false, - "revision": "5224467c6a49a6c77b8a8333f4d9af0abc788e10", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/5224467c6a49a6c77b8a8333f4d9af0abc788e10.tar.gz", - "hash": "0dzppxi4w38s3pqsgwd3z0xr1r14bd0v4qpakxw3kjn9wr2d8y7n" + "revision": "1ef260eb4f54515fe121a2267b477efb054d108a", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/1ef260eb4f54515fe121a2267b477efb054d108a.tar.gz", + "hash": "0j0gr2pisrj5vsiwsvrd3dkrdrd3q2742srk23rw2x0h055c0mxh" }, "neocord": { "type": "Git", @@ -1487,9 +1487,9 @@ }, "branch": "main", "submodules": false, - "revision": "a1e19618c012a712c5ed7cd5ebd01b48ad9f4b5b", - "url": "https://github.com/nvim-neorg/neorg/archive/a1e19618c012a712c5ed7cd5ebd01b48ad9f4b5b.tar.gz", - "hash": "1lp1chm788rnzqjndw64rnjn299889fx66lm01lvfgail0509dw0" + "revision": "35da593c55d78086a3203ee3e6d749fafe2e4e73", + "url": "https://github.com/nvim-neorg/neorg/archive/35da593c55d78086a3203ee3e6d749fafe2e4e73.tar.gz", + "hash": "0kxygwpfffa0blcy54g7cvm5laj77q0f72p69s43j9dpsps1h63y" }, "neorg-telescope": { "type": "Git", @@ -1500,9 +1500,9 @@ }, "branch": "main", "submodules": false, - "revision": "ddb2556644cae922699a239bbb0fe16e25b084b7", - "url": "https://github.com/nvim-neorg/neorg-telescope/archive/ddb2556644cae922699a239bbb0fe16e25b084b7.tar.gz", - "hash": "0p2s3n22fy1vkqc9n55x6kssqs4n0znwlszfrs532hj8m992wbks" + "revision": "7fb6ca6a632c3c095601d379a664c0c1f802dc6c", + "url": "https://github.com/nvim-neorg/neorg-telescope/archive/7fb6ca6a632c3c095601d379a664c0c1f802dc6c.tar.gz", + "hash": "12pbixkb7175qb9wblq01mbpkccm9h0si7b2jjaf7yip8j8frxmn" }, "neovim-session-manager": { "type": "Git", @@ -1565,9 +1565,9 @@ }, "branch": "main", "submodules": false, - "revision": "8d99472fcccffd73d7501e54e9018bab5cb0c4ad", - "url": "https://github.com/nvimtools/none-ls.nvim/archive/8d99472fcccffd73d7501e54e9018bab5cb0c4ad.tar.gz", - "hash": "1x1fmpy65j8smn5lfl9bknmfnan33gd5dila49gyblgcgfvpd7ph" + "revision": "fb50cf17e926a037c9f8d96d8db29ddbd04965d4", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/fb50cf17e926a037c9f8d96d8db29ddbd04965d4.tar.gz", + "hash": "07zfkjdqwlrm1d07za0payqs37gmn4x8m489438nv84sqqhnfrvd" }, "nord": { "type": "Git", @@ -1604,9 +1604,9 @@ }, "branch": "master", "submodules": false, - "revision": "2a406cdd8c373ae7fe378a9e062a5424472bd8d8", - "url": "https://github.com/windwp/nvim-autopairs/archive/2a406cdd8c373ae7fe378a9e062a5424472bd8d8.tar.gz", - "hash": "06i7bdq4msy2gia6mczxaj2y7chhrmw9xwjj8q4dix0pk58hjfp1" + "revision": "4d74e75913832866aa7de35e4202463ddf6efd1b", + "url": "https://github.com/windwp/nvim-autopairs/archive/4d74e75913832866aa7de35e4202463ddf6efd1b.tar.gz", + "hash": "0q6pv89x05l71nfg2chqf9p0d2ha72agmll2svimq0npp84ymfxz" }, "nvim-bufferline-lua": { "type": "Git", @@ -1630,9 +1630,9 @@ }, "branch": "main", "submodules": false, - "revision": "059e89495b3ec09395262f16b1ad441a38081d04", - "url": "https://github.com/hrsh7th/nvim-cmp/archive/059e89495b3ec09395262f16b1ad441a38081d04.tar.gz", - "hash": "0yfxjkascn45svvzx727kz20bm6lkflkx4jc8nrx3rxv0j39wbb0" + "revision": "b5311ab3ed9c846b585c0c15b7559be131ec4be9", + "url": "https://github.com/hrsh7th/nvim-cmp/archive/b5311ab3ed9c846b585c0c15b7559be131ec4be9.tar.gz", + "hash": "07674djcyac9wlj08y9p5gsmdpsm8zxjfgk3fwyvvx8j7qyzx74p" }, "nvim-colorizer-lua": { "type": "Git", @@ -1669,9 +1669,9 @@ }, "branch": "master", "submodules": false, - "revision": "7aade9e99bef5f0735cf966e715b3ce45515d786", - "url": "https://github.com/mfussenegger/nvim-dap/archive/7aade9e99bef5f0735cf966e715b3ce45515d786.tar.gz", - "hash": "0cr2y3lkr6ffxxd9b2pj8hr3fzb5dlj003fcknswqwsdhws75l22" + "revision": "98bf130702eaafad8567c0e3ea1171c2552d58bb", + "url": "https://github.com/mfussenegger/nvim-dap/archive/98bf130702eaafad8567c0e3ea1171c2552d58bb.tar.gz", + "hash": "045sajd5amwxq4964yj4lbh20daa0g8473a0ggbwggxpq6qz2678" }, "nvim-dap-go": { "type": "Git", @@ -1695,9 +1695,9 @@ }, "branch": "master", "submodules": false, - "revision": "bc81f8d3440aede116f821114547a476b082b319", - "url": "https://github.com/rcarriga/nvim-dap-ui/archive/bc81f8d3440aede116f821114547a476b082b319.tar.gz", - "hash": "0hk34mfjxqiq82faf3q75ixpxd822vh8zbl1i5pvx6akn4v3mxk7" + "revision": "881a69e25bd6658864fab47450025490b74be878", + "url": "https://github.com/rcarriga/nvim-dap-ui/archive/881a69e25bd6658864fab47450025490b74be878.tar.gz", + "hash": "040xa1jg5591czydjsxf9rwk3g805nxgaaqn5zkgkxr3igc2rvsy" }, "nvim-docs-view": { "type": "Git", @@ -1734,9 +1734,9 @@ }, "branch": "master", "submodules": false, - "revision": "5b1bdf306bd3e565908145279e8bbfc594dac3b3", - "url": "https://github.com/mfussenegger/nvim-lint/archive/5b1bdf306bd3e565908145279e8bbfc594dac3b3.tar.gz", - "hash": "0kwdb9wggkgzg9msrvnf15njqm9a8acljdak9fxnfh9al1ks8cav" + "revision": "d698d3b6fd7b1b85657d05a2a31d843ddb682c63", + "url": "https://github.com/mfussenegger/nvim-lint/archive/d698d3b6fd7b1b85657d05a2a31d843ddb682c63.tar.gz", + "hash": "0m4hj1yc0s6cb3icshcr3qkd5wknksnnw97axjbacsan5vc6831z" }, "nvim-lspconfig": { "type": "Git", @@ -1747,9 +1747,9 @@ }, "branch": "master", "submodules": false, - "revision": "6ac17e69a353fea377b30a35a672a30f04e887a1", - "url": "https://github.com/neovim/nvim-lspconfig/archive/6ac17e69a353fea377b30a35a672a30f04e887a1.tar.gz", - "hash": "0s1hb7fkjvccycwdzq10lrycs8xmdlk9n4pjafgwgmnhnmgb3sfr" + "revision": "32b6a6449aaba11461fffbb596dd6310af79eea4", + "url": "https://github.com/neovim/nvim-lspconfig/archive/32b6a6449aaba11461fffbb596dd6310af79eea4.tar.gz", + "hash": "0rbqg3xdsdfklcsadzbbphzrgwa2c54lsipfqd67jq2p4baxsgxn" }, "nvim-metals": { "type": "Git", @@ -1760,9 +1760,9 @@ }, "branch": "main", "submodules": false, - "revision": "bc896458ac639dea568e8dc06862074f8cba7fa3", - "url": "https://github.com/scalameta/nvim-metals/archive/bc896458ac639dea568e8dc06862074f8cba7fa3.tar.gz", - "hash": "0k7c300rf62f50vqzxxdgh7pqpb61im6xbz230fysvdjdx1ddglh" + "revision": "04d8ce24638412a2c93dd79fecca4b2c7b9c07f9", + "url": "https://github.com/scalameta/nvim-metals/archive/04d8ce24638412a2c93dd79fecca4b2c7b9c07f9.tar.gz", + "hash": "19mdfn5ni35ldjmwdg25cwiy9cvkg2cxrdhcjr9xplx7ln6zsld9" }, "nvim-navbuddy": { "type": "Git", @@ -1786,9 +1786,9 @@ }, "branch": "master", "submodules": false, - "revision": "8649f694d3e76ee10c19255dece6411c29206a54", - "url": "https://github.com/SmiteshP/nvim-navic/archive/8649f694d3e76ee10c19255dece6411c29206a54.tar.gz", - "hash": "0964wgwh6i4nm637vx36bshkpd5i63ipwzqmrdbkz5h9bzyng7nj" + "revision": "39231352aec0d1e09cebbffdd9dc20a5dc691ffe", + "url": "https://github.com/SmiteshP/nvim-navic/archive/39231352aec0d1e09cebbffdd9dc20a5dc691ffe.tar.gz", + "hash": "1xj2bzax8hynm2x9zbvsaxv1j22chklyygzm1kbqxxs077qn45ws" }, "nvim-neoclip-lua": { "type": "Git", @@ -1825,9 +1825,9 @@ }, "branch": "master", "submodules": false, - "revision": "22f29093eae7785773ee9d543f8750348b1a195c", - "url": "https://github.com/rcarriga/nvim-notify/archive/22f29093eae7785773ee9d543f8750348b1a195c.tar.gz", - "hash": "0nnxmi65ppmn8dzwh38vx2w7w6piq0i28mw0s32wa31xn5rmzwza" + "revision": "b5825cf9ee881dd8e43309c93374ed5b87b7a896", + "url": "https://github.com/rcarriga/nvim-notify/archive/b5825cf9ee881dd8e43309c93374ed5b87b7a896.tar.gz", + "hash": "13qlkncpmjvmkpcx5sv366i7scsh90wjvcqy8qlv31ccmgq511wv" }, "nvim-scrollbar": { "type": "Git", @@ -1851,9 +1851,9 @@ }, "branch": "main", "submodules": false, - "revision": "caf6f633d4d77a29b6e265b560c5a035d171a913", - "url": "https://github.com/kylechui/nvim-surround/archive/caf6f633d4d77a29b6e265b560c5a035d171a913.tar.gz", - "hash": "130y0b2f69y5rzm64ss34a9zyqkpkybr2d1s4p0pcvvaq1ngq0r0" + "revision": "0e62500b98f4513feaaf7425c135472457ea5b7d", + "url": "https://github.com/kylechui/nvim-surround/archive/0e62500b98f4513feaaf7425c135472457ea5b7d.tar.gz", + "hash": "0rwzz98n8gyx2bffxg7ga7vxxxcc4crbwimvglx6bxkdg2abwyrn" }, "nvim-tree-lua": { "type": "Git", @@ -1864,9 +1864,9 @@ }, "branch": "master", "submodules": false, - "revision": "5bea2b37523a31288e0fcab42f3be5c1bd4516bb", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/5bea2b37523a31288e0fcab42f3be5c1bd4516bb.tar.gz", - "hash": "1mizgknbbjqv7a8fqc0n7glgabl0fq660nrqwq6w04qqynp0z1ax" + "revision": "3a63717d3d332d8f39aaf65be7a0e4c2265af021", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/3a63717d3d332d8f39aaf65be7a0e4c2265af021.tar.gz", + "hash": "1w5m090wwhbsdif0w2fhg8qvdjni0g95b13h0kh5kdm3a7avwsm0" }, "nvim-treesitter-context": { "type": "Git", @@ -1877,9 +1877,9 @@ }, "branch": "master", "submodules": false, - "revision": "439789a9a8df9639ecd749bb3286b77117024a6f", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/439789a9a8df9639ecd749bb3286b77117024a6f.tar.gz", - "hash": "04x9nza48d2vz262myhhfnmjzcc2fkdjb21mdqvlmnzkhh7ysyz2" + "revision": "6daca3ad780f045550b820f262002f35175a6c04", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/6daca3ad780f045550b820f262002f35175a6c04.tar.gz", + "hash": "0qprwd44hw9sz0vh14p6lpvs9vxrick462pfkradmal6ak1kfwn3" }, "nvim-ts-autotag": { "type": "Git", @@ -1903,9 +1903,9 @@ }, "branch": "main", "submodules": false, - "revision": "a026364df62e88037b26d37c9f14c17c006fd577", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/a026364df62e88037b26d37c9f14c17c006fd577.tar.gz", - "hash": "02mqjwc4h29i9s9l8lsfwrx4ac69n3mpr9hw2vg7ji3c20mbh413" + "revision": "17aa9cec9081351946743a7094c0c883b24ebe64", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/17aa9cec9081351946743a7094c0c883b24ebe64.tar.gz", + "hash": "14lz7bnwkv3gjpkh8zi9ki9xlxc979gfy3ii396fpa1l3jpys18q" }, "nvim-web-devicons": { "type": "Git", @@ -1916,9 +1916,9 @@ }, "branch": "master", "submodules": false, - "revision": "c90dee4e930ab9f49fa6d77f289bff335b49e972", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/c90dee4e930ab9f49fa6d77f289bff335b49e972.tar.gz", - "hash": "0i41df2cafrpc49cfbimajwbiyhd31q95d1s3rh40g6zgz0gm8sc" + "revision": "855c97005c8eebcdd19846f2e54706bffd40ee96", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/855c97005c8eebcdd19846f2e54706bffd40ee96.tar.gz", + "hash": "1rxpc5k6jbz7078dmjyjg8kgs67q2815bs8fz0srfqwyhvkgi15s" }, "obsidian-nvim": { "type": "Git", @@ -1981,9 +1981,9 @@ }, "branch": "master", "submodules": false, - "revision": "e66a64183e211842c195f34fd6dcb97d7b534812", - "url": "https://github.com/nvim-orgmode/orgmode/archive/e66a64183e211842c195f34fd6dcb97d7b534812.tar.gz", - "hash": "0cm3xiqjxxxcrrmjnpfrr7k6xy94ixz55wcrfxgsa8cm2xjzx52m" + "revision": "8c17ffeb2d08f77a6fd098634f5f85034d88caf8", + "url": "https://github.com/nvim-orgmode/orgmode/archive/8c17ffeb2d08f77a6fd098634f5f85034d88caf8.tar.gz", + "hash": "1rx20i6y666n8a593b2fqw2gdxs96qhzgwrza6m8zfcavzkwh0r0" }, "otter-nvim": { "type": "Git", @@ -2085,9 +2085,9 @@ }, "branch": "master", "submodules": false, - "revision": "351e449683070a2bb946bbd603555faf5a195e9a", - "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/351e449683070a2bb946bbd603555faf5a195e9a.tar.gz", - "hash": "12qj32zfyjbxs3qjp283fnc8sfa8w4blfx3skgvhkifv0vi7r3bf" + "revision": "55ad4fb76ab68460f700599b7449385f0c4e858e", + "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/55ad4fb76ab68460f700599b7449385f0c4e858e.tar.gz", + "hash": "1wb18hp5yz4vhw9ajm50006n4d1mp1krri6kidxh8rkhs0d6zqhi" }, "registers-nvim": { "type": "Git", @@ -2111,9 +2111,9 @@ }, "branch": "main", "submodules": false, - "revision": "8bb0d4725cc4909a603158d44ff28b6158ad9278", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/8bb0d4725cc4909a603158d44ff28b6158ad9278.tar.gz", - "hash": "18yqhy2y36rydyqs9z3s1h6rghd02bd9kb3rkxs88spm18wvq41z" + "revision": "dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f.tar.gz", + "hash": "1r636cyjflhpybjwfi01blbwkrxwi4lvykffrjclwfaf4l4gwddd" }, "rose-pine": { "type": "Git", @@ -2163,9 +2163,9 @@ }, "branch": "master", "submodules": false, - "revision": "3f327d15a3c1ed48b1e1087e16873a28a39768c2", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/3f327d15a3c1ed48b1e1087e16873a28a39768c2.tar.gz", - "hash": "09wrfmzbk81xax5p4wzczsvv1x28nv54mayi12fvzv6c3bmcsbvj" + "revision": "69636cedf0d6aabf0eac3dfbce24883fe1051a3d", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/69636cedf0d6aabf0eac3dfbce24883fe1051a3d.tar.gz", + "hash": "0g40qj67pazf428wdgzijvf1a4xr2l1nimxisyka52fpwi1rah4y" }, "smartcolumn-nvim": { "type": "Git", @@ -2361,9 +2361,9 @@ }, "branch": "master", "submodules": false, - "revision": "08aa184f1bd508f6a59371b52cba26be07bc016d", - "url": "https://github.com/RRethy/vim-illuminate/archive/08aa184f1bd508f6a59371b52cba26be07bc016d.tar.gz", - "hash": "0sqs4q2qk9hfkh5vn08y664568pl15b88yyvb9za0f5k7v3z1bcw" + "revision": "1fa4b23409e22a03823648e344c77f260e2572cb", + "url": "https://github.com/RRethy/vim-illuminate/archive/1fa4b23409e22a03823648e344c77f260e2572cb.tar.gz", + "hash": "1z27z6mpj4jazmifyz5scrniqr7sgh9hbkqx4g27yk0dnn9cm9ff" }, "vim-markdown": { "type": "Git", @@ -2426,9 +2426,9 @@ }, "branch": "main", "submodules": false, - "revision": "98b9c21d3c06d79f68fd9d471dcc28fc6d2d72ef", - "url": "https://github.com/gbprod/yanky.nvim/archive/98b9c21d3c06d79f68fd9d471dcc28fc6d2d72ef.tar.gz", - "hash": "1bdplxlhsc72kmbzmi7x4p378f3dyjdm3ncikkjs3qwxkvjl1bxw" + "revision": "04775cc6e10ef038c397c407bc17f00a2f52b378", + "url": "https://github.com/gbprod/yanky.nvim/archive/04775cc6e10ef038c397c407bc17f00a2f52b378.tar.gz", + "hash": "024dw52ji4691ndkaz3k12fx6qyvhdpd2r69r9d2isy81fbs2fjm" } }, "version": 5 From 6bf57573f1e370487c049a2826b2976c8c485c05 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Mon, 21 Apr 2025 08:41:41 +0200 Subject: [PATCH 064/271] autocmds: improve autocommand descriptions --- modules/neovim/init/autocmds.nix | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/modules/neovim/init/autocmds.nix b/modules/neovim/init/autocmds.nix index 5da7bc55..81580e6b 100644 --- a/modules/neovim/init/autocmds.nix +++ b/modules/neovim/init/autocmds.nix @@ -17,7 +17,7 @@ mkEnableOption "" // { default = true; - description = "Whether to enable this autocommand"; + description = "Whether to enable this autocommand."; }; event = mkOption { @@ -31,7 +31,7 @@ type = nullOr (listOf str); default = null; example = ["*.lua" "*.vim"]; - description = "The file pattern(s) that determine when the autocommand applies)."; + description = "The file pattern(s) that determine when the autocommand applies."; }; callback = mkOption { @@ -44,13 +44,16 @@ end '''' ''; - description = "The file pattern(s) that determine when the autocommand applies."; + description = "Lua function to be called when the event(s) are triggered."; }; command = mkOption { type = nullOr str; default = null; - description = "Vim command string instead of a Lua function."; + description = '' + Vim command to be executed when the event(s) are triggered. + Cannot be defined if the `callback` option is already defined. + ''; }; group = mkOption { @@ -70,7 +73,7 @@ once = mkOption { type = bool; default = false; - description = "Whether autocommand run only once."; + description = "Whether to run the autocommand only once."; }; nested = mkOption { @@ -87,7 +90,7 @@ mkEnableOption "" // { default = true; - description = "Whether to enable this autogroup"; + description = "Whether to enable this autocommand group."; }; name = mkOption { @@ -118,8 +121,8 @@ in { autocommands together. Groups allow multiple autocommands to be cleared or redefined collectively, preventing duplicate definitions. - Each autogroup consists of a name, a boolean indicating whether to clear - existing autocommands, and a list of associated autocommands. + Each autogroup consists of a name and a boolean indicating whether to clear + existing autocommands. ''; }; @@ -129,8 +132,8 @@ in { description = '' A list of Neovim autocommands to be registered. - Each entry defines an autocommand, specifying events, patterns, optional - callbacks, commands, groups, and execution settings. + Each entry defines an autocommand, specifying events, patterns, a callback or Vim + command, an optional group, a description, and execution settings. ''; }; }; From 46979fd94fc544b64819b7aaa7cb73c2d3ea0292 Mon Sep 17 00:00:00 2001 From: raf Date: Mon, 21 Apr 2025 06:54:30 +0000 Subject: [PATCH 065/271] docs: format options as inline code --- docs/release-notes/rl-0.8.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f993a9e5..5dc3ca94 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -107,8 +107,8 @@ - Add `LazyFile` user event. - Migrate language modules from none-ls to conform/nvim-lint - Add tsx support in conform and lint -- Moved code setting additionalRuntimePaths and enableLuaLoader out of - luaConfigPre's default to prevent being overridden +- Moved code setting `additionalRuntimePaths` and `enableLuaLoader` out of + `luaConfigPre`'s default to prevent being overridden [diniamo](https://github.com/diniamo): From 4045c458dc3e3eaabbb94518a857651cff341542 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 21 Apr 2025 10:11:30 +0300 Subject: [PATCH 066/271] assistant/chatgpt: add missing dependencies --- modules/plugins/assistant/chatgpt/config.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/plugins/assistant/chatgpt/config.nix b/modules/plugins/assistant/chatgpt/config.nix index 95a36acf..b1066e5a 100644 --- a/modules/plugins/assistant/chatgpt/config.nix +++ b/modules/plugins/assistant/chatgpt/config.nix @@ -30,7 +30,16 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["chatgpt-nvim"]; + startPlugins = [ + "chatgpt-nvim" + + # Dependencies + "nui-nvim" + "plenary-nvim" + ]; + + # ChatGPT.nvim explicitly depends on Telescope. + telescope.enable = true; pluginRC.chagpt = entryAnywhere '' require("chatgpt").setup(${toLuaObject cfg.setupOpts}) From 72c5c7f6344b9a714c95d73242b098f9141f9a59 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 12:17:33 +0100 Subject: [PATCH 067/271] assistant: add avante.nvim plugin --- docs/release-notes/rl-0.8.md | 7 + .../plugins/assistant/avante/avante-nvim.nix | 359 ++++++++++++++++++ modules/plugins/assistant/avante/config.nix | 44 +++ modules/plugins/assistant/avante/default.nix | 6 + modules/plugins/assistant/default.nix | 1 + npins/sources.json | 13 + 6 files changed, 430 insertions(+) create mode 100644 modules/plugins/assistant/avante/avante-nvim.nix create mode 100644 modules/plugins/assistant/avante/config.nix create mode 100644 modules/plugins/assistant/avante/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 5dc3ca94..6fe4982f 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -344,3 +344,10 @@ [howird](https://github.com/howird): - Change python dap adapter name from `python` to commonly expected `debugpy`. + +[aionoid](https://github.com/aionoid): + +[avante-nvim]: https://github.com/yetone/avante.nvim + +- Add [avante.nvim] plugin under `vim.assistant.avante-nvim`. +- Fix [render-markdown.nvim] file_types option type to list, to accept merging. diff --git a/modules/plugins/assistant/avante/avante-nvim.nix b/modules/plugins/assistant/avante/avante-nvim.nix new file mode 100644 index 00000000..135664c2 --- /dev/null +++ b/modules/plugins/assistant/avante/avante-nvim.nix @@ -0,0 +1,359 @@ +{lib, ...}: let + inherit (lib.options) mkOption mkEnableOption literalMD; + inherit (lib.types) int str enum nullOr attrs either; + inherit (lib.nvim.types) mkPluginSetupOption luaInline; +in { + options.vim.assistant = { + avante-nvim = { + enable = mkEnableOption "complementary neovim plugin for avante.nvim"; + setupOpts = mkPluginSetupOption "avante-nvim" { + provider = mkOption { + type = nullOr str; + default = null; + description = "The provider used in Aider mode or in the planning phase of Cursor Planning Mode."; + }; + + vendors = mkOption { + type = nullOr attrs; + default = null; + description = "Define Your Custom providers."; + example = literalMD '' + ```nix + ollama = { + __inherited_from = "openai"; + api_key_name = ""; + endpoint = "http://127.0.0.1:11434/v1"; + model = "qwen2.5u-coder:7b"; + max_tokens = 4096; + disable_tools = true; + }; + ollama_ds = { + __inherited_from = "openai"; + api_key_name = ""; + endpoint = "http://127.0.0.1:11434/v1"; + model = "deepseek-r1u:7b"; + max_tokens = 4096; + disable_tools = true; + }; + ``` + ''; + }; + + auto_suggestions_provider = mkOption { + type = str; + default = "claude"; + description = '' + Since auto-suggestions are a high-frequency operation and therefore expensive, + currently designating it as `copilot` provider is dangerous because: https://github.com/yetone/avante.nvim/issues/1048 + Of course, you can reduce the request frequency by increasing `suggestion.debounce`. + ''; + }; + + cursor_applying_provider = mkOption { + type = nullOr str; + default = null; + description = '' + The provider used in the applying phase of Cursor Planning Mode, defaults to nil, + when nil uses Config.provider as the provider for the applying phase + ''; + }; + + dual_boost = { + enabled = + mkEnableOption "" + // { + default = false; + description = '' + enable/disable dual boost. + ''; + }; + + first_provider = mkOption { + type = str; + default = "openai"; + }; + + second_provider = mkOption { + type = str; + default = "claude"; + }; + + prompt = mkOption { + type = str; + default = "Based on the two reference outputs below, generate a response that incorporates elements from both but reflects your own judgment and unique perspective. Do not provide any explanation, just give the response directly. Reference Output 1: [{{provider1_output}}], Reference Output 2: [{{provider2_output}}]"; + }; + + timeout = mkOption { + type = int; + default = 60000; + description = "Timeout in milliseconds."; + }; + }; + + behaviour = { + auto_suggestions = + mkEnableOption "" + // { + default = false; + }; + + auto_set_highlight_group = + mkEnableOption "" + // { + default = true; + }; + + auto_set_keymaps = + mkEnableOption "" + // { + default = true; + }; + + auto_apply_diff_after_generation = + mkEnableOption "" + // { + default = false; + }; + + support_paste_from_clipboard = + mkEnableOption "" + // { + default = false; + }; + + minimize_diff = + mkEnableOption "" + // { + default = true; + description = "Whether to remove unchanged lines when applying a code block."; + }; + + enable_token_counting = + mkEnableOption "" + // { + default = true; + description = "Whether to enable token counting. Default to true."; + }; + + enable_cursor_planning_mode = + mkEnableOption "" + // { + default = false; + description = "Whether to enable Cursor Planning Mode. Default to false."; + }; + + enable_claude_text_editor_tool_mode = + mkEnableOption "" + // { + default = false; + description = "Whether to enable Claude Text Editor Tool Mode."; + }; + }; + + mappings = { + diff = mkOption { + type = nullOr attrs; + default = null; + description = "Define or override the default keymaps for diff."; + }; + + suggestion = mkOption { + type = nullOr attrs; + default = null; + description = "Define or override the default keymaps for suggestion actions."; + }; + + jump = mkOption { + type = nullOr attrs; + default = null; + description = "Define or override the default keymaps for jump actions."; + }; + + submit = mkOption { + type = nullOr attrs; + default = null; + description = "Define or override the default keymaps for submit actions."; + }; + + cancel = mkOption { + type = nullOr attrs; + default = null; + description = "Define or override the default keymaps for cancel actions."; + }; + + sidebar = mkOption { + type = nullOr attrs; + default = null; + description = "Define or override the default keymaps for sidebar actions."; + }; + }; + + hints.enabled = + mkEnableOption "" + // { + default = true; + description = '' + Whether to enable hints. + ''; + }; + + windows = { + position = mkOption { + type = enum ["right" "left" "top" "bottom"]; + default = "right"; + description = "The position of the sidebar."; + }; + + wrap = + mkEnableOption "" + // { + default = true; + description = '' + similar to vim.o.wrap. + ''; + }; + + width = mkOption { + type = int; + default = 30; + description = "Default % based on available width."; + }; + + sidebar_header = { + enabled = + mkEnableOption "" + // { + default = true; + description = '' + enable/disable the header. + ''; + }; + + align = mkOption { + type = enum ["right" "center" "left"]; + default = "center"; + description = "Position of the title."; + }; + + rounded = + mkEnableOption "" + // { + default = true; + }; + }; + + input = { + prefix = mkOption { + type = str; + default = "> "; + }; + + height = mkOption { + type = int; + default = 8; + description = '' + Height of the input window in vertical layout. + ''; + }; + }; + + edit = { + border = mkOption { + type = str; + default = "rounded"; + }; + + start_insert = + mkEnableOption "" + // { + default = true; + description = '' + Start insert mode when opening the edit window. + ''; + }; + }; + + ask = { + floating = + mkEnableOption "" + // { + default = false; + description = '' + Open the 'AvanteAsk' prompt in a floating window. + ''; + }; + + start_insert = + mkEnableOption "" + // { + default = true; + description = '' + Start insert mode when opening the ask window. + ''; + }; + + border = mkOption { + type = str; + default = "rounded"; + }; + + focus_on_apply = mkOption { + type = enum ["ours" "theirs"]; + default = "ours"; + description = "which diff to focus after applying."; + }; + }; + }; + + highlights = { + diff = { + current = mkOption { + type = str; + default = "DiffText"; + }; + + incoming = mkOption { + type = str; + default = "DiffAdd"; + }; + }; + }; + + diff = { + autojump = + mkEnableOption "" + // { + default = true; + }; + + list_opener = mkOption { + type = either str luaInline; + default = "copen"; + }; + + override_timeoutlen = mkOption { + type = int; + default = 500; + description = '' + Override the 'timeoutlen' setting while hovering over a diff (see :help timeoutlen). + Helps to avoid entering operator-pending mode with diff mappings starting with `c`. + Disable by setting to -1. + ''; + }; + }; + + suggestion = { + debounce = mkOption { + type = int; + default = 600; + }; + + throttle = mkOption { + type = int; + default = 600; + }; + }; + }; + }; + }; +} diff --git a/modules/plugins/assistant/avante/config.nix b/modules/plugins/assistant/avante/config.nix new file mode 100644 index 00000000..1c975558 --- /dev/null +++ b/modules/plugins/assistant/avante/config.nix @@ -0,0 +1,44 @@ +{ + pkgs, + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.assistant.avante-nvim; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = [ + "plenary-nvim" + "dressing-nvim" + "nui-nvim" + ]; + + lazy.plugins = { + "avante.nvim" = with pkgs.vimPlugins; { + package = avante-nvim; + setupModule = "avante"; + inherit (cfg) setupOpts; + after = + /* + lua + */ + '' + vim.opt.laststatus = 3 + ''; + }; + }; + + treesitter.enable = true; + + autocomplete.nvim-cmp = { + sources = {"avante.nvim" = "[avante]";}; + sourcePlugins = ["avante-nvim"]; + }; + + languages.markdown.extensions.render-markdown-nvim.setupOpts.file_types = lib.mkAfter ["Avante"]; + }; + }; +} diff --git a/modules/plugins/assistant/avante/default.nix b/modules/plugins/assistant/avante/default.nix new file mode 100644 index 00000000..c8ab1a1c --- /dev/null +++ b/modules/plugins/assistant/avante/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./avante-nvim.nix + ]; +} diff --git a/modules/plugins/assistant/default.nix b/modules/plugins/assistant/default.nix index 697d54f6..ab50ea4f 100644 --- a/modules/plugins/assistant/default.nix +++ b/modules/plugins/assistant/default.nix @@ -3,5 +3,6 @@ ./chatgpt ./copilot ./codecompanion + ./avante ]; } diff --git a/npins/sources.json b/npins/sources.json index 05a8c173..cc4cf05d 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -26,6 +26,19 @@ "url": "https://github.com/goolord/alpha-nvim/archive/de72250e054e5e691b9736ee30db72c65d560771.tar.gz", "hash": "0c1jkhxamfn2md7m1r5b2wpxa26y90b98yzjwf68m3fymalvkn5h" }, + "avante-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "yetone", + "repo": "avante.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "eb1cd44731783024621beafe4e46204cbc9a4320", + "url": "https://github.com/yetone/avante.nvim/archive/eb1cd44731783024621beafe4e46204cbc9a4320.tar.gz", + "hash": "1hdb1b74mxq6j10fv0zh6fniwpijwbxjxc59k7xzkqj6q20lad07" + }, "base16": { "type": "Git", "repository": { From 8cde1f7b93226ec404acc40227d5a752d2956238 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 12:20:10 +0100 Subject: [PATCH 068/271] fix:set render-markdown.nvim file_types to list --- modules/plugins/languages/markdown.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 62081549..0dfad07c 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.options) mkEnableOption mkOption; inherit (lib.lists) isList; - inherit (lib.types) bool enum either package listOf str; + inherit (lib.types) bool enum either package listOf str nullOr; inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption; inherit (lib.nvim.dag) entryAnywhere; @@ -117,7 +117,12 @@ in { ''; }; - setupOpts = mkPluginSetupOption "render-markdown" {}; + setupOpts = mkPluginSetupOption "render-markdown" { + file_types = lib.mkOption { + type = listOf (nullOr str); + default = []; + }; + }; }; }; From 7092ff5b7b7b6e8fb2c2d8c2b47f6997a9e69d3f Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 14:09:46 +0100 Subject: [PATCH 069/271] docs: add missing descriptions --- .../plugins/assistant/avante/avante-nvim.nix | 44 ++++++++----------- modules/plugins/languages/markdown.nix | 1 + 2 files changed, 20 insertions(+), 25 deletions(-) diff --git a/modules/plugins/assistant/avante/avante-nvim.nix b/modules/plugins/assistant/avante/avante-nvim.nix index 135664c2..e616d421 100644 --- a/modules/plugins/assistant/avante/avante-nvim.nix +++ b/modules/plugins/assistant/avante/avante-nvim.nix @@ -1,7 +1,7 @@ {lib, ...}: let inherit (lib.options) mkOption mkEnableOption literalMD; - inherit (lib.types) int str enum nullOr attrs either; - inherit (lib.nvim.types) mkPluginSetupOption luaInline; + inherit (lib.types) int str enum nullOr attrs; + inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.assistant = { avante-nvim = { @@ -63,24 +63,25 @@ in { mkEnableOption "" // { default = false; - description = '' - enable/disable dual boost. - ''; + description = "Whether to enable dual_boost mode."; }; first_provider = mkOption { type = str; default = "openai"; + description = "The first provider to generate response."; }; second_provider = mkOption { type = str; default = "claude"; + description = "The second provider to generate response."; }; prompt = mkOption { type = str; default = "Based on the two reference outputs below, generate a response that incorporates elements from both but reflects your own judgment and unique perspective. Do not provide any explanation, just give the response directly. Reference Output 1: [{{provider1_output}}], Reference Output 2: [{{provider2_output}}]"; + description = "The prompt to generate response based on the two reference outputs."; }; timeout = mkOption { @@ -95,30 +96,35 @@ in { mkEnableOption "" // { default = false; + description = "Whether to enable auto suggestions."; }; auto_set_highlight_group = mkEnableOption "" // { default = true; + description = "Whether to automatically set the highlight group for the current line."; }; auto_set_keymaps = mkEnableOption "" // { default = true; + description = "Whether to automatically set the keymap for the current line."; }; auto_apply_diff_after_generation = mkEnableOption "" // { default = false; + description = "Whether to automatically apply diff after LLM response."; }; support_paste_from_clipboard = mkEnableOption "" // { default = false; + description = "Whether to support pasting image from clipboard. This will be determined automatically based whether img-clip is available or not."; }; minimize_diff = @@ -239,6 +245,7 @@ in { mkEnableOption "" // { default = true; + description = "Enable rounded sidebar header"; }; }; @@ -246,6 +253,7 @@ in { prefix = mkOption { type = str; default = "> "; + description = "The prefix used on the user input."; }; height = mkOption { @@ -261,6 +269,7 @@ in { border = mkOption { type = str; default = "rounded"; + description = "The border type on the edit window."; }; start_insert = @@ -295,26 +304,13 @@ in { border = mkOption { type = str; default = "rounded"; + description = "The border type on the ask window."; }; focus_on_apply = mkOption { type = enum ["ours" "theirs"]; default = "ours"; - description = "which diff to focus after applying."; - }; - }; - }; - - highlights = { - diff = { - current = mkOption { - type = str; - default = "DiffText"; - }; - - incoming = mkOption { - type = str; - default = "DiffAdd"; + description = "Which diff to focus after applying."; }; }; }; @@ -324,13 +320,9 @@ in { mkEnableOption "" // { default = true; + description = "Automatically jumps to the next change."; }; - list_opener = mkOption { - type = either str luaInline; - default = "copen"; - }; - override_timeoutlen = mkOption { type = int; default = 500; @@ -346,11 +338,13 @@ in { debounce = mkOption { type = int; default = 600; + description = "Suggestion debounce in milliseconds."; }; throttle = mkOption { type = int; default = 600; + description = "Suggestion throttle in milliseconds."; }; }; }; diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 0dfad07c..008192e3 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -121,6 +121,7 @@ in { file_types = lib.mkOption { type = listOf (nullOr str); default = []; + description = "List of buffer filetypes to enable this plugin in. This will cause the plugin to attach to new buffers who have any of these filetypes."; }; }; }; From e21904d50d53f0da8242b2d0699e1c5938649c07 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 15:33:07 +0100 Subject: [PATCH 070/271] pr: revert markdown changes --- docs/release-notes/rl-0.8.md | 1 - modules/plugins/languages/markdown.nix | 10 ++-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 6fe4982f..0e5103c1 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -350,4 +350,3 @@ [avante-nvim]: https://github.com/yetone/avante.nvim - Add [avante.nvim] plugin under `vim.assistant.avante-nvim`. -- Fix [render-markdown.nvim] file_types option type to list, to accept merging. diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 008192e3..62081549 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.options) mkEnableOption mkOption; inherit (lib.lists) isList; - inherit (lib.types) bool enum either package listOf str nullOr; + inherit (lib.types) bool enum either package listOf str; inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption; inherit (lib.nvim.dag) entryAnywhere; @@ -117,13 +117,7 @@ in { ''; }; - setupOpts = mkPluginSetupOption "render-markdown" { - file_types = lib.mkOption { - type = listOf (nullOr str); - default = []; - description = "List of buffer filetypes to enable this plugin in. This will cause the plugin to attach to new buffers who have any of these filetypes."; - }; - }; + setupOpts = mkPluginSetupOption "render-markdown" {}; }; }; From 9220c27e85d6d30166473999622aab5b387f3466 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 17:55:21 +0100 Subject: [PATCH 071/271] languages/render-markdown-nvim: add file_types as list set file_types as listOf (nullOr str) to allow merging --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/languages/markdown.nix | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 5dc3ca94..06a3267a 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -344,3 +344,7 @@ [howird](https://github.com/howird): - Change python dap adapter name from `python` to commonly expected `debugpy`. + +[aionoid](https://github.com/aionoid): + +- Fix [render-markdown.nvim] file_types option type to list, to accept merging. diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 62081549..008192e3 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.options) mkEnableOption mkOption; inherit (lib.lists) isList; - inherit (lib.types) bool enum either package listOf str; + inherit (lib.types) bool enum either package listOf str nullOr; inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption; inherit (lib.nvim.dag) entryAnywhere; @@ -117,7 +117,13 @@ in { ''; }; - setupOpts = mkPluginSetupOption "render-markdown" {}; + setupOpts = mkPluginSetupOption "render-markdown" { + file_types = lib.mkOption { + type = listOf (nullOr str); + default = []; + description = "List of buffer filetypes to enable this plugin in. This will cause the plugin to attach to new buffers who have any of these filetypes."; + }; + }; }; }; From 95e2eec30b8d20c096c327ef5dd3887d7f859ae9 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 21:32:53 +0100 Subject: [PATCH 072/271] doc: format description to a multi-line string --- modules/plugins/languages/markdown.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 008192e3..21b4f4af 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -121,7 +121,12 @@ in { file_types = lib.mkOption { type = listOf (nullOr str); default = []; - description = "List of buffer filetypes to enable this plugin in. This will cause the plugin to attach to new buffers who have any of these filetypes."; + description = '' + List of buffer filetypes to enable this plugin in. + + This will cause the plugin to attach to new buffers who + have any of these filetypes. + ''; }; }; }; From 3e3d7171c1b8354065adf9890c2e2a469441f300 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 22:36:11 +0100 Subject: [PATCH 073/271] ref: change file_types type to nullOr(listOf str) --- modules/plugins/languages/markdown.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 21b4f4af..4563bc44 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -119,8 +119,8 @@ in { setupOpts = mkPluginSetupOption "render-markdown" { file_types = lib.mkOption { - type = listOf (nullOr str); - default = []; + type = nullOr (listOf str); + default = null; description = '' List of buffer filetypes to enable this plugin in. From 8ab559ccfe1e834b1a043896db21bafd26902e2e Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 23 Apr 2025 16:02:39 +0300 Subject: [PATCH 074/271] mini/cursorword: init --- modules/plugins/mini/cursorword/config.nix | 19 +++++++++++++++++++ .../plugins/mini/cursorword/cursorword.nix | 9 +++++++++ modules/plugins/mini/cursorword/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + npins/sources.json | 16 ++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 modules/plugins/mini/cursorword/config.nix create mode 100644 modules/plugins/mini/cursorword/cursorword.nix create mode 100644 modules/plugins/mini/cursorword/default.nix diff --git a/modules/plugins/mini/cursorword/config.nix b/modules/plugins/mini/cursorword/config.nix new file mode 100644 index 00000000..bc5ab2cb --- /dev/null +++ b/modules/plugins/mini/cursorword/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.cursorword; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-cursorword"]; + + pluginRC.mini-ai = entryAnywhere '' + require("mini.cursorword").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/cursorword/cursorword.nix b/modules/plugins/mini/cursorword/cursorword.nix new file mode 100644 index 00000000..f2b8903a --- /dev/null +++ b/modules/plugins/mini/cursorword/cursorword.nix @@ -0,0 +1,9 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.cursorword = { + enable = mkEnableOption "mini.cursorword"; + setupOpts = mkPluginSetupOption "mini.cursorword" {}; + }; +} diff --git a/modules/plugins/mini/cursorword/default.nix b/modules/plugins/mini/cursorword/default.nix new file mode 100644 index 00000000..f0aae6c8 --- /dev/null +++ b/modules/plugins/mini/cursorword/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./cursorword.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 8f035285..f066b172 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -11,6 +11,7 @@ ./colors ./comment ./completion + ./cursorword ./diff ./doc ./extra diff --git a/npins/sources.json b/npins/sources.json index 05a8c173..7339ce8a 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1020,6 +1020,22 @@ "url": "https://github.com/echasnovski/mini.completion/archive/35130cebc63ace7d6e4583f349af8cd3f3141af7.tar.gz", "hash": "0h5z5i62cc780bzw60rbizngvpyl4vk7j858pndyi2g572plz929" }, + "mini-cursorword": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.cursorword" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "submodules": false, + "version": "v0.15.0", + "revision": "6683f04509c380e3147cca368f90bbdb99641775", + "url": "https://api.github.com/repos/echasnovski/mini.cursorword/tarball/v0.15.0", + "hash": "0vqr4hkzq13ap6giyyp8asn5g6nnm406piq1a07a5nmkfxiskp9v" + }, "mini-diff": { "type": "Git", "repository": { From 8b305e8ed199253262254a906ade3fdb872344ef Mon Sep 17 00:00:00 2001 From: Howard Nguyen-Huu <55764261+howird@users.noreply.github.com> Date: Wed, 23 Apr 2025 14:52:21 -0400 Subject: [PATCH 075/271] fix: python dap configuration regression --- modules/plugins/languages/python.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index d6dec1c2..9905716e 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -125,7 +125,7 @@ end end - dap.configurations.debugpy = { + dap.configurations.python = { { -- The first three options are required by nvim-dap type = 'debugpy'; -- the type here established the link to the adapter definition: `dap.adapters.debugpy` From 990d3598b1891833e765a822c3e377b18cdbc75d Mon Sep 17 00:00:00 2001 From: Noah765 Date: Wed, 23 Apr 2025 21:28:17 +0200 Subject: [PATCH 076/271] highlight: fix color type The color options also allow color definitions in the form of color names. --- docs/release-notes/rl-0.8.md | 1 + modules/neovim/init/highlight.nix | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 2800789f..e713db69 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -338,6 +338,7 @@ - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. - Add necessary dependency of `flutter-tools.nvim` on lsp. - Add the `vim.languages.dart.flutter-tools.flutterPackage` option. +- Fix the type of the `highlight` color options. [howird](https://github.com/howird): diff --git a/modules/neovim/init/highlight.nix b/modules/neovim/init/highlight.nix index 7e992fd1..9c6b7214 100644 --- a/modules/neovim/init/highlight.nix +++ b/modules/neovim/init/highlight.nix @@ -5,15 +5,14 @@ }: let inherit (lib.options) mkOption; inherit (lib.types) nullOr attrsOf listOf submodule bool ints str enum; - inherit (lib.strings) hasPrefix concatLines; + inherit (lib.strings) concatLines; inherit (lib.attrsets) mapAttrsToList; inherit (lib.nvim.dag) entryBetween; inherit (lib.nvim.lua) toLuaObject; - inherit (lib.nvim.types) hexColor; mkColorOption = target: mkOption { - type = nullOr hexColor; + type = nullOr str; default = null; example = "#ebdbb2"; description = '' From 8f73019907d667a9254b3244a9ef518742e03c2b Mon Sep 17 00:00:00 2001 From: Noah765 Date: Thu, 24 Apr 2025 09:20:42 +0200 Subject: [PATCH 077/271] utility/sleuth: init --- docs/release-notes/rl-0.8.md | 3 +++ modules/plugins/utility/default.nix | 1 + modules/plugins/utility/sleuth/config.nix | 10 ++++++++++ modules/plugins/utility/sleuth/default.nix | 6 ++++++ modules/plugins/utility/sleuth/sleuth.nix | 7 +++++++ npins/sources.json | 13 +++++++++++++ 6 files changed, 40 insertions(+) create mode 100644 modules/plugins/utility/sleuth/config.nix create mode 100644 modules/plugins/utility/sleuth/default.nix create mode 100644 modules/plugins/utility/sleuth/sleuth.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 778fc37a..04e0eb64 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -337,10 +337,13 @@ [Noah765](https://github.com/Noah765): +[vim-sleuth]: https://github.com/tpope/vim-sleuth + - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. - Add necessary dependency of `flutter-tools.nvim` on lsp. - Add the `vim.languages.dart.flutter-tools.flutterPackage` option. - Fix the type of the `highlight` color options. +- Add [vim-sleuth] plugin under `vim.utility.sleuth`. [howird](https://github.com/howird): diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 62b07574..e3ae7c5e 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -18,6 +18,7 @@ ./oil-nvim ./outline ./preview + ./sleuth ./snacks-nvim ./surround ./telescope diff --git a/modules/plugins/utility/sleuth/config.nix b/modules/plugins/utility/sleuth/config.nix new file mode 100644 index 00000000..d25cc140 --- /dev/null +++ b/modules/plugins/utility/sleuth/config.nix @@ -0,0 +1,10 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + cfg = config.vim.utility.sleuth; +in { + vim.startPlugins = mkIf cfg.enable ["vim-sleuth"]; +} diff --git a/modules/plugins/utility/sleuth/default.nix b/modules/plugins/utility/sleuth/default.nix new file mode 100644 index 00000000..04cb4158 --- /dev/null +++ b/modules/plugins/utility/sleuth/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./sleuth.nix + ]; +} diff --git a/modules/plugins/utility/sleuth/sleuth.nix b/modules/plugins/utility/sleuth/sleuth.nix new file mode 100644 index 00000000..a86d414d --- /dev/null +++ b/modules/plugins/utility/sleuth/sleuth.nix @@ -0,0 +1,7 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.utility.sleuth.enable = mkEnableOption '' + automatically adjusting options such as `shiftwidth` or `expandtab`, using `vim-sleuth` + ''; +} diff --git a/npins/sources.json b/npins/sources.json index 7339ce8a..90a54057 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2407,6 +2407,19 @@ "url": "https://github.com/tpope/vim-repeat/archive/65846025c15494983dafe5e3b46c8f88ab2e9635.tar.gz", "hash": "0n8sx6s2sbjb21dv9j6y5lyqda9vvxraffg2jz423daamn96dxqv" }, + "vim-sleuth": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "tpope", + "repo": "vim-sleuth" + }, + "branch": "master", + "submodules": false, + "revision": "be69bff86754b1aa5adcbb527d7fcd1635a84080", + "url": "https://github.com/tpope/vim-sleuth/archive/be69bff86754b1aa5adcbb527d7fcd1635a84080.tar.gz", + "hash": "0wqxdjgplf04nq428ialw1w03f8nh5vb629a17vl5gc9gf3zfanq" + }, "vim-startify": { "type": "Git", "repository": { From c7b7a5d6d4f64ab65da97a1536dcf5d47fc57717 Mon Sep 17 00:00:00 2001 From: Valyn Tyler <115489989+ValynTyler@users.noreply.github.com> Date: Thu, 24 Apr 2025 19:57:19 +0300 Subject: [PATCH 078/271] fix: bad option in custom-config example --- docs/manual/installation/custom-configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/installation/custom-configuration.md b/docs/manual/installation/custom-configuration.md index 940f35a3..52f81573 100644 --- a/docs/manual/installation/custom-configuration.md +++ b/docs/manual/installation/custom-configuration.md @@ -39,7 +39,7 @@ An example flake that exposes your custom Neovim configuration might look like theme.enable = true; # Enable Treesitter - tree-sitter.enable = true; + treesitter.enable = true; # Other options will go here. Refer to the config # reference in Appendix B of the nvf manual. From e60fd89a42645be5044b61061e4495d1dd79aade Mon Sep 17 00:00:00 2001 From: Brian E <72316548+Brian-ED@users.noreply.github.com> Date: Thu, 24 Apr 2025 22:21:15 +0200 Subject: [PATCH 079/271] fixed typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit plural `way→→→→→→→←→→→→→→` to `ways` --- docs/manual/configuring/custom-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/configuring/custom-plugins.md b/docs/manual/configuring/custom-plugins.md index 79a691e2..c621e03c 100644 --- a/docs/manual/configuring/custom-plugins.md +++ b/docs/manual/configuring/custom-plugins.md @@ -15,7 +15,7 @@ plugin to the runtime, you need to add it to the [](#opt-vim.startPlugins) list in your configuration. Adding a plugin to `startPlugins` will not allow you to configure the plugin -that you have added, but **nvf** provides multiple way of configuring any custom +that you have added, but **nvf** provides multiple ways of configuring any custom plugins that you might have added to your configuration. ```{=include=} sections From f0fe0b0f62e44a77c75a7c316d7a9e8d545b1b51 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Thu, 24 Apr 2025 22:14:02 +0100 Subject: [PATCH 080/271] doc: format descriptions --- modules/plugins/assistant/avante/avante-nvim.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/plugins/assistant/avante/avante-nvim.nix b/modules/plugins/assistant/avante/avante-nvim.nix index e616d421..3e101865 100644 --- a/modules/plugins/assistant/avante/avante-nvim.nix +++ b/modules/plugins/assistant/avante/avante-nvim.nix @@ -44,7 +44,8 @@ in { default = "claude"; description = '' Since auto-suggestions are a high-frequency operation and therefore expensive, - currently designating it as `copilot` provider is dangerous because: https://github.com/yetone/avante.nvim/issues/1048 + currently designating it as `copilot` provider is dangerous because: + https://github.com/yetone/avante.nvim/issues/1048 Of course, you can reduce the request frequency by increasing `suggestion.debounce`. ''; }; @@ -124,7 +125,10 @@ in { mkEnableOption "" // { default = false; - description = "Whether to support pasting image from clipboard. This will be determined automatically based whether img-clip is available or not."; + description = '' + Whether to support pasting image from clipboard. + This will be determined automatically based whether img-clip is available or not. + ''; }; minimize_diff = From 75fa8e22b645c68c611e7512578fe551bf773547 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Thu, 24 Apr 2025 22:31:14 +0100 Subject: [PATCH 081/271] fix: lazy load avante.nvim plugin --- modules/plugins/assistant/avante/config.nix | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/modules/plugins/assistant/avante/config.nix b/modules/plugins/assistant/avante/config.nix index 1c975558..369ff24e 100644 --- a/modules/plugins/assistant/avante/config.nix +++ b/modules/plugins/assistant/avante/config.nix @@ -21,23 +21,12 @@ in { package = avante-nvim; setupModule = "avante"; inherit (cfg) setupOpts; - after = - /* - lua - */ - '' - vim.opt.laststatus = 3 - ''; + event = ["DeferredUIEnter"]; }; }; treesitter.enable = true; - autocomplete.nvim-cmp = { - sources = {"avante.nvim" = "[avante]";}; - sourcePlugins = ["avante-nvim"]; - }; - languages.markdown.extensions.render-markdown-nvim.setupOpts.file_types = lib.mkAfter ["Avante"]; }; }; From f8779d1968b74292146c7b15e3b8f066b492163f Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Thu, 24 Apr 2025 22:31:45 +0100 Subject: [PATCH 082/271] chore:set npins to follow nixpkgs avante version --- npins/sources.json | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 0fe81d49..d7e15028 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -27,17 +27,20 @@ "hash": "0c1jkhxamfn2md7m1r5b2wpxa26y90b98yzjwf68m3fymalvkn5h" }, "avante-nvim": { - "type": "Git", + "type": "GitRelease", "repository": { "type": "GitHub", "owner": "yetone", "repo": "avante.nvim" }, - "branch": "main", + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, "submodules": false, - "revision": "eb1cd44731783024621beafe4e46204cbc9a4320", - "url": "https://github.com/yetone/avante.nvim/archive/eb1cd44731783024621beafe4e46204cbc9a4320.tar.gz", - "hash": "1hdb1b74mxq6j10fv0zh6fniwpijwbxjxc59k7xzkqj6q20lad07" + "version": "v0.0.23", + "revision": "868c13657442b799a5c161940602f99623a08197", + "url": "https://api.github.com/repos/yetone/avante.nvim/tarball/v0.0.23", + "hash": "11h0fch0whr2mh23940h3k7l6grnp5bqv2nyxywkg1zvj680vpji" }, "base16": { "type": "Git", From bb3ca63d21cd05c197e2df9da6ee2c7eaa8e7672 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 12 Apr 2025 20:50:05 +0300 Subject: [PATCH 083/271] lsp/null-ls: take a list instead of attrs for sources --- modules/plugins/lsp/null-ls/null-ls.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/plugins/lsp/null-ls/null-ls.nix b/modules/plugins/lsp/null-ls/null-ls.nix index 3a10bac7..ba02df9c 100644 --- a/modules/plugins/lsp/null-ls/null-ls.nix +++ b/modules/plugins/lsp/null-ls/null-ls.nix @@ -1,6 +1,6 @@ {lib, ...}: let inherit (lib.options) mkOption mkEnableOption; - inherit (lib.types) attrsOf str int nullOr; + inherit (lib.types) listOf str int nullOr; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.types) luaInline mkPluginSetupOption; inherit (lib.nvim.config) batchRenameOptions; @@ -70,7 +70,7 @@ in { }; sources = mkOption { - type = nullOr (attrsOf luaInline); + type = nullOr (listOf luaInline); default = null; description = "Sources for null-ls to register"; }; From 6f2f28afb13ebbaee1d0a8f5dd390174b89f2998 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 27 Apr 2025 21:54:48 +0300 Subject: [PATCH 084/271] flake: bump inputs --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 3c089070..65243865 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1744597985, - "narHash": "sha256-lLYB9/tQ0OAKonL0Ku963nqOm0aE1TmLavrzmXAr5Zc=", + "lastModified": 1745705214, + "narHash": "sha256-XGfaHbFI4vvDuaoVO3IFYZKezXIO8rhUaMCGcjY71Ac=", "owner": "Gerg-L", "repo": "mnw", - "rev": "cbdcbb5f8eb24e25b932bbc87e29299a72e34b64", + "rev": "c1f4587db4c53dcefa432c46c7a899a116d8e924", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", + "lastModified": 1745377448, + "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", + "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", "type": "github" }, "original": { From 64bee7e7292785c514e2889edb72d7c4c8da395b Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Sat, 26 Apr 2025 19:45:58 +0100 Subject: [PATCH 085/271] fix: set avante-nvim to build from source --- flake/legacyPackages.nix | 11 +++ flake/legacyPackages/avante-nvim.nix | 81 +++++++++++++++++++++ modules/plugins/assistant/avante/config.nix | 5 +- modules/wrapper/build/config.nix | 2 +- npins/sources.json | 13 ++-- 5 files changed, 100 insertions(+), 12 deletions(-) create mode 100644 flake/legacyPackages/avante-nvim.nix diff --git a/flake/legacyPackages.nix b/flake/legacyPackages.nix index 33aee0e3..0fbc269c 100644 --- a/flake/legacyPackages.nix +++ b/flake/legacyPackages.nix @@ -28,6 +28,17 @@ sha256 = pin.hash; }; }; + avante-nvim = let + pin = self.pins.avante-nvim; + in + final.callPackage ./legacyPackages/avante-nvim.nix { + version = pin.branch; + src = prev.fetchFromGitHub { + inherit (pin.repository) owner repo; + rev = pin.revision; + sha256 = pin.hash; + }; + }; }) ]; }; diff --git a/flake/legacyPackages/avante-nvim.nix b/flake/legacyPackages/avante-nvim.nix new file mode 100644 index 00000000..d54325d4 --- /dev/null +++ b/flake/legacyPackages/avante-nvim.nix @@ -0,0 +1,81 @@ +{ + nix-update-script, + openssl, + pkg-config, + rustPlatform, + stdenv, + vimPlugins, + vimUtils, + makeWrapper, + pkgs, + version, + src, +}: let + inherit version src; + avante-nvim-lib = rustPlatform.buildRustPackage { + pname = "avante-nvim-lib"; + inherit version src; + + useFetchCargoVendor = true; + cargoHash = "sha256-pmnMoNdaIR0i+4kwW3cf01vDQo39QakTCEG9AXA86ck="; + + nativeBuildInputs = [ + pkg-config + makeWrapper + pkgs.perl + ]; + + buildInputs = [ + openssl + ]; + + buildFeatures = ["luajit"]; + + checkFlags = [ + # Disabled because they access the network. + "--skip=test_hf" + "--skip=test_public_url" + "--skip=test_roundtrip" + "--skip=test_fetch_md" + ]; + }; +in + vimUtils.buildVimPlugin { + pname = "avante-nvim"; + inherit version src; + + dependencies = with vimPlugins; [ + dressing-nvim + img-clip-nvim + nui-nvim + nvim-treesitter + plenary-nvim + ]; + + postInstall = let + 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} + ''; + + passthru = { + updateScript = nix-update-script { + attrPath = "vimPlugins.avante-nvim.avante-nvim-lib"; + }; + + # needed for the update script + inherit avante-nvim-lib; + }; + + nvimSkipModules = [ + # Requires setup with corresponding provider + "avante.providers.azure" + "avante.providers.copilot" + "avante.providers.vertex_claude" + "avante.providers.ollama" + ]; + } diff --git a/modules/plugins/assistant/avante/config.nix b/modules/plugins/assistant/avante/config.nix index 369ff24e..bb97780f 100644 --- a/modules/plugins/assistant/avante/config.nix +++ b/modules/plugins/assistant/avante/config.nix @@ -1,5 +1,4 @@ { - pkgs, config, lib, ... @@ -17,8 +16,8 @@ in { ]; lazy.plugins = { - "avante.nvim" = with pkgs.vimPlugins; { - package = avante-nvim; + avante-nvim = { + package = "avante-nvim"; setupModule = "avante"; inherit (cfg) setupOpts; event = ["DeferredUIEnter"]; diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index 3b147571..4d331a67 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -51,7 +51,7 @@ doCheck = false; }; - inherit (inputs.self.legacyPackages.${pkgs.stdenv.system}) blink-cmp; + inherit (inputs.self.legacyPackages.${pkgs.stdenv.system}) blink-cmp avante-nvim; }; buildConfigPlugins = plugins: diff --git a/npins/sources.json b/npins/sources.json index d7e15028..a55ed2d1 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -27,20 +27,17 @@ "hash": "0c1jkhxamfn2md7m1r5b2wpxa26y90b98yzjwf68m3fymalvkn5h" }, "avante-nvim": { - "type": "GitRelease", + "type": "Git", "repository": { "type": "GitHub", "owner": "yetone", "repo": "avante.nvim" }, - "pre_releases": false, - "version_upper_bound": null, - "release_prefix": null, + "branch": "main", "submodules": false, - "version": "v0.0.23", - "revision": "868c13657442b799a5c161940602f99623a08197", - "url": "https://api.github.com/repos/yetone/avante.nvim/tarball/v0.0.23", - "hash": "11h0fch0whr2mh23940h3k7l6grnp5bqv2nyxywkg1zvj680vpji" + "revision": "f9aa75459d403d9e963ef2647c9791e0dfc9e5f9", + "url": "https://github.com/yetone/avante.nvim/archive/f9aa75459d403d9e963ef2647c9791e0dfc9e5f9.tar.gz", + "hash": "1qgdxapmw24zkx3d4cwv6f459p2a6dw7pvx7sa3650px2n75bb31" }, "base16": { "type": "Git", From 3147ef13711464ec555f8897c1179c55ca76ec77 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 27 Apr 2025 22:32:50 +0300 Subject: [PATCH 086/271] pins: bump all plugins --- npins/sources.json | 234 ++++++++++++++++++++++----------------------- 1 file changed, 117 insertions(+), 117 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 90a54057..04c35ede 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -9,9 +9,9 @@ }, "branch": "master", "submodules": false, - "revision": "44684bf429dc40e97a6d00ffa09043ac3f692186", - "url": "https://github.com/stevearc/aerial.nvim/archive/44684bf429dc40e97a6d00ffa09043ac3f692186.tar.gz", - "hash": "02zd23np2pn7hivi8sl63lcdn85cfbvsapkyghkwh9prxg8a81zn" + "revision": "2e00d1d4248f08dddfceacb8d2996e51e13e00f6", + "url": "https://github.com/stevearc/aerial.nvim/archive/2e00d1d4248f08dddfceacb8d2996e51e13e00f6.tar.gz", + "hash": "18rhmpqs8440hn4g5786znj37fzb01wa3zws33rlq9vm6sfb0grw" }, "alpha-nvim": { "type": "Git", @@ -103,9 +103,9 @@ }, "branch": "main", "submodules": false, - "revision": "ca538d15bd22fedd3408064d2b25ff8d56ec8ce8", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/ca538d15bd22fedd3408064d2b25ff8d56ec8ce8.tar.gz", - "hash": "1rg40x0lvz11rl95b3q3kqzb8ygvyvhcxiw255200ccxl6q21jg8" + "revision": "89c4d158bc6d6ca03b4059452f2f9ffaa850db8a", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/89c4d158bc6d6ca03b4059452f2f9ffaa850db8a.tar.gz", + "hash": "04xh5hzbzvm0nvipsy0cw7k1vb1kcrb09xiw0j66cqddjvvpv6zk" }, "bufdelete-nvim": { "type": "Git", @@ -272,9 +272,9 @@ }, "branch": "main", "submodules": false, - "revision": "030f305930a25bd9e45b5e5252b47b7069fb800e", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/030f305930a25bd9e45b5e5252b47b7069fb800e.tar.gz", - "hash": "1n59gkzfs05ybf7xvrbxacmwk8nbz8ybgdjwv8irdz5la5hi6wmn" + "revision": "c861811f8b825d30c0343951336d2bb8c8f6d990", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/c861811f8b825d30c0343951336d2bb8c8f6d990.tar.gz", + "hash": "0a1mzwh07lhrx893w7xdlhgiivbrwqp7a0b9wkdrna99x8kd9d77" }, "codewindow-nvim": { "type": "Git", @@ -311,9 +311,9 @@ }, "branch": "master", "submodules": false, - "revision": "6632e7d788a85bf8405ea0c812d343fc308b7b8c", - "url": "https://github.com/stevearc/conform.nvim/archive/6632e7d788a85bf8405ea0c812d343fc308b7b8c.tar.gz", - "hash": "0dv4h87jjb2dp6whgc7wvxisc7hcx1828ixzci80py8kjky013zw" + "revision": "372fc521f8421b7830ea6db4d6ea3bae1c77548c", + "url": "https://github.com/stevearc/conform.nvim/archive/372fc521f8421b7830ea6db4d6ea3bae1c77548c.tar.gz", + "hash": "0b6qbwyb6ashpia7pk0r5kp82pdrblhmhmx1fprgy7lmgnm8mw97" }, "copilot-cmp": { "type": "Git", @@ -337,9 +337,9 @@ }, "branch": "master", "submodules": false, - "revision": "dc579f98536029610cfa32c6bad86c0d24363679", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/dc579f98536029610cfa32c6bad86c0d24363679.tar.gz", - "hash": "16zx9a8f2mjmj7ibdsjyj0vqdsc10yl1vrna0kkkgccj957rd99x" + "revision": "a5c390f8d8e85b501b22dcb2f30e0cbbd69d5ff0", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/a5c390f8d8e85b501b22dcb2f30e0cbbd69d5ff0.tar.gz", + "hash": "1pk6mh40kbja49xlsqv70wl3j89i6p996gf8z95b9b50pd2dsdgk" }, "crates-nvim": { "type": "Git", @@ -376,9 +376,9 @@ }, "branch": "master", "submodules": false, - "revision": "000448d837f6e7a47f8f342f29526c4d7e49e9ce", - "url": "https://github.com/glepnir/dashboard-nvim/archive/000448d837f6e7a47f8f342f29526c4d7e49e9ce.tar.gz", - "hash": "11kh15qp819dhr2r3q78dv9pzxrswzzpjqmdpa5nlba9mvgjzzy3" + "revision": "b0551fae871fc39454a67cca1adcf76fbe2f61f9", + "url": "https://github.com/glepnir/dashboard-nvim/archive/b0551fae871fc39454a67cca1adcf76fbe2f61f9.tar.gz", + "hash": "0m67ij62dwnzyspyckhqvcsk81nvc16gx8zphghw4w2w4vl9lsrj" }, "diffview-nvim": { "type": "Git", @@ -454,9 +454,9 @@ }, "branch": "main", "submodules": false, - "revision": "c43684448470e732387beccaff12e6667a534800", - "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/c43684448470e732387beccaff12e6667a534800.tar.gz", - "hash": "1ihh07j9q4089m4iw7sb33zg106g1m84bd2nk81gixfl76vg3vbi" + "revision": "2f2e8d7010a0e5e725957828476b4e1625eaf82c", + "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/2f2e8d7010a0e5e725957828476b4e1625eaf82c.tar.gz", + "hash": "0m2qplldlcgzb6n5lwnwiac5n56zpyf3df015abfwrwba95zflfv" }, "fidget-nvim": { "type": "Git", @@ -506,9 +506,9 @@ }, "branch": "main", "submodules": false, - "revision": "31f2a2657b6261724313281fe0d8ba6f43f4a4fa", - "url": "https://github.com/rafamadriz/friendly-snippets/archive/31f2a2657b6261724313281fe0d8ba6f43f4a4fa.tar.gz", - "hash": "0rkz7zbv1maqhr22nxq39w7pahahcapfyc4rgscmr3bm4dcymk2a" + "revision": "fc8f183479a472df60aa86f00e295462f2308178", + "url": "https://github.com/rafamadriz/friendly-snippets/archive/fc8f183479a472df60aa86f00e295462f2308178.tar.gz", + "hash": "1clmyxkw0gk9p9j72d75byws75vi3r7d04wica2dq5i0zkk49b27" }, "fzf-lua": { "type": "Git", @@ -519,9 +519,9 @@ }, "branch": "main", "submodules": false, - "revision": "ea2bda8a9717307affd921e1b540dc06acdf8ea8", - "url": "https://github.com/ibhagwan/fzf-lua/archive/ea2bda8a9717307affd921e1b540dc06acdf8ea8.tar.gz", - "hash": "0ba9ncwjv9kcnw7nimifyad54xdf1cacbdlc7hjyy2zlivf4pm3g" + "revision": "b11467c3fbfe48e4a815e4909f5c4e5b413ce6d0", + "url": "https://github.com/ibhagwan/fzf-lua/archive/b11467c3fbfe48e4a815e4909f5c4e5b413ce6d0.tar.gz", + "hash": "1yjfyz0fchibyb6wnnyxarn2v4fxxfvf9vy1pyvfc7mz5b4mzwc2" }, "gesture-nvim": { "type": "Git", @@ -584,9 +584,9 @@ }, "branch": "main", "submodules": false, - "revision": "02eafb1273afec94447f66d1a43fc5e477c2ab8a", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/02eafb1273afec94447f66d1a43fc5e477c2ab8a.tar.gz", - "hash": "1m507jyyi1nny14q2bxydy6a54g28yq855g4yaj9jslz7dml2v4i" + "revision": "9cd665f46ab7af2e49d140d328b8e72ea1cf511b", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/9cd665f46ab7af2e49d140d328b8e72ea1cf511b.tar.gz", + "hash": "110ykgvd3hbjq8ilz1yvfcic1jpqzyz4r13dswmpv7nvsi7a2lb5" }, "glow-nvim": { "type": "Git", @@ -610,9 +610,9 @@ }, "branch": "main", "submodules": false, - "revision": "a933d8666dad9363dc6908ae72cfc832299c2f59", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/a933d8666dad9363dc6908ae72cfc832299c2f59.tar.gz", - "hash": "02r2h0ip2vzmgmv9b36ff2r6br3ql0b9ggzl8ijsyjy7pgiij04y" + "revision": "c54db7f7e67832fbdd0ac14633f62c8a6997ddcf", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/c54db7f7e67832fbdd0ac14633f62c8a6997ddcf.tar.gz", + "hash": "0i7dh2d3l1w6bga6gpfssam7w1qkd84q3cxyscdfsf4j9z4b62l2" }, "harpoon": { "type": "Git", @@ -636,9 +636,9 @@ }, "branch": "master", "submodules": false, - "revision": "797610ad83d2730d0a8659ecac5d98ccb476ac23", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/797610ad83d2730d0a8659ecac5d98ccb476ac23.tar.gz", - "hash": "1i1ivfhl34yi9xff5s1wkr252vlfjazsf75bjphbi4c50s64wbaa" + "revision": "fda0e5082ecc1c9e892f38b715d6f61e8829081d", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/fda0e5082ecc1c9e892f38b715d6f61e8829081d.tar.gz", + "hash": "0hi0ww7q0j042ssjk7x3d4s4vaninawpw3s0yrv1c4l1q5v6gnz1" }, "highlight-undo-nvim": { "type": "Git", @@ -704,9 +704,9 @@ }, "branch": "master", "submodules": false, - "revision": "2e2d28b7734b5efdfc1219f4da8a46c761587bc2", - "url": "https://github.com/3rd/image.nvim/archive/2e2d28b7734b5efdfc1219f4da8a46c761587bc2.tar.gz", - "hash": "1k2bch2l9bvy4ian6l3jymddcy7p4mvblpmbq0qvn8rzxdi65fy1" + "revision": "4c51d6202628b3b51e368152c053c3fb5c5f76f2", + "url": "https://github.com/3rd/image.nvim/archive/4c51d6202628b3b51e368152c053c3fb5c5f76f2.tar.gz", + "hash": "16s1wsy9k72qiqzvwij67j2jzwgi6ggl6lhx9p6lfw8dpps3ayxg" }, "indent-blankline-nvim": { "type": "Git", @@ -743,9 +743,9 @@ }, "branch": "main", "submodules": false, - "revision": "8a0efa79133fee211017d769c8031512192008b3", - "url": "https://github.com/ggandor/leap.nvim/archive/8a0efa79133fee211017d769c8031512192008b3.tar.gz", - "hash": "0pgg26r5rh1r2364yj05w4scarzy6zwsp6w7s9yxgfmk7l9x89yk" + "revision": "2b68ddc0802bd295e64c9e2e75f18f755e50dbcc", + "url": "https://github.com/ggandor/leap.nvim/archive/2b68ddc0802bd295e64c9e2e75f18f755e50dbcc.tar.gz", + "hash": "07bdhfsig70qblvk2x0n35i5apz3mjdr05ba3082mh438ikgfmvx" }, "leetcode-nvim": { "type": "Git", @@ -769,9 +769,9 @@ }, "branch": "master", "submodules": false, - "revision": "15bb33cdb47e85278e168cad11acb1b6fa9c6488", - "url": "https://github.com/ray-x/lsp_signature.nvim/archive/15bb33cdb47e85278e168cad11acb1b6fa9c6488.tar.gz", - "hash": "0acynlgd7vg3cn08136ky1j2qayq1f7x6fl1562cby6hl47rsnck" + "revision": "a793d02b6a5e639fa9d3f2a89a839fa688ab2d0a", + "url": "https://github.com/ray-x/lsp_signature.nvim/archive/a793d02b6a5e639fa9d3f2a89a839fa688ab2d0a.tar.gz", + "hash": "0y5ffzj613kf0mq74yj248176fywn4vrsnn1fhip7j5yni1cyhzy" }, "lspkind-nvim": { "type": "Git", @@ -821,9 +821,9 @@ }, "branch": "master", "submodules": false, - "revision": "86fe39534b7da729a1ac56c0466e76f2c663dc42", - "url": "https://github.com/hoob3rt/lualine.nvim/archive/86fe39534b7da729a1ac56c0466e76f2c663dc42.tar.gz", - "hash": "1kqdckylsjl1ibk4wm87y1yxxzxnjz87vwziaw4k6nw61rg0bq2x" + "revision": "15884cee63a8c205334ab13ab1c891cd4d27101a", + "url": "https://github.com/hoob3rt/lualine.nvim/archive/15884cee63a8c205334ab13ab1c891cd4d27101a.tar.gz", + "hash": "0c251ywx5gsqwafgn2pb7qrv43cimrxp4wwqhlxccizf3l6l9wy1" }, "luasnip": { "type": "Git", @@ -847,9 +847,9 @@ }, "branch": "master", "submodules": false, - "revision": "c22bd7ef977a32b792ea70e203126a9063519a62", - "url": "https://github.com/nvim-neorocks/lz.n/archive/c22bd7ef977a32b792ea70e203126a9063519a62.tar.gz", - "hash": "0q8bz28dbmdsyndbnajw73x2cr8kpcx0fcj9lip9mr24vgx2vb8v" + "revision": "a10519ab5940a5364560043df9dc3db328e27f98", + "url": "https://github.com/nvim-neorocks/lz.n/archive/a10519ab5940a5364560043df9dc3db328e27f98.tar.gz", + "hash": "18q0hai33qrb950lg8w9nk83smqpp1ahiyrn6pv9dqyakbqhx1k1" }, "lzn-auto-require": { "type": "Git", @@ -990,9 +990,9 @@ }, "branch": "main", "submodules": false, - "revision": "1c88ba8c79e5717acc82bf596f5722c724af570e", - "url": "https://github.com/echasnovski/mini.colors/archive/1c88ba8c79e5717acc82bf596f5722c724af570e.tar.gz", - "hash": "0dcv6z4z5gq73d2s2hbcg8l5y1jzxvdsq7wy6a2rxbjmjhg5j7is" + "revision": "c45b8ee96f0347134e34ba3f0adaf08a9a8826d3", + "url": "https://github.com/echasnovski/mini.colors/archive/c45b8ee96f0347134e34ba3f0adaf08a9a8826d3.tar.gz", + "hash": "1px2x50h613f3jahhr24bmkkwxpwnf68c5acz51r89rmj5dl5v9r" }, "mini-comment": { "type": "Git", @@ -1016,9 +1016,9 @@ }, "branch": "main", "submodules": false, - "revision": "35130cebc63ace7d6e4583f349af8cd3f3141af7", - "url": "https://github.com/echasnovski/mini.completion/archive/35130cebc63ace7d6e4583f349af8cd3f3141af7.tar.gz", - "hash": "0h5z5i62cc780bzw60rbizngvpyl4vk7j858pndyi2g572plz929" + "revision": "f0c324ff2142b02871cfb43049461e4f3f022a11", + "url": "https://github.com/echasnovski/mini.completion/archive/f0c324ff2142b02871cfb43049461e4f3f022a11.tar.gz", + "hash": "0q8w733i3428gzz6bk4ldc57smj55916imnpzx33arhfdvmzp8l0" }, "mini-cursorword": { "type": "GitRelease", @@ -1214,9 +1214,9 @@ }, "branch": "main", "submodules": false, - "revision": "52bf20e952a26820c25776c7b594f64b7a6dcb66", - "url": "https://github.com/echasnovski/mini.misc/archive/52bf20e952a26820c25776c7b594f64b7a6dcb66.tar.gz", - "hash": "0r2xmxlsq8ifq4ps54l7yjljczlp7ldxp8b30gjdkkrbbi1rkbvg" + "revision": "f7252c5b8ff27d0856b91a410efe8e528370d919", + "url": "https://github.com/echasnovski/mini.misc/archive/f7252c5b8ff27d0856b91a410efe8e528370d919.tar.gz", + "hash": "02jrwcmbi74512240p8grlc9awivyihl6s71d60s46nslgqlnsqf" }, "mini-move": { "type": "Git", @@ -1240,9 +1240,9 @@ }, "branch": "main", "submodules": false, - "revision": "f4e892533c8821bc5e0f373b353022a42bd465f7", - "url": "https://github.com/echasnovski/mini.notify/archive/f4e892533c8821bc5e0f373b353022a42bd465f7.tar.gz", - "hash": "0ziqqd8zz2d28x7801g9h45jgcv5vxqx25wcyh3574zrd5aay5s7" + "revision": "3a06b21dd0b335b95d125eae813276113b5e9ce7", + "url": "https://github.com/echasnovski/mini.notify/archive/3a06b21dd0b335b95d125eae813276113b5e9ce7.tar.gz", + "hash": "13pa82zmz6w8is4gfh33fqcd2yx3f1bmd5r3q4sp1kfgf2c68c30" }, "mini-operators": { "type": "Git", @@ -1279,9 +1279,9 @@ }, "branch": "main", "submodules": false, - "revision": "6cad781797f3a9b0e69f2e9a2d63de8b1c1824f5", - "url": "https://github.com/echasnovski/mini.pick/archive/6cad781797f3a9b0e69f2e9a2d63de8b1c1824f5.tar.gz", - "hash": "1nsnz9dys2nsjrpzm4d3dc4qjms5f7pqsxbgnvglibi9vizrkahx" + "revision": "417c273861971b451687e847383e61687463b06e", + "url": "https://github.com/echasnovski/mini.pick/archive/417c273861971b451687e847383e61687463b06e.tar.gz", + "hash": "0xyw2wns9fpv1yxzflb18mmfajihy45g163q4bka0vylj77858xa" }, "mini-sessions": { "type": "Git", @@ -1477,9 +1477,9 @@ }, "branch": "main", "submodules": false, - "revision": "1ef260eb4f54515fe121a2267b477efb054d108a", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/1ef260eb4f54515fe121a2267b477efb054d108a.tar.gz", - "hash": "0j0gr2pisrj5vsiwsvrd3dkrdrd3q2742srk23rw2x0h055c0mxh" + "revision": "299e174c3b8373c9c1f9be0bc3967c852712d0f3", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/299e174c3b8373c9c1f9be0bc3967c852712d0f3.tar.gz", + "hash": "0vm7hbcqj548pvl9vfmzsgpx73lmrnmhp399bprizg87zn73m005" }, "neocord": { "type": "Git", @@ -1581,9 +1581,9 @@ }, "branch": "main", "submodules": false, - "revision": "fb50cf17e926a037c9f8d96d8db29ddbd04965d4", - "url": "https://github.com/nvimtools/none-ls.nvim/archive/fb50cf17e926a037c9f8d96d8db29ddbd04965d4.tar.gz", - "hash": "07zfkjdqwlrm1d07za0payqs37gmn4x8m489438nv84sqqhnfrvd" + "revision": "751349f21bdf1acf7af091fead456866bf9a7e7d", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/751349f21bdf1acf7af091fead456866bf9a7e7d.tar.gz", + "hash": "1zhqyjs914ib1yq42xq3aphw8pl4168h2k3ybm92z00ahi51kbqn" }, "nord": { "type": "Git", @@ -1607,9 +1607,9 @@ }, "branch": "main", "submodules": false, - "revision": "8d3bce9764e627b62b07424e0df77f680d47ffdb", - "url": "https://github.com/MunifTanjim/nui.nvim/archive/8d3bce9764e627b62b07424e0df77f680d47ffdb.tar.gz", - "hash": "0ia8q5d4xcss45vw6jlaanyr0migy03cjzq9g0kipfyqxkcxi105" + "revision": "8d5b0b568517935d3c84f257f272ef004d9f5a59", + "url": "https://github.com/MunifTanjim/nui.nvim/archive/8d5b0b568517935d3c84f257f272ef004d9f5a59.tar.gz", + "hash": "0z5md64qly2dzm9pq46ldid45l44mfwqk3r1hirk8lj6djyrxv9m" }, "nvim-autopairs": { "type": "Git", @@ -1685,9 +1685,9 @@ }, "branch": "master", "submodules": false, - "revision": "98bf130702eaafad8567c0e3ea1171c2552d58bb", - "url": "https://github.com/mfussenegger/nvim-dap/archive/98bf130702eaafad8567c0e3ea1171c2552d58bb.tar.gz", - "hash": "045sajd5amwxq4964yj4lbh20daa0g8473a0ggbwggxpq6qz2678" + "revision": "8df427aeba0a06c6577dc3ab82de3076964e3b8d", + "url": "https://github.com/mfussenegger/nvim-dap/archive/8df427aeba0a06c6577dc3ab82de3076964e3b8d.tar.gz", + "hash": "13d04z1dnkrhslq6s1xba5myqkgxar3i3p2lhqvpawicbba8yp22" }, "nvim-dap-go": { "type": "Git", @@ -1711,9 +1711,9 @@ }, "branch": "master", "submodules": false, - "revision": "881a69e25bd6658864fab47450025490b74be878", - "url": "https://github.com/rcarriga/nvim-dap-ui/archive/881a69e25bd6658864fab47450025490b74be878.tar.gz", - "hash": "040xa1jg5591czydjsxf9rwk3g805nxgaaqn5zkgkxr3igc2rvsy" + "revision": "73a26abf4941aa27da59820fd6b028ebcdbcf932", + "url": "https://github.com/rcarriga/nvim-dap-ui/archive/73a26abf4941aa27da59820fd6b028ebcdbcf932.tar.gz", + "hash": "1h71y3pjbbgh8kgghs0sb721bl9pd7l7ak3mj1j27fv6x6kbmgar" }, "nvim-docs-view": { "type": "Git", @@ -1750,9 +1750,9 @@ }, "branch": "master", "submodules": false, - "revision": "d698d3b6fd7b1b85657d05a2a31d843ddb682c63", - "url": "https://github.com/mfussenegger/nvim-lint/archive/d698d3b6fd7b1b85657d05a2a31d843ddb682c63.tar.gz", - "hash": "0m4hj1yc0s6cb3icshcr3qkd5wknksnnw97axjbacsan5vc6831z" + "revision": "9dfb77ef6c5092a19502883c02dc5a02ec648729", + "url": "https://github.com/mfussenegger/nvim-lint/archive/9dfb77ef6c5092a19502883c02dc5a02ec648729.tar.gz", + "hash": "0772bgl09jcrvvhvpic2b07qb21kf2pr479g792jlwbr5jfa1pa0" }, "nvim-lspconfig": { "type": "Git", @@ -1763,9 +1763,9 @@ }, "branch": "master", "submodules": false, - "revision": "32b6a6449aaba11461fffbb596dd6310af79eea4", - "url": "https://github.com/neovim/nvim-lspconfig/archive/32b6a6449aaba11461fffbb596dd6310af79eea4.tar.gz", - "hash": "0rbqg3xdsdfklcsadzbbphzrgwa2c54lsipfqd67jq2p4baxsgxn" + "revision": "641e567f975feab3815b47c7d29e6148e07afa77", + "url": "https://github.com/neovim/nvim-lspconfig/archive/641e567f975feab3815b47c7d29e6148e07afa77.tar.gz", + "hash": "1238hk6v3mm6hzjbipz60rva7crv95h2vzg6ph9wzplq52kzryav" }, "nvim-metals": { "type": "Git", @@ -1880,9 +1880,9 @@ }, "branch": "master", "submodules": false, - "revision": "3a63717d3d332d8f39aaf65be7a0e4c2265af021", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/3a63717d3d332d8f39aaf65be7a0e4c2265af021.tar.gz", - "hash": "1w5m090wwhbsdif0w2fhg8qvdjni0g95b13h0kh5kdm3a7avwsm0" + "revision": "582ae48c9e43d2bcd55dfcc8e2e7a1f29065d924", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/582ae48c9e43d2bcd55dfcc8e2e7a1f29065d924.tar.gz", + "hash": "1xpal45q4mvplvgz06z4wzsq1ml5awv8v4m0k9jh9s4xlnc0va24" }, "nvim-treesitter-context": { "type": "Git", @@ -1919,9 +1919,9 @@ }, "branch": "main", "submodules": false, - "revision": "17aa9cec9081351946743a7094c0c883b24ebe64", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/17aa9cec9081351946743a7094c0c883b24ebe64.tar.gz", - "hash": "14lz7bnwkv3gjpkh8zi9ki9xlxc979gfy3ii396fpa1l3jpys18q" + "revision": "d4c8bdb06b7a589f004a53bf710196967752c63d", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/d4c8bdb06b7a589f004a53bf710196967752c63d.tar.gz", + "hash": "11zcr6vvj6gm5di63w55ccvwf2x7his8v9v8bingsz6l6n79dk6v" }, "nvim-web-devicons": { "type": "Git", @@ -1932,9 +1932,9 @@ }, "branch": "master", "submodules": false, - "revision": "855c97005c8eebcdd19846f2e54706bffd40ee96", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/855c97005c8eebcdd19846f2e54706bffd40ee96.tar.gz", - "hash": "1rxpc5k6jbz7078dmjyjg8kgs67q2815bs8fz0srfqwyhvkgi15s" + "revision": "50b5b06bff13a9b4eab946de7c7033649a6618a1", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/50b5b06bff13a9b4eab946de7c7033649a6618a1.tar.gz", + "hash": "1jsrwcsyjwlzk2l3x417pr6s6cq4zk6b6k417hhmrprrw66ajdb6" }, "obsidian-nvim": { "type": "Git", @@ -1958,9 +1958,9 @@ }, "branch": "master", "submodules": false, - "revision": "302bbaceeafc690e6419e0c8296e804d60cb9446", - "url": "https://github.com/stevearc/oil.nvim/archive/302bbaceeafc690e6419e0c8296e804d60cb9446.tar.gz", - "hash": "155v10myfpahyf9hf2x3dmp8ljjqavmqg1958x255i9l5swqcp5g" + "revision": "685cdb4ffa74473d75a1b97451f8654ceeab0f4a", + "url": "https://github.com/stevearc/oil.nvim/archive/685cdb4ffa74473d75a1b97451f8654ceeab0f4a.tar.gz", + "hash": "1wqbsfh274wkyyx8nf5gbcnsk92y4bwsrwq2vl85x3cx73kkzlhv" }, "omnisharp-extended-lsp-nvim": { "type": "Git", @@ -1984,9 +1984,9 @@ }, "branch": "master", "submodules": false, - "revision": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6", - "url": "https://github.com/navarasu/onedark.nvim/archive/67a74c275d1116d575ab25485d1bfa6b2a9c38a6.tar.gz", - "hash": "1pfyz3ascxs3sxl878qcirp9jsz77kpl2ks3wxkcv8ql4psymc9l" + "revision": "0e5512d1bebd1f08954710086f87a5caa173a924", + "url": "https://github.com/navarasu/onedark.nvim/archive/0e5512d1bebd1f08954710086f87a5caa173a924.tar.gz", + "hash": "14ixrvcp3h06kngq5ji54lf2l10k33vrmzs609xf7sqdy6rflm4j" }, "orgmode": { "type": "Git", @@ -1997,9 +1997,9 @@ }, "branch": "master", "submodules": false, - "revision": "8c17ffeb2d08f77a6fd098634f5f85034d88caf8", - "url": "https://github.com/nvim-orgmode/orgmode/archive/8c17ffeb2d08f77a6fd098634f5f85034d88caf8.tar.gz", - "hash": "1rx20i6y666n8a593b2fqw2gdxs96qhzgwrza6m8zfcavzkwh0r0" + "revision": "27ab1cf9e7ae142f9e9ffb218be50dd920f04cb3", + "url": "https://github.com/nvim-orgmode/orgmode/archive/27ab1cf9e7ae142f9e9ffb218be50dd920f04cb3.tar.gz", + "hash": "176v9y36258jm8h3aaph57wgr6s7rgmgdnq9hgwialwn4bygfym0" }, "otter-nvim": { "type": "Git", @@ -2127,9 +2127,9 @@ }, "branch": "main", "submodules": false, - "revision": "dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f.tar.gz", - "hash": "1r636cyjflhpybjwfi01blbwkrxwi4lvykffrjclwfaf4l4gwddd" + "revision": "78ffe3b0500bbc7e37fabde723d96661538e8b32", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/78ffe3b0500bbc7e37fabde723d96661538e8b32.tar.gz", + "hash": "00dn9cpdvm7dy4xyhaij2rs0g0l926cqvjn03v06sray3adbyij5" }, "rose-pine": { "type": "Git", @@ -2179,9 +2179,9 @@ }, "branch": "master", "submodules": false, - "revision": "69636cedf0d6aabf0eac3dfbce24883fe1051a3d", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/69636cedf0d6aabf0eac3dfbce24883fe1051a3d.tar.gz", - "hash": "0g40qj67pazf428wdgzijvf1a4xr2l1nimxisyka52fpwi1rah4y" + "revision": "3f2b7a94b7fa3c0f301dfa9644c94b543000efc2", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/3f2b7a94b7fa3c0f301dfa9644c94b543000efc2.tar.gz", + "hash": "1y3x6m3yglkyv37xgli9k3dlw59yy3jbsp1phx75xqma1480dzy5" }, "smartcolumn-nvim": { "type": "Git", @@ -2338,9 +2338,9 @@ }, "branch": "master", "submodules": false, - "revision": "2503b188cd2a17ce44fdd21a944a93335e935215", - "url": "https://github.com/chomosuke/typst-preview.nvim/archive/2503b188cd2a17ce44fdd21a944a93335e935215.tar.gz", - "hash": "0l981pjiz2ycn6rw1xwvmhdjpml7nrrlymwfyc942inw173k1jsg" + "revision": "dea4525d5420b7c32eebda7de15a6beb9d6574fa", + "url": "https://github.com/chomosuke/typst-preview.nvim/archive/dea4525d5420b7c32eebda7de15a6beb9d6574fa.tar.gz", + "hash": "0y658l2ibq0x4cwa4rl3lab7aw4ba68xcrdnxp81p2rsk0d60qq4" }, "vim-dirtytalk": { "type": "Git", @@ -2377,9 +2377,9 @@ }, "branch": "master", "submodules": false, - "revision": "1fa4b23409e22a03823648e344c77f260e2572cb", - "url": "https://github.com/RRethy/vim-illuminate/archive/1fa4b23409e22a03823648e344c77f260e2572cb.tar.gz", - "hash": "1z27z6mpj4jazmifyz5scrniqr7sgh9hbkqx4g27yk0dnn9cm9ff" + "revision": "f985f5a4fbc410c9e5367f6b5863a8fa502e516d", + "url": "https://github.com/RRethy/vim-illuminate/archive/f985f5a4fbc410c9e5367f6b5863a8fa502e516d.tar.gz", + "hash": "0igx2i4k59vadhw7kgqvxjw9594n8p2n9yqszif9by8xq5gsd7g6" }, "vim-markdown": { "type": "Git", From 1768791402ae4112c08f71c077f65d035d672126 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 16 Feb 2025 12:48:40 +0300 Subject: [PATCH 087/271] lib/languages: add `lspOptions` submodule type for freeform LSP config --- lib/languages.nix | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/lib/languages.nix b/lib/languages.nix index a202ff14..19171cc8 100644 --- a/lib/languages.nix +++ b/lib/languages.nix @@ -1,9 +1,10 @@ -# From home-manager: https://github.com/nix-community/home-manager/blob/master/modules/lib/booleans.nix {lib}: let inherit (builtins) isString getAttr; inherit (lib.options) mkOption; - inherit (lib.types) bool; + inherit (lib.types) listOf bool str submodule attrsOf anything; + inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; + inherit (lib.nvim.types) luaInline; in { diagnosticsToLua = { lang, @@ -32,4 +33,31 @@ in { type = bool; description = "Turn on ${desc} for enabled languages by default"; }; + + lspOptions = submodule { + freeformType = attrsOf anything; + options = { + capabilities = mkOption { + type = luaInline; + default = mkLuaInline "capabilities"; + description = "LSP capabilitiess to pass to lspconfig"; + }; + + on_attach = mkOption { + type = luaInline; + default = mkLuaInline "default_on_attach"; + description = "Function to execute when an LSP server attaches to a buffer"; + }; + + filetypes = mkOption { + type = listOf str; + description = "Filetypes to auto-attach LSP in"; + }; + + cmd = mkOption { + type = listOf str; + description = "Command used to start the LSP server"; + }; + }; + }; } From 159a0339024a3b3e34fa97f46eacb3d41cdbaf34 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 5 Apr 2025 22:47:10 +0300 Subject: [PATCH 088/271] lib/languages: add `root_marker` to `lspOptions` type --- lib/languages.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/languages.nix b/lib/languages.nix index 19171cc8..d7e30394 100644 --- a/lib/languages.nix +++ b/lib/languages.nix @@ -58,6 +58,14 @@ in { type = listOf str; description = "Command used to start the LSP server"; }; + + root_markers = mkOption { + type = listOf str; + description = '' + "root markers" used to determine the root directory of the workspace, and + the filetypes associated with this LSP server. + ''; + }; }; }; } From 35c432db3b76e898fec0f6e25f9e410e0807d9c4 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 5 Apr 2025 22:47:25 +0300 Subject: [PATCH 089/271] neovim/lsp: init --- modules/neovim/init/default.nix | 1 + modules/neovim/init/lsp.nix | 44 +++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 modules/neovim/init/lsp.nix diff --git a/modules/neovim/init/default.nix b/modules/neovim/init/default.nix index 0e7a4c6b..7db6f2ef 100644 --- a/modules/neovim/init/default.nix +++ b/modules/neovim/init/default.nix @@ -5,6 +5,7 @@ ./debug.nix ./diagnostics.nix ./highlight.nix + ./lsp.nix ./spellcheck.nix ]; } diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix new file mode 100644 index 00000000..5dfd7a74 --- /dev/null +++ b/modules/neovim/init/lsp.nix @@ -0,0 +1,44 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.options) mkOption; + inherit (lib.types) attrsOf; + inherit (lib.strings) concatLines; + inherit (lib.attrsets) mapAttrsToList attrNames filterAttrs; + inherit (lib.nvim.languages) lspOptions; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.lsp; + + lspConfigurations = + mapAttrsToList ( + name: value: '' + vim.lsp.config["${name}"] = ${toLuaObject value} + '' + ) + cfg.servers; + + enabledServers = filterAttrs (_: u: u.enable) cfg.servers; +in { + options = { + vim.lsp.servers = mkOption { + type = attrsOf lspOptions; + default = {}; + description = ""; + }; + }; + + config = mkIf (cfg.servers != {}) { + vim.luaConfigRC.lsp-servers = entryAnywhere '' + -- Individual LSP configurations managed by nvf. + ${(concatLines lspConfigurations)} + + -- Enable configured LSPs explicitly + vim.lsp.enable(${toLuaObject (attrNames enabledServers)}) + ''; + }; +} From 52fb95ea6b93f37f40dc710d4b6a9df8685051ba Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 5 Apr 2025 23:17:18 +0300 Subject: [PATCH 090/271] lib/languages: add explicit enable to LSP submodule --- lib/languages.nix | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/lib/languages.nix b/lib/languages.nix index d7e30394..c4074144 100644 --- a/lib/languages.nix +++ b/lib/languages.nix @@ -1,11 +1,11 @@ {lib}: let inherit (builtins) isString getAttr; inherit (lib.options) mkOption; - inherit (lib.types) listOf bool str submodule attrsOf anything; - inherit (lib.generators) mkLuaInline; + inherit (lib.types) listOf bool str submodule attrsOf anything either nullOr; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.types) luaInline; in { + # TODO: remove diagnosticsToLua = { lang, config, @@ -37,30 +37,39 @@ in { lspOptions = submodule { freeformType = attrsOf anything; options = { + enable = mkOption { + type = bool; + default = true; + description = "Whether to enable this LSP server."; + }; + capabilities = mkOption { - type = luaInline; - default = mkLuaInline "capabilities"; + type = nullOr (either luaInline (attrsOf anything)); + default = null; description = "LSP capabilitiess to pass to lspconfig"; }; on_attach = mkOption { - type = luaInline; - default = mkLuaInline "default_on_attach"; + type = nullOr luaInline; + default = null; description = "Function to execute when an LSP server attaches to a buffer"; }; filetypes = mkOption { - type = listOf str; + type = nullOr (listOf str); + default = null; description = "Filetypes to auto-attach LSP in"; }; cmd = mkOption { - type = listOf str; + type = nullOr (listOf str); + default = null; description = "Command used to start the LSP server"; }; root_markers = mkOption { - type = listOf str; + type = nullOr (listOf str); + default = null; description = '' "root markers" used to determine the root directory of the workspace, and the filetypes associated with this LSP server. From ea9075a07f285f31bd22e56c2182a0b9d52c961a Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 6 Apr 2025 01:18:39 +0200 Subject: [PATCH 091/271] lsp: add default fallback config --- modules/neovim/init/lsp.nix | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix index 5dfd7a74..6d3478c9 100644 --- a/modules/neovim/init/lsp.nix +++ b/modules/neovim/init/lsp.nix @@ -3,11 +3,13 @@ lib, ... }: let - inherit (lib.modules) mkIf; + inherit (builtins) filter; + inherit (lib.modules) mkIf mkMerge mkDefault; inherit (lib.options) mkOption; inherit (lib.types) attrsOf; inherit (lib.strings) concatLines; inherit (lib.attrsets) mapAttrsToList attrNames filterAttrs; + inherit (lib.generators) mkLuaInline; inherit (lib.nvim.languages) lspOptions; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.lua) toLuaObject; @@ -32,13 +34,22 @@ in { }; }; - config = mkIf (cfg.servers != {}) { - vim.luaConfigRC.lsp-servers = entryAnywhere '' - -- Individual LSP configurations managed by nvf. - ${(concatLines lspConfigurations)} + config = mkMerge [ + { + vim.lsp.servers."*" = { + capabilities = mkDefault (mkLuaInline "capabilities"); + on_attach = mkDefault (mkLuaInline "default_on_attach"); + }; + } - -- Enable configured LSPs explicitly - vim.lsp.enable(${toLuaObject (attrNames enabledServers)}) - ''; - }; + (mkIf (cfg.servers != {}) { + vim.luaConfigRC.lsp-servers = entryAnywhere '' + -- Individual LSP configurations managed by nvf. + ${(concatLines lspConfigurations)} + + -- Enable configured LSPs explicitly + vim.lsp.enable(${toLuaObject (filter (name: name != "*") (attrNames enabledServers))}) + ''; + }) + ]; } From 9bd2a6dcb4d8f6f7231aa86f075447255aea812a Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 27 Apr 2025 06:21:13 +0300 Subject: [PATCH 092/271] neovim/lsp: add LSP example; add description to servers option --- modules/neovim/init/lsp.nix | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix index 6d3478c9..faef0f93 100644 --- a/modules/neovim/init/lsp.nix +++ b/modules/neovim/init/lsp.nix @@ -30,7 +30,34 @@ in { vim.lsp.servers = mkOption { type = attrsOf lspOptions; default = {}; - description = ""; + example = '' + { + "*" = { + root_markers = [".git"]; + capabilities = { + textDocument = { + semanticTokens = { + multilineTokenSupport = true; + }; + }; + }; + }; + + "clangd" = { + filetypes = ["c"]; + }; + } + ''; + description = '' + LSP configurations that will be managed using `vim.lsp.config()` and + related utilities added in Neovim 0.11. LSPs defined here will be + added to the resulting {file}`init.lua` using `vim.lsp.config` and + enabled through `vim.lsp.enable` below the configuration table. + + You may review the generated configuration by running {command}`nvf-print-config` + in a shell. Please see {command}`:help lsp-config` for more details + on the underlying API. + ''; }; }; @@ -45,7 +72,7 @@ in { (mkIf (cfg.servers != {}) { vim.luaConfigRC.lsp-servers = entryAnywhere '' -- Individual LSP configurations managed by nvf. - ${(concatLines lspConfigurations)} + ${concatLines lspConfigurations} -- Enable configured LSPs explicitly vim.lsp.enable(${toLuaObject (filter (name: name != "*") (attrNames enabledServers))}) From c30f07fcd67a636e685259769bbb1ba18bbb8483 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 27 Apr 2025 06:25:19 +0300 Subject: [PATCH 093/271] languages: set `enableLSP` to true while `vim.lsp` is enabled --- modules/plugins/languages/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index c3312135..b889e60a 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -1,4 +1,8 @@ -{lib, ...}: let +{ + config, + lib, + ... +}: let inherit (lib.nvim.languages) mkEnable; in { imports = [ @@ -47,7 +51,11 @@ in { ]; options.vim.languages = { - enableLSP = mkEnable "LSP"; + # LSPs are now built into Neovim, and we should enable them by default + # if `vim.lsp.enable` is true. + enableLSP = mkEnable "LSP" // {default = config.vim.lsp.enable;}; + + # Those are still managed by plugins, and should be enabled here. enableDAP = mkEnable "Debug Adapter"; enableTreesitter = mkEnable "Treesitter"; enableFormat = mkEnable "Formatting"; From ea90d2baf381b30f8ea4116438f2c04f61b5cc3b Mon Sep 17 00:00:00 2001 From: haskex Date: Mon, 28 Apr 2025 12:16:53 -0300 Subject: [PATCH 094/271] Added HardTime.nvim plugin and added vim.binds.hardtime.enable and .setupOpts options --- configuration.nix | 3 +++ modules/plugins/utility/binds/default.nix | 1 + .../plugins/utility/binds/hardtime/config.nix | 21 +++++++++++++++++++ .../utility/binds/hardtime/default.nix | 6 ++++++ .../utility/binds/hardtime/hardtime.nix | 10 +++++++++ npins/sources.json | 13 ++++++++++++ 6 files changed, 54 insertions(+) create mode 100644 modules/plugins/utility/binds/hardtime/config.nix create mode 100644 modules/plugins/utility/binds/hardtime/default.nix create mode 100644 modules/plugins/utility/binds/hardtime/hardtime.nix diff --git a/configuration.nix b/configuration.nix index 011d6fae..f48af0b4 100644 --- a/configuration.nix +++ b/configuration.nix @@ -142,6 +142,9 @@ isMaximal: { binds = { whichKey.enable = true; cheatsheet.enable = true; + + # Remove this after test + hardtime.enable = true; }; telescope.enable = true; diff --git a/modules/plugins/utility/binds/default.nix b/modules/plugins/utility/binds/default.nix index 229423b8..43666cc9 100644 --- a/modules/plugins/utility/binds/default.nix +++ b/modules/plugins/utility/binds/default.nix @@ -2,5 +2,6 @@ _: { imports = [ ./which-key ./cheatsheet + ./hardtime ]; } diff --git a/modules/plugins/utility/binds/hardtime/config.nix b/modules/plugins/utility/binds/hardtime/config.nix new file mode 100644 index 00000000..7f2cde73 --- /dev/null +++ b/modules/plugins/utility/binds/hardtime/config.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.dag) entryAnywhere; + + cfg = config.vim.binds.hardtime; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["hardtime-nvim"]; + + pluginRC.hardtime = entryAnywhere '' + require("hardtime").setup (${toLuaObject cfg.setupOpts}) + ''; + }; + }; +} diff --git a/modules/plugins/utility/binds/hardtime/default.nix b/modules/plugins/utility/binds/hardtime/default.nix new file mode 100644 index 00000000..89aa11d3 --- /dev/null +++ b/modules/plugins/utility/binds/hardtime/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hardtime.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/binds/hardtime/hardtime.nix b/modules/plugins/utility/binds/hardtime/hardtime.nix new file mode 100644 index 00000000..c27c1c0d --- /dev/null +++ b/modules/plugins/utility/binds/hardtime/hardtime.nix @@ -0,0 +1,10 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.binds.hardtime = { + enable = mkEnableOption "enable hardtime"; + + setupOpts = mkPluginSetupOption "hardtime-nvim" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 90a54057..5fe087f5 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -614,6 +614,19 @@ "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/a933d8666dad9363dc6908ae72cfc832299c2f59.tar.gz", "hash": "02r2h0ip2vzmgmv9b36ff2r6br3ql0b9ggzl8ijsyjy7pgiij04y" }, + "hardtime-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "m4xshen", + "repo": "hardtime.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "9aaec65de041bddfc4c0af66919030d2950bcea8", + "url": "https://github.com/m4xshen/hardtime.nvim/archive/9aaec65de041bddfc4c0af66919030d2950bcea8.tar.gz", + "hash": "1rmcl200a4m3ip3xjzhh7ghhh2961xj2mw7yf0w44jpvs98gqb18" + }, "harpoon": { "type": "Git", "repository": { From 878cf96f717cf71f8be2732ebd21698aeff499fa Mon Sep 17 00:00:00 2001 From: haskex Date: Mon, 28 Apr 2025 18:27:43 -0300 Subject: [PATCH 095/271] Changing from 'hardtime.enable = true' to 'hardtime.enable = isMaximal' in configuration.nix --- configuration.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/configuration.nix b/configuration.nix index f48af0b4..dce9534a 100644 --- a/configuration.nix +++ b/configuration.nix @@ -142,9 +142,7 @@ isMaximal: { binds = { whichKey.enable = true; cheatsheet.enable = true; - - # Remove this after test - hardtime.enable = true; + hardtime.enable = isMaximal; }; telescope.enable = true; From 5dff9537d1ccba729728c9633bddfee9dc82e4ca Mon Sep 17 00:00:00 2001 From: poz Date: Thu, 1 May 2025 00:09:53 +0200 Subject: [PATCH 096/271] plugins/gitsigns: fix null-ls issue --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/git/gitsigns/config.nix | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index edf90e62..294fd17b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -352,3 +352,7 @@ [aionoid](https://github.com/aionoid): - Fix [render-markdown.nvim] file_types option type to list, to accept merging. + +[poz](https://poz.pet): + +- Fix gitsigns null-ls issue. diff --git a/modules/plugins/git/gitsigns/config.nix b/modules/plugins/git/gitsigns/config.nix index 99927546..f5d9f910 100644 --- a/modules/plugins/git/gitsigns/config.nix +++ b/modules/plugins/git/gitsigns/config.nix @@ -81,9 +81,11 @@ in { (mkIf cfg.codeActions.enable { vim.lsp.null-ls = { enable = true; - setupOpts.sources.gitsigns-ca = mkLuaInline '' - require("null-ls").builtins.code_actions.gitsigns - ''; + setupOpts.sources = [ + (mkLuaInline '' + require("null-ls").builtins.code_actions.gitsigns + '') + ]; }; }) ]); From eb4b990b4955fb0c51021e2513efc81fcb66a2a1 Mon Sep 17 00:00:00 2001 From: poz Date: Thu, 1 May 2025 00:26:04 +0200 Subject: [PATCH 097/271] release-notes: update jacekpoz to poz --- docs/release-notes/rl-0.5.md | 2 +- docs/release-notes/rl-0.6.md | 2 +- docs/release-notes/rl-0.7.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.5.md b/docs/release-notes/rl-0.5.md index 0ca02164..910c93d5 100644 --- a/docs/release-notes/rl-0.5.md +++ b/docs/release-notes/rl-0.5.md @@ -91,7 +91,7 @@ Release notes for release 0.5 - Updated indent-blankine.nvim to v3 - this comes with a few option changes, which will be migrated with `renamedOptionModule` -[jacekpoz](https://jacekpoz.pl): +[poz](https://poz.pet): - Fixed scrollOffset not being used diff --git a/docs/release-notes/rl-0.6.md b/docs/release-notes/rl-0.6.md index 1807a3e9..309d6b16 100644 --- a/docs/release-notes/rl-0.6.md +++ b/docs/release-notes/rl-0.6.md @@ -69,7 +69,7 @@ vim.api.nvim_set_keymap('n', 'a', ':lua camelToSnake()', { noremap = - Added rose-pine theme. -[jacekpoz](https://jacekpoz.pl): +[poz](https://poz.pet): - Added `vim.autocomplete.alwaysComplete`. Allows users to have the autocomplete window popup only when manually activated. diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index d62e3619..ed9d2d81 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -162,7 +162,7 @@ The changes are, in no particular order: - Add [lz.n] support and lazy-load some builtin plugins. - Add simpler helper functions for making keymaps -[jacekpoz](https://jacekpoz.pl): +[poz](https://poz.pet): [ocaml-lsp]: https://github.com/ocaml/ocaml-lsp [new-file-template.nvim]: https://github.com/otavioschwanck/new-file-template.nvim From 1f7405aaf7f9a70177a0f052df034f55f0591182 Mon Sep 17 00:00:00 2001 From: haskex Date: Wed, 30 Apr 2025 22:02:00 -0300 Subject: [PATCH 098/271] Changing options for hardtime plugin to hardtime-nvim, and adding the changelog --- configuration.nix | 2 +- docs/release-notes/rl-0.8.md | 5 +++++ modules/plugins/utility/binds/hardtime/config.nix | 2 +- modules/plugins/utility/binds/hardtime/hardtime.nix | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/configuration.nix b/configuration.nix index dce9534a..caefcc34 100644 --- a/configuration.nix +++ b/configuration.nix @@ -142,7 +142,7 @@ isMaximal: { binds = { whichKey.enable = true; cheatsheet.enable = true; - hardtime.enable = isMaximal; + hardtime-nvim.enable = isMaximal; }; telescope.enable = true; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 294fd17b..3610aea8 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -356,3 +356,8 @@ [poz](https://poz.pet): - Fix gitsigns null-ls issue. + +[Haskex](https://github.com/haskex): + +- Add Plugin [Hardtime.nvim](https://github.com/m4xshen/hardtime.nvim). +- Add option `vim.binds.hardtime-nvim` with `enable` and `setupOpts` options. diff --git a/modules/plugins/utility/binds/hardtime/config.nix b/modules/plugins/utility/binds/hardtime/config.nix index 7f2cde73..e8c315ef 100644 --- a/modules/plugins/utility/binds/hardtime/config.nix +++ b/modules/plugins/utility/binds/hardtime/config.nix @@ -7,7 +7,7 @@ inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.dag) entryAnywhere; - cfg = config.vim.binds.hardtime; + cfg = config.vim.binds.hardtime-nvim; in { config = mkIf cfg.enable { vim = { diff --git a/modules/plugins/utility/binds/hardtime/hardtime.nix b/modules/plugins/utility/binds/hardtime/hardtime.nix index c27c1c0d..56833b48 100644 --- a/modules/plugins/utility/binds/hardtime/hardtime.nix +++ b/modules/plugins/utility/binds/hardtime/hardtime.nix @@ -2,8 +2,8 @@ inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { - options.vim.binds.hardtime = { - enable = mkEnableOption "enable hardtime"; + options.vim.binds.hardtime-nvim = { + enable = mkEnableOption "Hardtime - A Plugin for Blocks key repeats in Neovim."; setupOpts = mkPluginSetupOption "hardtime-nvim" {}; }; From cc2c412b884cbf2731296abecc3c97321b98db23 Mon Sep 17 00:00:00 2001 From: haskex Date: Thu, 1 May 2025 12:17:31 -0300 Subject: [PATCH 099/271] Changing plugin description and testing --- modules/plugins/utility/binds/hardtime/hardtime.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/utility/binds/hardtime/hardtime.nix b/modules/plugins/utility/binds/hardtime/hardtime.nix index 56833b48..b671ddcd 100644 --- a/modules/plugins/utility/binds/hardtime/hardtime.nix +++ b/modules/plugins/utility/binds/hardtime/hardtime.nix @@ -3,7 +3,7 @@ inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.binds.hardtime-nvim = { - enable = mkEnableOption "Hardtime - A Plugin for Blocks key repeats in Neovim."; + enable = mkEnableOption "hardtime helper for no repeat keybinds"; setupOpts = mkPluginSetupOption "hardtime-nvim" {}; }; From 028bd7b4cb2c6ce2070e5b3aba0680f107b86616 Mon Sep 17 00:00:00 2001 From: Jhuan Nycolas <168754963+haskex@users.noreply.github.com> Date: Thu, 1 May 2025 15:10:00 -0300 Subject: [PATCH 100/271] Update rl-0.8.md --- docs/release-notes/rl-0.8.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 3610aea8..80a0300c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -359,5 +359,6 @@ [Haskex](https://github.com/haskex): -- Add Plugin [Hardtime.nvim](https://github.com/m4xshen/hardtime.nvim). -- Add option `vim.binds.hardtime-nvim` with `enable` and `setupOpts` options. +[Hardtime.nvim]: https://github.com/m4xshen/hardtime.nvim + +- Add Plugin [Hardtime.nvim] under `vim.binds.hardtime-nvim` with `enable` and `setupOpts` options From dda89a2d9cf4c112f50f1c31853245ef1391eda3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 04:01:04 +0300 Subject: [PATCH 101/271] wrapper/options: fix description for `enableLuaLoader` --- modules/wrapper/rc/options.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 10abd77d..02729401 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -11,13 +11,14 @@ in { description = '' [official documentation]: https://neovim.io/doc/user/lua.html#vim.loader.enable() - the experimental Lua module loader to speed up the start up process + Whethere to enable the experimental Lua module loader to speed up the start + up process. If `true`, this will enable the experimental Lua module loader + which: - If `true`, this will enable the experimental Lua module loader which: - - overrides loadfile - - adds the lua loader using the byte-compilation cache - - adds the libs loader - - removes the default Neovim loader + * overrides loadfile + * adds the lua loader using the byte-compilation cache + * adds the libs loader + * removes the default Neovim loader ::: {.note} The Lua module loader is *disabled* by default. Before setting this option, please From c7e49f370392a332cedb1855e3abb9406cae7c31 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 08:40:51 +0300 Subject: [PATCH 102/271] flake: bump inputs --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 65243865..307d3d7a 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1745705214, - "narHash": "sha256-XGfaHbFI4vvDuaoVO3IFYZKezXIO8rhUaMCGcjY71Ac=", + "lastModified": 1746230955, + "narHash": "sha256-X32sM3RQ3X2y6PzfNnX3rhUAlhuITdDOdfSrwZXjlsQ=", "owner": "Gerg-L", "repo": "mnw", - "rev": "c1f4587db4c53dcefa432c46c7a899a116d8e924", + "rev": "2a1678ba8e4807bd855dd0da94ea2bef5bca733d", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1746152631, + "narHash": "sha256-zBuvmL6+CUsk2J8GINpyy8Hs1Zp4PP6iBWSmZ4SCQ/s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "032bc6539bd5f14e9d0c51bd79cfe9a055b094c3", "type": "github" }, "original": { From eae1f306b88b6da72e7d2d79b9ffcb1527cf9c41 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 08:40:58 +0300 Subject: [PATCH 103/271] pins: bump all plugins --- npins/sources.json | 164 ++++++++++++++++++++++----------------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 04c35ede..be2b74bb 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -50,10 +50,10 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v1.1.1", - "revision": "fe2e1d3e4498d60c5ce7440ff60f79f0920e34bf", - "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v1.1.1", - "hash": "0l2m4162vk6xqrx5v0zh1b5p6wrr1jailq1995f101isyjygikan" + "version": "v1.2.0", + "revision": "d72a826e1961e14f91d8867d10a27a89c5cfe748", + "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v1.2.0", + "hash": "01phyx7y26p2123xpdp0zfp45rc8f014a8myxn2ga71m514vr9vc" }, "blink-cmp-spell": { "type": "Git", @@ -103,9 +103,9 @@ }, "branch": "main", "submodules": false, - "revision": "89c4d158bc6d6ca03b4059452f2f9ffaa850db8a", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/89c4d158bc6d6ca03b4059452f2f9ffaa850db8a.tar.gz", - "hash": "04xh5hzbzvm0nvipsy0cw7k1vb1kcrb09xiw0j66cqddjvvpv6zk" + "revision": "0a2c3c1ce8c3c56e7490cae835a981d5dbeb472c", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/0a2c3c1ce8c3c56e7490cae835a981d5dbeb472c.tar.gz", + "hash": "11wc0qdalz7fb6zpdvrdib1bx3qyvcbn3hr0h57plspln55rjhl5" }, "bufdelete-nvim": { "type": "Git", @@ -129,9 +129,9 @@ }, "branch": "main", "submodules": false, - "revision": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429", - "url": "https://github.com/catppuccin/nvim/archive/5b5e3aef9ad7af84f463d17b5479f06b87d5c429.tar.gz", - "hash": "0jmrwag2dx4b1g9x32xwxcr8y0l159hqks09z5miy99wav6dy7z2" + "revision": "b7bbdf93b42866f166af98d39a2563eedb7cabac", + "url": "https://github.com/catppuccin/nvim/archive/b7bbdf93b42866f166af98d39a2563eedb7cabac.tar.gz", + "hash": "0f8wcpig84kihbz31w0hap4qs5gsdvch4sk2krn29v3k5bh3kcv0" }, "ccc-nvim": { "type": "Git", @@ -272,9 +272,9 @@ }, "branch": "main", "submodules": false, - "revision": "c861811f8b825d30c0343951336d2bb8c8f6d990", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/c861811f8b825d30c0343951336d2bb8c8f6d990.tar.gz", - "hash": "0a1mzwh07lhrx893w7xdlhgiivbrwqp7a0b9wkdrna99x8kd9d77" + "revision": "e55bbf5f6969ab41414d3fd68011366d3b80d024", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/e55bbf5f6969ab41414d3fd68011366d3b80d024.tar.gz", + "hash": "12jas52gh1dl33ir0bkxpqnfxjdkwh7h03qvfk1b3qk2fmr0abqn" }, "codewindow-nvim": { "type": "Git", @@ -350,9 +350,9 @@ }, "branch": "main", "submodules": false, - "revision": "73d2c590c74a0c582144987a4decb4a642755859", - "url": "https://github.com/Saecki/crates.nvim/archive/73d2c590c74a0c582144987a4decb4a642755859.tar.gz", - "hash": "08dyl4blgi0lb3s0jbl4jcpr4j1ncyrdvxjkrqmhqcg6bmwl7iqy" + "revision": "2c8f4fab02e3e9ea42c6ad9b547e4207a914a397", + "url": "https://github.com/Saecki/crates.nvim/archive/2c8f4fab02e3e9ea42c6ad9b547e4207a914a397.tar.gz", + "hash": "0ddlm94v3gh1znacghvfpfmkgv6js9i62gf7mlqcrpz8snpf879s" }, "csharpls-extended-lsp-nvim": { "type": "Git", @@ -363,9 +363,9 @@ }, "branch": "master", "submodules": false, - "revision": "53c6dfc9790d262edd3d6a4483294bedf53d70f5", - "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/53c6dfc9790d262edd3d6a4483294bedf53d70f5.tar.gz", - "hash": "0hy3jaq5lq72yfvy77hijp8wzpbad7a1xfwrdljzbpm4w5j59dm2" + "revision": "c1edd1eaad2e649d3de8121337e3c515ac6db46e", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/c1edd1eaad2e649d3de8121337e3c515ac6db46e.tar.gz", + "hash": "03sjrkay6c6ivd9zpm7isa9izxsvspkvbvy7f61nl020splhbl9m" }, "dashboard-nvim": { "type": "Git", @@ -376,9 +376,9 @@ }, "branch": "master", "submodules": false, - "revision": "b0551fae871fc39454a67cca1adcf76fbe2f61f9", - "url": "https://github.com/glepnir/dashboard-nvim/archive/b0551fae871fc39454a67cca1adcf76fbe2f61f9.tar.gz", - "hash": "0m67ij62dwnzyspyckhqvcsk81nvc16gx8zphghw4w2w4vl9lsrj" + "revision": "591b5b29e2f17b97496ec3179f6ecd08bb8502cc", + "url": "https://github.com/glepnir/dashboard-nvim/archive/591b5b29e2f17b97496ec3179f6ecd08bb8502cc.tar.gz", + "hash": "1f9ii3scd3zh4fch6h0mfmnfjx2fk6y4v3qc0cijk1vnyp2fm9qc" }, "diffview-nvim": { "type": "Git", @@ -454,9 +454,9 @@ }, "branch": "main", "submodules": false, - "revision": "2f2e8d7010a0e5e725957828476b4e1625eaf82c", - "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/2f2e8d7010a0e5e725957828476b4e1625eaf82c.tar.gz", - "hash": "0m2qplldlcgzb6n5lwnwiac5n56zpyf3df015abfwrwba95zflfv" + "revision": "41545d9d02a53d03b5f4da5881e8f30a7dc16031", + "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/41545d9d02a53d03b5f4da5881e8f30a7dc16031.tar.gz", + "hash": "1is587xa1b2fim4s3qc13ggwgpm02y4dmh64l4xjh6gyilh3fmkb" }, "fidget-nvim": { "type": "Git", @@ -506,9 +506,9 @@ }, "branch": "main", "submodules": false, - "revision": "fc8f183479a472df60aa86f00e295462f2308178", - "url": "https://github.com/rafamadriz/friendly-snippets/archive/fc8f183479a472df60aa86f00e295462f2308178.tar.gz", - "hash": "1clmyxkw0gk9p9j72d75byws75vi3r7d04wica2dq5i0zkk49b27" + "revision": "572f5660cf05f8cd8834e096d7b4c921ba18e175", + "url": "https://github.com/rafamadriz/friendly-snippets/archive/572f5660cf05f8cd8834e096d7b4c921ba18e175.tar.gz", + "hash": "08q7vs7p4grav819b6hl5y9zla8bbb461b6m1w0mjz6n6rqjjc0p" }, "fzf-lua": { "type": "Git", @@ -519,9 +519,9 @@ }, "branch": "main", "submodules": false, - "revision": "b11467c3fbfe48e4a815e4909f5c4e5b413ce6d0", - "url": "https://github.com/ibhagwan/fzf-lua/archive/b11467c3fbfe48e4a815e4909f5c4e5b413ce6d0.tar.gz", - "hash": "1yjfyz0fchibyb6wnnyxarn2v4fxxfvf9vy1pyvfc7mz5b4mzwc2" + "revision": "1cc70fb29e63ff26acba1e0cbca04705f8a485f1", + "url": "https://github.com/ibhagwan/fzf-lua/archive/1cc70fb29e63ff26acba1e0cbca04705f8a485f1.tar.gz", + "hash": "032y3djil7bsb2h0sv5a0a1qg805j5p2jxxp01jcpmn870b6mcjd" }, "gesture-nvim": { "type": "Git", @@ -584,9 +584,9 @@ }, "branch": "main", "submodules": false, - "revision": "9cd665f46ab7af2e49d140d328b8e72ea1cf511b", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/9cd665f46ab7af2e49d140d328b8e72ea1cf511b.tar.gz", - "hash": "110ykgvd3hbjq8ilz1yvfcic1jpqzyz4r13dswmpv7nvsi7a2lb5" + "revision": "1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb.tar.gz", + "hash": "0xzmj3z3rd1zxv5hc87ncmnrzm6653ffaif9xkpvnc3n8l81ybsn" }, "glow-nvim": { "type": "Git", @@ -610,9 +610,9 @@ }, "branch": "main", "submodules": false, - "revision": "c54db7f7e67832fbdd0ac14633f62c8a6997ddcf", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/c54db7f7e67832fbdd0ac14633f62c8a6997ddcf.tar.gz", - "hash": "0i7dh2d3l1w6bga6gpfssam7w1qkd84q3cxyscdfsf4j9z4b62l2" + "revision": "91a0f8e460197a521d42a2e84a7a2a4010be4bbb", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/91a0f8e460197a521d42a2e84a7a2a4010be4bbb.tar.gz", + "hash": "1bmxps0wawyvwyzcwzdxbf1wcqx6v7h6afj3yzgb38gz649wr8q7" }, "harpoon": { "type": "Git", @@ -636,9 +636,9 @@ }, "branch": "master", "submodules": false, - "revision": "fda0e5082ecc1c9e892f38b715d6f61e8829081d", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/fda0e5082ecc1c9e892f38b715d6f61e8829081d.tar.gz", - "hash": "0hi0ww7q0j042ssjk7x3d4s4vaninawpw3s0yrv1c4l1q5v6gnz1" + "revision": "3bec28d8b0006be596497a5e1a03bda6ef6131cf", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/3bec28d8b0006be596497a5e1a03bda6ef6131cf.tar.gz", + "hash": "1kf3w7x8awa4iiw7ab8xfjh6fq47yvv6h2rmfw0jf8s99fvgarj2" }, "highlight-undo-nvim": { "type": "Git", @@ -834,9 +834,9 @@ }, "branch": "master", "submodules": false, - "revision": "c9b9a22904c97d0eb69ccb9bab76037838326817", - "url": "https://github.com/L3MON4D3/LuaSnip/archive/c9b9a22904c97d0eb69ccb9bab76037838326817.tar.gz", - "hash": "03anxdspqz7ylq4239jyr9y51mw5qw1lkccyvfhj6wfk43jjdryx" + "revision": "7351d673f430e89f11962dc45b7360d6a0a26d2d", + "url": "https://github.com/L3MON4D3/LuaSnip/archive/7351d673f430e89f11962dc45b7360d6a0a26d2d.tar.gz", + "hash": "0dd42ss93cppq3cp27336gail955lckqqc6bafkmawplxh93qn1q" }, "lz-n": { "type": "Git", @@ -1477,9 +1477,9 @@ }, "branch": "main", "submodules": false, - "revision": "299e174c3b8373c9c1f9be0bc3967c852712d0f3", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/299e174c3b8373c9c1f9be0bc3967c852712d0f3.tar.gz", - "hash": "0vm7hbcqj548pvl9vfmzsgpx73lmrnmhp399bprizg87zn73m005" + "revision": "71bfdeddc90225e281ce34c378dc1b5914f5018d", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/71bfdeddc90225e281ce34c378dc1b5914f5018d.tar.gz", + "hash": "0cm4y2idpmf7i6daa4wl5b6n5ldzqr3pqmh29rc645c1xk2y0b80" }, "neocord": { "type": "Git", @@ -1503,9 +1503,9 @@ }, "branch": "main", "submodules": false, - "revision": "35da593c55d78086a3203ee3e6d749fafe2e4e73", - "url": "https://github.com/nvim-neorg/neorg/archive/35da593c55d78086a3203ee3e6d749fafe2e4e73.tar.gz", - "hash": "0kxygwpfffa0blcy54g7cvm5laj77q0f72p69s43j9dpsps1h63y" + "revision": "8fdd9b2986acfb4ce310bebfc338111793862f00", + "url": "https://github.com/nvim-neorg/neorg/archive/8fdd9b2986acfb4ce310bebfc338111793862f00.tar.gz", + "hash": "0xv3aasbhambywp6idhz44nlsh3hlarw3j7wwx7wn1whm6xbwvf6" }, "neorg-telescope": { "type": "Git", @@ -1581,9 +1581,9 @@ }, "branch": "main", "submodules": false, - "revision": "751349f21bdf1acf7af091fead456866bf9a7e7d", - "url": "https://github.com/nvimtools/none-ls.nvim/archive/751349f21bdf1acf7af091fead456866bf9a7e7d.tar.gz", - "hash": "1zhqyjs914ib1yq42xq3aphw8pl4168h2k3ybm92z00ahi51kbqn" + "revision": "a49f5a79cdb76e0dc1a98899c8598f4db014c5e7", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/a49f5a79cdb76e0dc1a98899c8598f4db014c5e7.tar.gz", + "hash": "0x16saxsr3w3ivqpdjg05bkyfxzsiyfpsiwhyzsvqxg1qnkda3b2" }, "nord": { "type": "Git", @@ -1763,9 +1763,9 @@ }, "branch": "master", "submodules": false, - "revision": "641e567f975feab3815b47c7d29e6148e07afa77", - "url": "https://github.com/neovim/nvim-lspconfig/archive/641e567f975feab3815b47c7d29e6148e07afa77.tar.gz", - "hash": "1238hk6v3mm6hzjbipz60rva7crv95h2vzg6ph9wzplq52kzryav" + "revision": "46434074f188e6bfccf9d9153dd8be6b1381498b", + "url": "https://github.com/neovim/nvim-lspconfig/archive/46434074f188e6bfccf9d9153dd8be6b1381498b.tar.gz", + "hash": "0h13n1vjw6v8gp41yfc6qffbwwrxw81vcilkmxx9sim6671w5pzp" }, "nvim-metals": { "type": "Git", @@ -1789,9 +1789,9 @@ }, "branch": "master", "submodules": false, - "revision": "f22bac988f2dd073601d75ba39ea5636ab6e38cb", - "url": "https://github.com/SmiteshP/nvim-navbuddy/archive/f22bac988f2dd073601d75ba39ea5636ab6e38cb.tar.gz", - "hash": "034pmg403y0y1fxnb1jv291mr016bx1vn68y543v6v4dpbdlr7di" + "revision": "a34786c77a528519f6b8a142db7609f6e387842d", + "url": "https://github.com/SmiteshP/nvim-navbuddy/archive/a34786c77a528519f6b8a142db7609f6e387842d.tar.gz", + "hash": "0b6bazh531bixskpmmpkidqii4n3m7n2cp9bmzml5wb0wibazcac" }, "nvim-navic": { "type": "Git", @@ -1802,9 +1802,9 @@ }, "branch": "master", "submodules": false, - "revision": "39231352aec0d1e09cebbffdd9dc20a5dc691ffe", - "url": "https://github.com/SmiteshP/nvim-navic/archive/39231352aec0d1e09cebbffdd9dc20a5dc691ffe.tar.gz", - "hash": "1xj2bzax8hynm2x9zbvsaxv1j22chklyygzm1kbqxxs077qn45ws" + "revision": "d0a8c17c4dc721b00bc2ac305c6ffbb036beeb74", + "url": "https://github.com/SmiteshP/nvim-navic/archive/d0a8c17c4dc721b00bc2ac305c6ffbb036beeb74.tar.gz", + "hash": "0mxsnwvrjirpy2ichsilx6207z55xi42syg5d3fdgs2r1p1npggc" }, "nvim-neoclip-lua": { "type": "Git", @@ -1919,9 +1919,9 @@ }, "branch": "main", "submodules": false, - "revision": "d4c8bdb06b7a589f004a53bf710196967752c63d", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/d4c8bdb06b7a589f004a53bf710196967752c63d.tar.gz", - "hash": "11zcr6vvj6gm5di63w55ccvwf2x7his8v9v8bingsz6l6n79dk6v" + "revision": "cac999ec9f6302d2fd4ad8a846bf8f731af6e7cf", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/cac999ec9f6302d2fd4ad8a846bf8f731af6e7cf.tar.gz", + "hash": "14lvlv1wmbpw0dpyfz3gq7k760ip1903w5ibajqiaflw06afv4pn" }, "nvim-web-devicons": { "type": "Git", @@ -1932,9 +1932,9 @@ }, "branch": "master", "submodules": false, - "revision": "50b5b06bff13a9b4eab946de7c7033649a6618a1", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/50b5b06bff13a9b4eab946de7c7033649a6618a1.tar.gz", - "hash": "1jsrwcsyjwlzk2l3x417pr6s6cq4zk6b6k417hhmrprrw66ajdb6" + "revision": "2c2b4eafce6cdd0cb165036faa17396eff18f847", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/2c2b4eafce6cdd0cb165036faa17396eff18f847.tar.gz", + "hash": "11yp02zg60gdmqa6rdk3rjn704k2kvjcs41w85y01b68k36w7pw2" }, "obsidian-nvim": { "type": "Git", @@ -1997,9 +1997,9 @@ }, "branch": "master", "submodules": false, - "revision": "27ab1cf9e7ae142f9e9ffb218be50dd920f04cb3", - "url": "https://github.com/nvim-orgmode/orgmode/archive/27ab1cf9e7ae142f9e9ffb218be50dd920f04cb3.tar.gz", - "hash": "176v9y36258jm8h3aaph57wgr6s7rgmgdnq9hgwialwn4bygfym0" + "revision": "15d66ead1285d99f8a21c4ef4874ac62e9320fe6", + "url": "https://github.com/nvim-orgmode/orgmode/archive/15d66ead1285d99f8a21c4ef4874ac62e9320fe6.tar.gz", + "hash": "05h766qj1vid5rs1mv8aiv6rsfrp0md9605sfr9vycip1rd8csgy" }, "otter-nvim": { "type": "Git", @@ -2127,9 +2127,9 @@ }, "branch": "main", "submodules": false, - "revision": "78ffe3b0500bbc7e37fabde723d96661538e8b32", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/78ffe3b0500bbc7e37fabde723d96661538e8b32.tar.gz", - "hash": "00dn9cpdvm7dy4xyhaij2rs0g0l926cqvjn03v06sray3adbyij5" + "revision": "57c7f33f276876c994898683680da9e3a3590d0d", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/57c7f33f276876c994898683680da9e3a3590d0d.tar.gz", + "hash": "1lfypdqyka5idrkr3w62vx7j6p75r3ld7sz5i40y41svglnxyrsj" }, "rose-pine": { "type": "Git", @@ -2140,9 +2140,9 @@ }, "branch": "main", "submodules": false, - "revision": "96ff3993a67356ee85d1cdab9be652cdc1c5d1ac", - "url": "https://github.com/rose-pine/neovim/archive/96ff3993a67356ee85d1cdab9be652cdc1c5d1ac.tar.gz", - "hash": "0p712rivi5i3zlrigm86p8vrn1nvg4qils86snlw717cq3scj9gj" + "revision": "614892e32e94378d976a238f287532cfe790c1fe", + "url": "https://github.com/rose-pine/neovim/archive/614892e32e94378d976a238f287532cfe790c1fe.tar.gz", + "hash": "1pi5z81xkgkx8yyfjfjj0hg66v2zcj04gxxbf5q2lqz70xcs3cgk" }, "rtp-nvim": { "type": "Git", @@ -2179,9 +2179,9 @@ }, "branch": "master", "submodules": false, - "revision": "3f2b7a94b7fa3c0f301dfa9644c94b543000efc2", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/3f2b7a94b7fa3c0f301dfa9644c94b543000efc2.tar.gz", - "hash": "1y3x6m3yglkyv37xgli9k3dlw59yy3jbsp1phx75xqma1480dzy5" + "revision": "4b8c2edb55f548ed9c683f88dde2ffb235413b03", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/4b8c2edb55f548ed9c683f88dde2ffb235413b03.tar.gz", + "hash": "0d3kwvwj5cppwypvg8iasn5f8rviqyskkgh1wafs7chjm32dm4gb" }, "smartcolumn-nvim": { "type": "Git", @@ -2377,9 +2377,9 @@ }, "branch": "master", "submodules": false, - "revision": "f985f5a4fbc410c9e5367f6b5863a8fa502e516d", - "url": "https://github.com/RRethy/vim-illuminate/archive/f985f5a4fbc410c9e5367f6b5863a8fa502e516d.tar.gz", - "hash": "0igx2i4k59vadhw7kgqvxjw9594n8p2n9yqszif9by8xq5gsd7g6" + "revision": "fbc16dee336d8cc0d3d2382ea4a53f4a29725abf", + "url": "https://github.com/RRethy/vim-illuminate/archive/fbc16dee336d8cc0d3d2382ea4a53f4a29725abf.tar.gz", + "hash": "072kgd7h7cjq4hskczxl60nsx3jpww9l7ypafcwk833ypahz899i" }, "vim-markdown": { "type": "Git", From 5278dab32b343762246dd8bfeaa34f4a21887bd8 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 08:41:27 +0300 Subject: [PATCH 104/271] blink: 1.0.0 -> 1.2.0 --- flake/legacyPackages/blink-cmp.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake/legacyPackages/blink-cmp.nix b/flake/legacyPackages/blink-cmp.nix index 435cb290..60dce9de 100644 --- a/flake/legacyPackages/blink-cmp.nix +++ b/flake/legacyPackages/blink-cmp.nix @@ -14,7 +14,7 @@ env.RUSTC_BOOTSTRAP = true; useFetchCargoVendor = true; - cargoHash = "sha256-MWElqh7ENJ6CbLOnvz0DsP5YYu+e+y12GSUOfW1IKGU="; + cargoHash = "sha256-IDoDugtNWQovfSstbVMkKHLBXKa06lxRWmywu4zyS3M="; nativeBuildInputs = [gitMinimal]; }; From f7c35ab3422b35f3af422f4f896bd79a9ba30ee4 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 08:51:48 +0300 Subject: [PATCH 105/271] packages: switch to blink-cmp in maximal configuration --- configuration.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/configuration.nix b/configuration.nix index 011d6fae..10d6bbc7 100644 --- a/configuration.nix +++ b/configuration.nix @@ -23,7 +23,7 @@ isMaximal: { lightbulb.enable = true; lspsaga.enable = false; trouble.enable = true; - lspSignature.enable = true; + lspSignature.enable = !isMaximal; # conflicts with blink in maximal otter-nvim.enable = isMaximal; nvim-docs-view.enable = isMaximal; }; @@ -124,7 +124,15 @@ isMaximal: { autopairs.nvim-autopairs.enable = true; - autocomplete.nvim-cmp.enable = true; + # nvf provides various autocomplete options. The tried and tested nvim-cmp + # is enabled in default package, because it does not trigger a build. We + # enable blink-cmp in maximal because it needs to build its rust fuzzy + # matcher library. + autocomplete = { + nvim-cmp.enable = !isMaximal; + blink-cmp.enable = isMaximal; + }; + snippets.luasnip.enable = true; filetree = { From c5b72f124fdba697603f39e5c8168eac5780fc93 Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Sat, 3 May 2025 18:32:58 -0400 Subject: [PATCH 106/271] chore: update mnw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'mnw': 'github:Gerg-L/mnw/2a1678ba8e4807bd855dd0da94ea2bef5bca733d?narHash=sha256-X32sM3RQ3X2y6PzfNnX3rhUAlhuITdDOdfSrwZXjlsQ%3D' (2025-05-03) → 'github:Gerg-L/mnw/7b85a1922b0c5d78c03c4e53c82330715d1bf22b?narHash=sha256-g1XBeVvnM6P0QVxbjCEXyNl0aGd3YSf/hsVagUHB3qw%3D' (2025-05-03) --- flake.lock | 6 +++--- modules/wrapper/build/config.nix | 13 +++++-------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 307d3d7a..65cee2ae 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1746230955, - "narHash": "sha256-X32sM3RQ3X2y6PzfNnX3rhUAlhuITdDOdfSrwZXjlsQ=", + "lastModified": 1746338991, + "narHash": "sha256-GbyoHjf14LOxZQc+0NFblI4xf/uwGrYo3W8lwE4HcwI=", "owner": "Gerg-L", "repo": "mnw", - "rev": "2a1678ba8e4807bd855dd0da94ea2bef5bca733d", + "rev": "c65407ee9387ef75985dad3e30f58c822c766ec1", "type": "github" }, "original": { diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index 3b147571..61ba1513 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -62,17 +62,14 @@ filter (f: f != null) plugins ); - # built (or "normalized") plugins that are modified - builtStartPlugins = buildConfigPlugins config.vim.startPlugins; - builtOptPlugins = map (package: package // {optional = true;}) ( - buildConfigPlugins config.vim.optPlugins - ); - # Wrap the user's desired (unwrapped) Neovim package with arguments that'll be used to # generate a wrapped Neovim package. - neovim-wrapped = inputs.mnw.lib.wrap pkgs { + neovim-wrapped = inputs.mnw.lib.wrap {inherit pkgs;} { neovim = config.vim.package; - plugins = builtStartPlugins ++ builtOptPlugins; + plugins = { + start = buildConfigPlugins config.vim.startPlugins; + opt = buildConfigPlugins config.vim.optPlugins; + }; appName = "nvf"; extraBinPath = config.vim.extraPackages; initLua = config.vim.builtLuaConfigRC; From 140cfea20505136b6306ddde31802842501da0d6 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Sun, 4 May 2025 15:00:21 +0200 Subject: [PATCH 107/271] ui/breadcrumbs: add missing navbuddy mappings --- modules/plugins/ui/breadcrumbs/breadcrumbs.nix | 18 ++++++++++++++++++ modules/plugins/ui/breadcrumbs/config.nix | 5 +++++ 2 files changed, 23 insertions(+) diff --git a/modules/plugins/ui/breadcrumbs/breadcrumbs.nix b/modules/plugins/ui/breadcrumbs/breadcrumbs.nix index 2faee6c8..716883aa 100644 --- a/modules/plugins/ui/breadcrumbs/breadcrumbs.nix +++ b/modules/plugins/ui/breadcrumbs/breadcrumbs.nix @@ -215,6 +215,24 @@ in { description = "move focused node up"; }; + togglePreview = mkOption { + type = str; + default = "s"; + description = "show preview of current node"; + }; + + vsplit = mkOption { + type = str; + default = ""; + description = "open selected node in a vertical split"; + }; + + hsplit = mkOption { + type = str; + default = ""; + description = "open selected node in a horizontal split"; + }; + telescope = mkOption { type = str; default = "t"; diff --git a/modules/plugins/ui/breadcrumbs/config.nix b/modules/plugins/ui/breadcrumbs/config.nix index 747a7773..324501a5 100644 --- a/modules/plugins/ui/breadcrumbs/config.nix +++ b/modules/plugins/ui/breadcrumbs/config.nix @@ -64,6 +64,11 @@ in { ${cfg.navbuddy.mappings.moveDown} = mkLuaInline "actions.move_down()"; ${cfg.navbuddy.mappings.moveUp} = mkLuaInline "actions.move_up()"; + ${cfg.navbuddy.mappings.togglePreview} = mkLuaInline "actions.toggle_preview()"; + + ${cfg.navbuddy.mappings.vsplit} = mkLuaInline "actions.vsplit()"; + ${cfg.navbuddy.mappings.hsplit} = mkLuaInline "actions.hsplit()"; + ${cfg.navbuddy.mappings.telescope} = mkLuaInline '' actions.telescope({ layout_strategy = "horizontal", From d783fa0b27886e833dbcdf9eb734bb76b97ec70b Mon Sep 17 00:00:00 2001 From: Noah765 Date: Sun, 4 May 2025 15:29:27 +0200 Subject: [PATCH 108/271] ui/breadcrumbs: remove unused attribute --- modules/plugins/ui/breadcrumbs/breadcrumbs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/ui/breadcrumbs/breadcrumbs.nix b/modules/plugins/ui/breadcrumbs/breadcrumbs.nix index 716883aa..0d5a3162 100644 --- a/modules/plugins/ui/breadcrumbs/breadcrumbs.nix +++ b/modules/plugins/ui/breadcrumbs/breadcrumbs.nix @@ -4,7 +4,7 @@ ... }: let inherit (lib.options) mkOption mkEnableOption; - inherit (lib.types) nullOr listOf enum bool str int either; + inherit (lib.types) nullOr listOf enum bool str int; inherit (lib.modules) mkRenamedOptionModule; inherit (lib.nvim.types) mkPluginSetupOption borderType; mkSimpleIconOption = default: From c2380761d1e230278c5f7bb34586e52dc22f263d Mon Sep 17 00:00:00 2001 From: Noah765 Date: Sun, 4 May 2025 15:30:17 +0200 Subject: [PATCH 109/271] ui/breadcrumbs: clean up the option descriptions --- .../plugins/ui/breadcrumbs/breadcrumbs.nix | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/modules/plugins/ui/breadcrumbs/breadcrumbs.nix b/modules/plugins/ui/breadcrumbs/breadcrumbs.nix index 0d5a3162..72351ecc 100644 --- a/modules/plugins/ui/breadcrumbs/breadcrumbs.nix +++ b/modules/plugins/ui/breadcrumbs/breadcrumbs.nix @@ -74,7 +74,7 @@ in { ::: {.note} This will pass `draw_empty` to the `nvim_navic` winbar component, which causes the component to be drawn even - if it's empty + if it's empty. ::: ''; }; @@ -86,163 +86,163 @@ in { close = mkOption { type = str; default = ""; - description = "keybinding to close Navbuddy UI"; + description = "Close and return the cursor to its original location."; }; nextSibling = mkOption { type = str; default = "j"; - description = "keybinding to navigate to the next sibling node"; + description = "Navigate to the next sibling node."; }; previousSibling = mkOption { type = str; default = "k"; - description = "keybinding to navigate to the previous sibling node"; + description = "Navigate to the previous sibling node."; }; parent = mkOption { type = str; default = "h"; - description = "keybinding to navigate to the parent node"; + description = "Navigate to the parent node."; }; children = mkOption { type = str; default = "l"; - description = "keybinding to navigate to the child node"; + description = "Navigate to the child node."; }; root = mkOption { type = str; default = "0"; - description = "keybinding to navigate to the root node"; + description = "Navigate to the root node."; }; visualName = mkOption { type = str; default = "v"; - description = "visual selection of name"; + description = "Select the name visually."; }; visualScope = mkOption { type = str; default = "V"; - description = "visual selection of scope"; + description = "Select the scope visually."; }; yankName = mkOption { type = str; default = "y"; - description = "yank the name to system clipboard"; + description = "Yank the name to system clipboard."; }; yankScope = mkOption { type = str; default = "Y"; - description = "yank the scope to system clipboard"; + description = "Yank the scope to system clipboard."; }; insertName = mkOption { type = str; default = "i"; - description = "insert at start of name"; + description = "Insert at the start of name."; }; insertScope = mkOption { type = str; default = "I"; - description = "insert at start of scope"; + description = "Insert at the start of scope."; }; appendName = mkOption { type = str; default = "a"; - description = "insert at end of name"; + description = "Insert at the end of name."; }; appendScope = mkOption { type = str; default = "A"; - description = "insert at end of scope"; + description = "Insert at the end of scope."; }; rename = mkOption { type = str; default = "r"; - description = "rename the node"; + description = "Rename the node."; }; delete = mkOption { type = str; default = "d"; - description = "delete the node"; + description = "Delete the node."; }; foldCreate = mkOption { type = str; default = "f"; - description = "create a new fold"; + description = "Create a new fold of the node."; }; foldDelete = mkOption { type = str; default = "F"; - description = "delete the current fold"; + description = "Delete the current fold of the node."; }; comment = mkOption { type = str; default = "c"; - description = "comment the node"; + description = "Comment the node."; }; select = mkOption { type = str; default = ""; - description = "goto selected symbol"; + description = "Goto the node."; }; moveDown = mkOption { type = str; default = "J"; - description = "move focused node down"; + description = "Move the node down."; }; moveUp = mkOption { type = str; default = "K"; - description = "move focused node up"; + description = "Move the node up."; }; togglePreview = mkOption { type = str; default = "s"; - description = "show preview of current node"; + description = "Toggle the preview."; }; vsplit = mkOption { type = str; default = ""; - description = "open selected node in a vertical split"; + description = "Open the node in a vertical split."; }; hsplit = mkOption { type = str; default = ""; - description = "open selected node in a horizontal split"; + description = "Open the node in a horizontal split."; }; telescope = mkOption { type = str; default = "t"; - description = "fuzzy finder at current level"; + description = "Start fuzzy finder at the current level."; }; help = mkOption { type = str; default = "g?"; - description = "open mapping help window"; + description = "Open the mappings help window."; }; }; @@ -250,7 +250,7 @@ in { useDefaultMappings = mkOption { type = bool; default = true; - description = "use default Navbuddy keybindings (disables user-specified keybinds)"; + description = "Add the default Navbuddy keybindings in addition to the keybinding added by this module."; }; window = { @@ -260,13 +260,13 @@ in { border = mkOption { type = borderType; default = config.vim.ui.borders.globalStyle; - description = "border style to use"; + description = "The border style to use."; }; scrolloff = mkOption { type = nullOr int; default = null; - description = "Scrolloff value within navbuddy window"; + description = "The scrolloff value within a navbuddy window."; }; sections = { @@ -283,7 +283,7 @@ in { border = mkOption { type = borderType; default = config.vim.ui.borders.globalStyle; - description = "border style to use for the left section of Navbuddy UI"; + description = "The border style to use for the left section of the Navbuddy UI."; }; }; @@ -300,7 +300,7 @@ in { border = mkOption { type = borderType; default = config.vim.ui.borders.globalStyle; - description = "border style to use for the middle section of Navbuddy UI"; + description = "The border style to use for the middle section of the Navbuddy UI."; }; }; @@ -310,13 +310,13 @@ in { border = mkOption { type = borderType; default = config.vim.ui.borders.globalStyle; - description = "border style to use for the right section of Navbuddy UI"; + description = "The border style to use for the right section of the Navbuddy UI."; }; preview = mkOption { type = enum ["leaf" "always" "never"]; default = "leaf"; - description = "display mode of the preview on the right section"; + description = "The display mode of the preview on the right section."; }; }; }; @@ -335,13 +335,13 @@ in { auto_attach = mkOption { type = bool; default = true; - description = "Whether to attach to LSP server manually"; + description = "Whether to attach to LSP server manually."; }; preference = mkOption { type = nullOr (listOf str); default = null; - description = "list of lsp server names in order of preference"; + description = "The preference list ranking LSP servers."; }; }; @@ -349,25 +349,25 @@ in { followNode = mkOption { type = bool; default = true; - description = "keep the current node in focus on the source buffer"; + description = "Whether to keep the current node in focus in the source buffer."; }; highlight = mkOption { type = bool; default = true; - description = "highlight the currently focused node"; + description = "Whether to highlight the currently focused node in the source buffer."; }; reorient = mkOption { type = enum ["smart" "top" "mid" "none"]; default = "smart"; - description = "reorient buffer after changing nodes"; + description = "The mode for reorienting the source buffer after moving nodes."; }; scrolloff = mkOption { type = nullOr int; default = null; - description = "scrolloff value when navbuddy is open"; + description = "The scrolloff value in the source buffer when Navbuddy is open."; }; }; From 1ed6fd9f58f4df669edc55284becd1a90e1b3a47 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 4 May 2025 17:58:22 +0300 Subject: [PATCH 110/271] languages: deprecate `vim.languages.enableLSP` This change is done in favor of our intentions to use the new API Neovim has exposed, and the one we are exposing to match theirs. --- configuration.nix | 7 ++- flake/templates/standalone/flake.nix | 12 ++++- modules/neovim/init/lsp.nix | 65 +++++++++++++++---------- modules/plugins/languages/asm.nix | 2 +- modules/plugins/languages/astro.nix | 2 +- modules/plugins/languages/bash.nix | 2 +- modules/plugins/languages/clang.nix | 2 +- modules/plugins/languages/csharp.nix | 2 +- modules/plugins/languages/css.nix | 2 +- modules/plugins/languages/cue.nix | 2 +- modules/plugins/languages/dart.nix | 2 +- modules/plugins/languages/default.nix | 14 ++---- modules/plugins/languages/elixir.nix | 2 +- modules/plugins/languages/fsharp.nix | 2 +- modules/plugins/languages/gleam.nix | 2 +- modules/plugins/languages/go.nix | 2 +- modules/plugins/languages/haskell.nix | 2 +- modules/plugins/languages/hcl.nix | 2 +- modules/plugins/languages/helm.nix | 2 +- modules/plugins/languages/java.nix | 2 +- modules/plugins/languages/julia.nix | 2 +- modules/plugins/languages/kotlin.nix | 2 +- modules/plugins/languages/lua.nix | 2 +- modules/plugins/languages/markdown.nix | 2 +- modules/plugins/languages/nim.nix | 2 +- modules/plugins/languages/nix.nix | 2 +- modules/plugins/languages/nu.nix | 2 +- modules/plugins/languages/ocaml.nix | 2 +- modules/plugins/languages/odin.nix | 2 +- modules/plugins/languages/php.nix | 2 +- modules/plugins/languages/python.nix | 2 +- modules/plugins/languages/r.nix | 2 +- modules/plugins/languages/ruby.nix | 2 +- modules/plugins/languages/rust.nix | 2 +- modules/plugins/languages/scala.nix | 2 +- modules/plugins/languages/sql.nix | 2 +- modules/plugins/languages/svelte.nix | 2 +- modules/plugins/languages/tailwind.nix | 2 +- modules/plugins/languages/terraform.nix | 2 +- modules/plugins/languages/ts.nix | 2 +- modules/plugins/languages/typst.nix | 2 +- modules/plugins/languages/vala.nix | 2 +- modules/plugins/languages/wgsl.nix | 2 +- modules/plugins/languages/yaml.nix | 2 +- modules/plugins/languages/zig.nix | 2 +- modules/plugins/lsp/module.nix | 3 +- 46 files changed, 102 insertions(+), 81 deletions(-) diff --git a/configuration.nix b/configuration.nix index 6629810d..6e3175ef 100644 --- a/configuration.nix +++ b/configuration.nix @@ -18,6 +18,10 @@ isMaximal: { }; lsp = { + # This must be enabled for the language modules to hook into + # the LSP API. + enable = true; + formatOnSave = true; lspkind.enable = false; lightbulb.enable = true; @@ -38,8 +42,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 = { - enableLSP = true; - enableFormat = true; + enableFormat = true; # enableTreesitter = true; enableExtraDiagnostics = true; diff --git a/flake/templates/standalone/flake.nix b/flake/templates/standalone/flake.nix index 79617260..1057a6d5 100644 --- a/flake/templates/standalone/flake.nix +++ b/flake/templates/standalone/flake.nix @@ -26,12 +26,22 @@ config.vim = { theme.enable = true; + lsp = { + # Enable LSP functionality globally. This is required for modules found + # in `vim.languages` to enable relevant LSPs. + enable = true; + + # You may define your own LSP configurations using `vim.lsp.servers` in + # nvf without ever needing lspconfig to do it. This will use the native + # API provided by Neovim > 0.11 + servers = {}; + }; + # Language support and automatic configuration of companion plugins. # Note that enabling, e.g., languages..diagnostics will automatically # enable top-level options such as enableLSP or enableExtraDiagnostics as # they are needed. languages = { - enableLSP = true; enableFormat = true; enableTreesitter = true; enableExtraDiagnostics = true; diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix index faef0f93..b89c3fde 100644 --- a/modules/neovim/init/lsp.nix +++ b/modules/neovim/init/lsp.nix @@ -5,7 +5,7 @@ }: let inherit (builtins) filter; inherit (lib.modules) mkIf mkMerge mkDefault; - inherit (lib.options) mkOption; + inherit (lib.options) mkOption mkEnableOption; inherit (lib.types) attrsOf; inherit (lib.strings) concatLines; inherit (lib.attrsets) mapAttrsToList attrNames filterAttrs; @@ -27,37 +27,48 @@ enabledServers = filterAttrs (_: u: u.enable) cfg.servers; in { options = { - vim.lsp.servers = mkOption { - type = attrsOf lspOptions; - default = {}; - example = '' - { - "*" = { - root_markers = [".git"]; - capabilities = { - textDocument = { - semanticTokens = { - multilineTokenSupport = true; + vim.lsp = { + enable = mkEnableOption '' + global LSP functionality for Neovim. + + This option controls whether to enable LSP functionality within modules under + {option}`vim.languages`. You do not need to set this to `true` for language + servers defined in {option}`vim.lsp.servers` to take effect, since they are + enabled automatically. + ''; + + servers = mkOption { + type = attrsOf lspOptions; + default = {}; + example = '' + { + "*" = { + root_markers = [".git"]; + capabilities = { + textDocument = { + semanticTokens = { + multilineTokenSupport = true; + }; }; }; }; - }; - "clangd" = { - filetypes = ["c"]; - }; - } - ''; - description = '' - LSP configurations that will be managed using `vim.lsp.config()` and - related utilities added in Neovim 0.11. LSPs defined here will be - added to the resulting {file}`init.lua` using `vim.lsp.config` and - enabled through `vim.lsp.enable` below the configuration table. + "clangd" = { + filetypes = ["c"]; + }; + } + ''; + description = '' + LSP configurations that will be managed using `vim.lsp.config()` and related + utilities added in Neovim 0.11. LSPs defined here will be added to the + resulting {file}`init.lua` using `vim.lsp.config` and enabled through + `vim.lsp.enable()` API from Neovim below the configuration table. - You may review the generated configuration by running {command}`nvf-print-config` - in a shell. Please see {command}`:help lsp-config` for more details - on the underlying API. - ''; + You may review the generated configuration by running {command}`nvf-print-config` + in a shell. Please see {command}`:help lsp-config` for more details + on the underlying API. + ''; + }; }; }; diff --git a/modules/plugins/languages/asm.nix b/modules/plugins/languages/asm.nix index a0e96cef..9fe58a76 100644 --- a/modules/plugins/languages/asm.nix +++ b/modules/plugins/languages/asm.nix @@ -20,7 +20,7 @@ in { }; lsp = { - enable = mkEnableOption "Assembly LSP support (asm-lsp)" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Assembly LSP support (asm-lsp)" // {default = config.vim.lsp.enable;}; package = mkOption { type = package; diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index 2ecbbe47..b7a69bda 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -81,7 +81,7 @@ in { }; lsp = { - enable = mkEnableOption "Astro LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Astro LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = enum (attrNames servers); diff --git a/modules/plugins/languages/bash.nix b/modules/plugins/languages/bash.nix index bfe01032..e02596cf 100644 --- a/modules/plugins/languages/bash.nix +++ b/modules/plugins/languages/bash.nix @@ -56,7 +56,7 @@ in { }; lsp = { - enable = mkEnableOption "Enable Bash LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Enable Bash LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Bash LSP server to use"; diff --git a/modules/plugins/languages/clang.nix b/modules/plugins/languages/clang.nix index bb30cc95..2db178e9 100644 --- a/modules/plugins/languages/clang.nix +++ b/modules/plugins/languages/clang.nix @@ -98,7 +98,7 @@ in { }; lsp = { - enable = mkEnableOption "clang LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "clang LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "The clang LSP server to use"; diff --git a/modules/plugins/languages/csharp.nix b/modules/plugins/languages/csharp.nix index af7f36e0..49ae4985 100644 --- a/modules/plugins/languages/csharp.nix +++ b/modules/plugins/languages/csharp.nix @@ -91,7 +91,7 @@ in { }; lsp = { - enable = mkEnableOption "C# LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "C# LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "C# LSP server to use"; type = enum (attrNames servers); diff --git a/modules/plugins/languages/css.nix b/modules/plugins/languages/css.nix index d103f241..0147fba3 100644 --- a/modules/plugins/languages/css.nix +++ b/modules/plugins/languages/css.nix @@ -80,7 +80,7 @@ in { }; lsp = { - enable = mkEnableOption "CSS LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "CSS LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "CSS LSP server to use"; diff --git a/modules/plugins/languages/cue.nix b/modules/plugins/languages/cue.nix index 313e3233..bd446cbf 100644 --- a/modules/plugins/languages/cue.nix +++ b/modules/plugins/languages/cue.nix @@ -21,7 +21,7 @@ in { }; lsp = { - enable = mkEnableOption "CUE LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "CUE LSP support" // {default = config.vim.lsp.enable;}; package = mkOption { type = package; diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index 7b9584b9..9cbd0783 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -77,7 +77,7 @@ in { flutter-tools = { enable = mkOption { type = bool; - default = config.vim.languages.enableLSP; + default = config.vim.lsp.enable; description = "Enable flutter-tools for flutter support"; }; diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index b889e60a..25b99080 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -1,8 +1,5 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let + inherit (lib.modules) mkRenamedOptionModule; inherit (lib.nvim.languages) mkEnable; in { imports = [ @@ -48,13 +45,12 @@ in { ./wgsl.nix ./yaml.nix ./ruby.nix + + # This is now a hard deprecation. + (mkRenamedOptionModule ["vim" "languages" "enableLSP"] ["vim" "lsp" "enable"]) ]; options.vim.languages = { - # LSPs are now built into Neovim, and we should enable them by default - # if `vim.lsp.enable` is true. - enableLSP = mkEnable "LSP" // {default = config.vim.lsp.enable;}; - # Those are still managed by plugins, and should be enabled here. enableDAP = mkEnable "Debug Adapter"; enableTreesitter = mkEnable "Treesitter"; diff --git a/modules/plugins/languages/elixir.nix b/modules/plugins/languages/elixir.nix index 7b3a0256..241efd8e 100644 --- a/modules/plugins/languages/elixir.nix +++ b/modules/plugins/languages/elixir.nix @@ -53,7 +53,7 @@ in { }; lsp = { - enable = mkEnableOption "Elixir LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Elixir LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Elixir LSP server to use"; diff --git a/modules/plugins/languages/fsharp.nix b/modules/plugins/languages/fsharp.nix index 966b0349..6ed0ccab 100644 --- a/modules/plugins/languages/fsharp.nix +++ b/modules/plugins/languages/fsharp.nix @@ -51,7 +51,7 @@ in { }; lsp = { - enable = mkEnableOption "F# LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "F# LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = enum (attrNames servers); default = defaultServer; diff --git a/modules/plugins/languages/gleam.nix b/modules/plugins/languages/gleam.nix index 284d3443..272ef51e 100644 --- a/modules/plugins/languages/gleam.nix +++ b/modules/plugins/languages/gleam.nix @@ -41,7 +41,7 @@ in { }; lsp = { - enable = mkEnableOption "Gleam LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Gleam LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = enum (attrNames servers); diff --git a/modules/plugins/languages/go.nix b/modules/plugins/languages/go.nix index 3f232669..bab0ff4a 100644 --- a/modules/plugins/languages/go.nix +++ b/modules/plugins/languages/go.nix @@ -67,7 +67,7 @@ in { }; lsp = { - enable = mkEnableOption "Go LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Go LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Go LSP server to use"; diff --git a/modules/plugins/languages/haskell.nix b/modules/plugins/languages/haskell.nix index ff6c7d78..f50c9f09 100644 --- a/modules/plugins/languages/haskell.nix +++ b/modules/plugins/languages/haskell.nix @@ -25,7 +25,7 @@ in { }; lsp = { - enable = mkEnableOption "LSP support for Haskell" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "LSP support for Haskell" // {default = config.vim.lsp.enable;}; package = mkOption { description = "Haskell LSP package or command to run the Haskell LSP"; example = ''[ (lib.getExe pkgs.haskellPackages.haskell-language-server) "--debug" ]''; diff --git a/modules/plugins/languages/hcl.nix b/modules/plugins/languages/hcl.nix index 3a3db782..e702170c 100644 --- a/modules/plugins/languages/hcl.nix +++ b/modules/plugins/languages/hcl.nix @@ -43,7 +43,7 @@ in { }; lsp = { - enable = mkEnableOption "HCL LSP support (terraform-ls)" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "HCL LSP support (terraform-ls)" // {default = config.vim.lsp.enable;}; # TODO: (maybe, is it better?) it would be cooler to use vscode-extensions.hashicorp.hcl probably, shouldn't be too hard package = mkOption { type = package; diff --git a/modules/plugins/languages/helm.nix b/modules/plugins/languages/helm.nix index d3fd636e..ffe115c9 100644 --- a/modules/plugins/languages/helm.nix +++ b/modules/plugins/languages/helm.nix @@ -54,7 +54,7 @@ in { }; lsp = { - enable = mkEnableOption "Helm LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Helm LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Helm LSP server to use"; diff --git a/modules/plugins/languages/java.nix b/modules/plugins/languages/java.nix index dc46fcfe..2e26feea 100644 --- a/modules/plugins/languages/java.nix +++ b/modules/plugins/languages/java.nix @@ -23,7 +23,7 @@ in { }; lsp = { - enable = mkEnableOption "Java LSP support (java-language-server)" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Java LSP support (java-language-server)" // {default = config.vim.lsp.enable;}; package = mkOption { description = "java language server package, or the command to run as a list of strings"; example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]''; diff --git a/modules/plugins/languages/julia.nix b/modules/plugins/languages/julia.nix index aa537df9..8c48b070 100644 --- a/modules/plugins/languages/julia.nix +++ b/modules/plugins/languages/julia.nix @@ -78,7 +78,7 @@ in { lsp = { enable = mkOption { type = bool; - default = config.vim.languages.enableLSP; + default = config.vim.lsp.enable; description = '' Whether to enable Julia LSP support. diff --git a/modules/plugins/languages/kotlin.nix b/modules/plugins/languages/kotlin.nix index 2ddc63e9..1118afdf 100644 --- a/modules/plugins/languages/kotlin.nix +++ b/modules/plugins/languages/kotlin.nix @@ -30,7 +30,7 @@ in { }; lsp = { - enable = mkEnableOption "Kotlin LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Kotlin LSP support" // {default = config.vim.lsp.enable;}; package = mkOption { description = "kotlin_language_server package with Kotlin runtime"; diff --git a/modules/plugins/languages/lua.nix b/modules/plugins/languages/lua.nix index d5be4905..9f56cbea 100644 --- a/modules/plugins/languages/lua.nix +++ b/modules/plugins/languages/lua.nix @@ -43,7 +43,7 @@ in { }; lsp = { - enable = mkEnableOption "Lua LSP support via LuaLS" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Lua LSP support via LuaLS" // {default = config.vim.lsp.enable;}; package = mkOption { description = "LuaLS package, or the command to run as a list of strings"; diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 4563bc44..eeb80e8d 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -67,7 +67,7 @@ in { }; lsp = { - enable = mkEnableOption "Enable Markdown LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Enable Markdown LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = enum (attrNames servers); diff --git a/modules/plugins/languages/nim.nix b/modules/plugins/languages/nim.nix index 69288223..d9a29e37 100644 --- a/modules/plugins/languages/nim.nix +++ b/modules/plugins/languages/nim.nix @@ -54,7 +54,7 @@ in { }; lsp = { - enable = mkEnableOption "Nim LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Nim LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Nim LSP server to use"; type = str; diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index ad16a34e..83022adf 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -143,7 +143,7 @@ in { }; lsp = { - enable = mkEnableOption "Nix LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Nix LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Nix LSP server to use"; type = enum (attrNames servers); diff --git a/modules/plugins/languages/nu.nix b/modules/plugins/languages/nu.nix index eab0385c..bd007fc8 100644 --- a/modules/plugins/languages/nu.nix +++ b/modules/plugins/languages/nu.nix @@ -40,7 +40,7 @@ in { }; lsp = { - enable = mkEnableOption "Nu LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Nu LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = str; default = defaultServer; diff --git a/modules/plugins/languages/ocaml.nix b/modules/plugins/languages/ocaml.nix index 568b846e..995ca04d 100644 --- a/modules/plugins/languages/ocaml.nix +++ b/modules/plugins/languages/ocaml.nix @@ -49,7 +49,7 @@ in { }; lsp = { - enable = mkEnableOption "OCaml LSP support (ocaml-lsp)" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "OCaml LSP support (ocaml-lsp)" // {default = config.vim.lsp.enable;}; server = mkOption { description = "OCaml LSP server to user"; type = enum (attrNames servers); diff --git a/modules/plugins/languages/odin.nix b/modules/plugins/languages/odin.nix index 7a32db93..6d20351c 100644 --- a/modules/plugins/languages/odin.nix +++ b/modules/plugins/languages/odin.nix @@ -41,7 +41,7 @@ in { }; lsp = { - enable = mkEnableOption "Odin LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Odin LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = enum (attrNames servers); diff --git a/modules/plugins/languages/php.nix b/modules/plugins/languages/php.nix index 4dccc8cd..61ff0425 100644 --- a/modules/plugins/languages/php.nix +++ b/modules/plugins/languages/php.nix @@ -95,7 +95,7 @@ in { }; lsp = { - enable = mkEnableOption "PHP LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "PHP LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "PHP LSP server to use"; diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 9905716e..bec7ec8b 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -169,7 +169,7 @@ in { }; lsp = { - enable = mkEnableOption "Python LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Python LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Python LSP server to use"; diff --git a/modules/plugins/languages/r.nix b/modules/plugins/languages/r.nix index fcadcc37..894c63f6 100644 --- a/modules/plugins/languages/r.nix +++ b/modules/plugins/languages/r.nix @@ -79,7 +79,7 @@ in { }; lsp = { - enable = mkEnableOption "R LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "R LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "R LSP server to use"; diff --git a/modules/plugins/languages/ruby.nix b/modules/plugins/languages/ruby.nix index 2f42aa4f..ab0e0905 100644 --- a/modules/plugins/languages/ruby.nix +++ b/modules/plugins/languages/ruby.nix @@ -57,7 +57,7 @@ in { }; lsp = { - enable = mkEnableOption "Ruby LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Ruby LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = enum (attrNames servers); diff --git a/modules/plugins/languages/rust.nix b/modules/plugins/languages/rust.nix index 2181623a..677f7d3b 100644 --- a/modules/plugins/languages/rust.nix +++ b/modules/plugins/languages/rust.nix @@ -43,7 +43,7 @@ in { }; lsp = { - enable = mkEnableOption "Rust LSP support (rust-analyzer with extra tools)" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Rust LSP support (rust-analyzer with extra tools)" // {default = config.vim.lsp.enable;}; package = mkOption { description = "rust-analyzer package, or the command to run as a list of strings"; example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]''; diff --git a/modules/plugins/languages/scala.nix b/modules/plugins/languages/scala.nix index f769d092..b5382415 100644 --- a/modules/plugins/languages/scala.nix +++ b/modules/plugins/languages/scala.nix @@ -33,7 +33,7 @@ in { }; lsp = { - enable = mkEnableOption "Scala LSP support (metals)" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Scala LSP support (metals)" // {default = config.vim.lsp.enable;}; package = mkPackageOption pkgs "metals" { default = ["metals"]; }; diff --git a/modules/plugins/languages/sql.nix b/modules/plugins/languages/sql.nix index 277dbeef..add46c15 100644 --- a/modules/plugins/languages/sql.nix +++ b/modules/plugins/languages/sql.nix @@ -79,7 +79,7 @@ in { }; lsp = { - enable = mkEnableOption "SQL LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "SQL LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "SQL LSP server to use"; diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index 536ff2c1..08a807c7 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -77,7 +77,7 @@ in { }; lsp = { - enable = mkEnableOption "Svelte LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Svelte LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Svelte LSP server to use"; diff --git a/modules/plugins/languages/tailwind.nix b/modules/plugins/languages/tailwind.nix index 594f6d9d..fbe707ba 100644 --- a/modules/plugins/languages/tailwind.nix +++ b/modules/plugins/languages/tailwind.nix @@ -35,7 +35,7 @@ in { enable = mkEnableOption "Tailwindcss language support"; lsp = { - enable = mkEnableOption "Tailwindcss LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Tailwindcss LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Tailwindcss LSP server to use"; diff --git a/modules/plugins/languages/terraform.nix b/modules/plugins/languages/terraform.nix index 33bb9357..095da072 100644 --- a/modules/plugins/languages/terraform.nix +++ b/modules/plugins/languages/terraform.nix @@ -20,7 +20,7 @@ in { }; lsp = { - enable = mkEnableOption "Terraform LSP support (terraform-ls)" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Terraform LSP support (terraform-ls)" // {default = config.vim.lsp.enable;}; package = mkOption { description = "terraform-ls package"; diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index df1353ab..5a1e5889 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -120,7 +120,7 @@ in { }; lsp = { - enable = mkEnableOption "Typescript/Javascript LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Typescript/Javascript LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Typescript/Javascript LSP server to use"; diff --git a/modules/plugins/languages/typst.nix b/modules/plugins/languages/typst.nix index 8c65ae2c..08a2252b 100644 --- a/modules/plugins/languages/typst.nix +++ b/modules/plugins/languages/typst.nix @@ -76,7 +76,7 @@ in { }; lsp = { - enable = mkEnableOption "Typst LSP support (typst-lsp)" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Typst LSP support (typst-lsp)" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Typst LSP server to use"; diff --git a/modules/plugins/languages/vala.nix b/modules/plugins/languages/vala.nix index da65a372..220926d0 100644 --- a/modules/plugins/languages/vala.nix +++ b/modules/plugins/languages/vala.nix @@ -50,7 +50,7 @@ in { }; lsp = { - enable = mkEnableOption "Vala LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Vala LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { description = "Vala LSP server to use"; type = enum (attrNames servers); diff --git a/modules/plugins/languages/wgsl.nix b/modules/plugins/languages/wgsl.nix index 7c8a1016..f374543e 100644 --- a/modules/plugins/languages/wgsl.nix +++ b/modules/plugins/languages/wgsl.nix @@ -42,7 +42,7 @@ in { }; lsp = { - enable = mkEnableOption "WGSL LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "WGSL LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = enum (attrNames servers); diff --git a/modules/plugins/languages/yaml.nix b/modules/plugins/languages/yaml.nix index c84b17cd..7a1a4552 100644 --- a/modules/plugins/languages/yaml.nix +++ b/modules/plugins/languages/yaml.nix @@ -55,7 +55,7 @@ in { }; lsp = { - enable = mkEnableOption "YAML LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "YAML LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = enum (attrNames servers); diff --git a/modules/plugins/languages/zig.nix b/modules/plugins/languages/zig.nix index 2aa0e2b6..89307eab 100644 --- a/modules/plugins/languages/zig.nix +++ b/modules/plugins/languages/zig.nix @@ -72,7 +72,7 @@ in { }; lsp = { - enable = mkEnableOption "Zig LSP support" // {default = config.vim.languages.enableLSP;}; + enable = mkEnableOption "Zig LSP support" // {default = config.vim.lsp.enable;}; server = mkOption { type = enum (attrNames servers); diff --git a/modules/plugins/lsp/module.nix b/modules/plugins/lsp/module.nix index f408d873..6b63d725 100644 --- a/modules/plugins/lsp/module.nix +++ b/modules/plugins/lsp/module.nix @@ -3,11 +3,12 @@ inherit (lib.nvim.binds) mkMappingOption; in { options.vim.lsp = { - enable = mkEnableOption "LSP, also enabled automatically through null-ls and lspconfig options"; formatOnSave = mkEnableOption "format on save"; + inlayHints = { enable = mkEnableOption "inlay hints"; }; + mappings = { goToDefinition = mkMappingOption "Go to definition" From 4678f734111f341dc29b5f16adb8e084b97ded7e Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 28 Apr 2025 22:51:04 +0300 Subject: [PATCH 111/271] neovim/clipboard: init module --- docs/release-notes/rl-0.8.md | 6 ++- modules/neovim/init/clipboard.nix | 80 +++++++++++++++++++++++++++++++ modules/neovim/init/default.nix | 1 + 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 modules/neovim/init/clipboard.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 80a0300c..f0f58e7c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -91,6 +91,9 @@ options for `vim.diagnostic.config()` can now be customized through the [](#opt-vim.diagnostics.config) in nvf. +- Add `vim.clipboard` module for easily managing Neovim clipboard providers and + relevant packages in a simple UI. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim @@ -361,4 +364,5 @@ [Hardtime.nvim]: https://github.com/m4xshen/hardtime.nvim -- Add Plugin [Hardtime.nvim] under `vim.binds.hardtime-nvim` with `enable` and `setupOpts` options +- Add Plugin [Hardtime.nvim] under `vim.binds.hardtime-nvim` with `enable` and + `setupOpts` options diff --git a/modules/neovim/init/clipboard.nix b/modules/neovim/init/clipboard.nix new file mode 100644 index 00000000..011effaf --- /dev/null +++ b/modules/neovim/init/clipboard.nix @@ -0,0 +1,80 @@ +{ + config, + pkgs, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.options) mkOption mkEnableOption mkPackageOption; + inherit (lib.types) nullOr either str listOf submodule; + inherit (lib.attrsets) mapAttrs mapAttrsToList filterAttrs; + cfg = config.vim.clipboard; +in { + options = { + vim = { + clipboard = { + enable = mkEnableOption '' + clipboard management for Neovim. Users may still choose to manage their + clipboard through [](#opt-vim.options) should they wish to avoid using + this module. + ''; + + registers = mkOption { + type = either str (listOf str); + default = ""; + example = "unnamedplus"; + description = '' + The register to be used by the Neovim clipboard. Recognized types are: + + * unnamed: Vim will use the clipboard register `"*"` for all yank, delete, + change and put operations which would normally go to the unnamed register. + + * unnamedplus: A variant of the "unnamed" flag which uses the clipboard register + `"+"` ({command}`:h quoteplus`) instead of register `"*"` for all yank, delete, + change and put operations which would normally go to the unnamed register. + + When `unnamed` and `unnamedplus` is included simultaneously yank and delete + operations (but not put) will additionally copy the text into register `"*"`. + + Please see {command}`:h clipboard` for more details. + + ''; + }; + + providers = mkOption { + type = submodule { + options = let + clipboards = { + # name = "package name"; + wl-copy = "wl-clipboard"; + xclip = "xclip"; + xsel = "xsel"; + }; + in + mapAttrs (name: pname: { + enable = mkEnableOption name; + package = mkPackageOption pkgs pname {nullable = true;}; + }) + clipboards; + }; + default = {}; + description = '' + Clipboard providers for which packages will be added to nvf's + {option}`extraPackages`. The `package` field may be set to `null` + if related packages are already found in system packages to + potentially reduce closure sizes. + ''; + }; + }; + }; + }; + + config = mkIf cfg.enable { + vim = { + options.clipboard = cfg.registers; + extraPackages = mapAttrsToList (_: v: v.package) ( + filterAttrs (_: v: v.enable && v.package != null) cfg.providers + ); + }; + }; +} diff --git a/modules/neovim/init/default.nix b/modules/neovim/init/default.nix index 7db6f2ef..30a481a1 100644 --- a/modules/neovim/init/default.nix +++ b/modules/neovim/init/default.nix @@ -2,6 +2,7 @@ imports = [ ./autocmds.nix ./basic.nix + ./clipboard.nix ./debug.nix ./diagnostics.nix ./highlight.nix From 69e75a00ed25a1708fca234a15bbd361e02ead73 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 4 May 2025 18:22:47 +0300 Subject: [PATCH 112/271] neovim/basic: deprecate `vim.useSystemClipboard` --- docs/release-notes/rl-0.8.md | 7 +++++++ modules/extra/deprecations.nix | 9 +++++++++ modules/neovim/init/basic.nix | 10 ---------- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f0f58e7c..014a4a23 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -19,6 +19,11 @@ unavailable as they have been refactored out of the main none-ls repository upstream. +- `vim.useSystemClipboard` has been deprecated as a part of removing most + top-level convenience options, and should instead be configured in the new + module interface. You may set [](#opt-vim.clipboard.registers) appropriately + to configure Neovim to use the system clipboard. + [NotAShelf](https://github.com/notashelf): [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim @@ -93,6 +98,8 @@ - Add `vim.clipboard` module for easily managing Neovim clipboard providers and relevant packages in a simple UI. + - This deprecates `vim.useSystemClipboard` as well, see breaking changes + section above for migration options. [amadaluzia](https://github.com/amadaluzia): diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index 86497130..91d8ef28 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -111,6 +111,15 @@ in { under the diagnostics module. Please consider using one of 'vim.diagnostics.config' or 'vim.luaConfigRC' to configure LSP lines for Neovim through its own diagnostics API. '') + + # 2025-05-04 + (mkRemovedOptionModule ["vim" "useSystemClipboard"] '' + Clipboard behaviour should now be controlled through the new, more fine-grained module + interface found in 'vim.clipboard'. To replicate previous behaviour, you may either + add 'vim.opt.clipboard:append("unnamedplus")' in luaConfigRC, or preferably set it + in 'vim.clipboard.registers'. Please see the documentation for the new module for more + details, or open an issue if you are confused. + '') ] # Migrated via batchRenameOptions. Further batch renames must be below this line. diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index 47bfe500..195ef5e7 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -34,12 +34,6 @@ in { description = "Enable syntax highlighting"; }; - useSystemClipboard = mkOption { - type = bool; - default = false; - description = "Make use of the clipboard for default yank and paste operations. Don't use * and +"; - }; - lineNumberMode = mkOption { type = enum ["relative" "number" "relNumber" "none"]; default = "relNumber"; @@ -144,10 +138,6 @@ in { # to pre-set Neovim options. Fear not, though as the Lua DAG is still as powerful as it # could be. luaConfigRC.basic = entryAfter ["globalsScript"] '' - ${optionalString cfg.useSystemClipboard '' - vim.opt.clipboard:append("unnamedplus") - ''} - ${optionalString cfg.syntaxHighlighting '' vim.cmd("syntax on") ''} From b61893971636ac268aa72d30a309b1fabfc7d709 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 4 May 2025 17:58:22 +0300 Subject: [PATCH 113/271] languages: deprecate `vim.languages.enableLSP` This change is done in favor of our intentions to use the new API Neovim has exposed, and the one we are exposing to match theirs. --- modules/plugins/lsp/lspconfig/config.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/plugins/lsp/lspconfig/config.nix b/modules/plugins/lsp/lspconfig/config.nix index 1c1f0a0a..16cba488 100644 --- a/modules/plugins/lsp/lspconfig/config.nix +++ b/modules/plugins/lsp/lspconfig/config.nix @@ -14,8 +14,6 @@ in { config = mkIf cfg.lspconfig.enable (mkMerge [ { vim = { - lsp.enable = true; - startPlugins = ["nvim-lspconfig"]; pluginRC.lspconfig = entryAfter ["lsp-setup"] '' From f558b7bc00aaef79ba3f60f4075ffde127bbfaf3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 4 May 2025 18:25:53 +0300 Subject: [PATCH 114/271] docs: remove broken mentinos in old release notes --- docs/release-notes/rl-0.3.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.3.md b/docs/release-notes/rl-0.3.md index 87ae5648..089f01f7 100644 --- a/docs/release-notes/rl-0.3.md +++ b/docs/release-notes/rl-0.3.md @@ -50,9 +50,8 @@ soon. - A new section has been added for language support: `vim.languages.`. - - The options [](#opt-vim.languages.enableLSP), - [](#opt-vim.languages.enableTreesitter), etc. will enable the respective - section for all languages that have been enabled. + - The options `enableLSP` [](#opt-vim.languages.enableTreesitter), etc. will + enable the respective section for all languages that have been enabled. - All LSP languages have been moved here - `plantuml` and `markdown` have been moved here - A new section has been added for `html`. The old From e752f59994e8f5c912dc2ca7c23d2ae2a5f193fd Mon Sep 17 00:00:00 2001 From: taylrfnt Date: Sun, 4 May 2025 19:05:09 -0500 Subject: [PATCH 115/271] nvimtree: add missing icon placement options - Address missing `right_align` option in existing icon placement attributes - Add the missing placement options from https://github.com/nvim-tree/nvim-tree.lua/blob/582ae48c9e43d2bcd55dfcc8e2e7a1f29065d924/lua/nvim-tree.lua#L595-L599 - Update the `mkOption` arguments to adhere to the requested style guide: ``` 1. type 2. default 3. (optional) example 4. description ``` --- .../plugins/filetree/nvimtree/nvimtree.nix | 41 +++++++++++++++++-- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/modules/plugins/filetree/nvimtree/nvimtree.nix b/modules/plugins/filetree/nvimtree/nvimtree.nix index 9c443a6e..c3beb38f 100644 --- a/modules/plugins/filetree/nvimtree/nvimtree.nix +++ b/modules/plugins/filetree/nvimtree/nvimtree.nix @@ -683,15 +683,48 @@ in { }; git_placement = mkOption { - type = enum ["before" "after" "signcolumn"]; - description = "Place where the git icons will be rendered. `signcolumn` requires `view.signcolumn` to be enabled."; + type = enum ["before" "after" "signcolumn" "right_align"]; default = "before"; + description = '' + Place where the git icons will be rendered. + `signcolumn` requires `view.signcolumn` to be enabled. + ''; }; modified_placement = mkOption { - type = enum ["before" "after" "signcolumn"]; - description = "Place where the modified icons will be rendered. `signcolumn` requires `view.signcolumn` to be enabled."; + type = enum ["before" "after" "signcolumn" "right_align"]; default = "after"; + description = '' + Place where the modified icons will be rendered. + `signcolumn` requires `view.signcolumn` to be enabled. + ''; + }; + + hidden_placement = mkOption { + type = enum ["before" "after" "signcolumn" "right_align"]; + default = "after"; + description = '' + Place where the hidden icons will be rendered. + `signcolumn` requires `view.signcolumn` to be enabled. + ''; + }; + + diagnostics_placement = mkOption { + type = enum ["before" "after" "signcolumn" "right_align"]; + default = "after"; + description = '' + Place where the diagnostics icons will be rendered. + `signcolumn` requires `view.signcolumn` to be enabled. + ''; + }; + + bookmarks_placement = mkOption { + type = enum ["before" "after" "signcolumn" "right_align"]; + default = "after"; + description = '' + Place where the bookmark icons will be rendered. + `signcolumn` requires `view.signcolumn` to be enabled. + ''; }; padding = mkOption { From ee0a7e704824b73015234b4e97eab5a59efae364 Mon Sep 17 00:00:00 2001 From: taylrfnt Date: Sun, 4 May 2025 21:11:30 -0500 Subject: [PATCH 116/271] changelog: update with summary of changes (non-breaking) Add a summary of the (non-breaking) changes to the nvim-tree plugin options per contributing guidelines. --- docs/release-notes/rl-0.8.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 80a0300c..e0c06fc8 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -362,3 +362,11 @@ [Hardtime.nvim]: https://github.com/m4xshen/hardtime.nvim - Add Plugin [Hardtime.nvim] under `vim.binds.hardtime-nvim` with `enable` and `setupOpts` options + +[taylrfnt](https://github.com/taylrfnt): + +[nvim-tree](https://github.com/nvim-tree/nvim-tree.lua): + +- Add missing `right_align` option for existing `renderer.icons` options. +- Add missing `render.icons` options (`hidden_placement`, + `diagnostics_placement`, and `bookmarks_placement`). From 9feb71594d00e5f40b16d39b06b3fd4bad7630a0 Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Sat, 3 May 2025 17:52:36 -0400 Subject: [PATCH 117/271] refactor: nuke legacyPackages and overlays rework blink-cmp package --- docs/default.nix | 1 + flake.nix | 3 --- flake/blink/default.nix | 31 +++++++++++++++++++++++++ flake/develop.nix | 3 ++- flake/legacyPackages.nix | 35 ---------------------------- flake/legacyPackages/blink-cmp.nix | 37 ------------------------------ flake/overlays.nix | 19 --------------- flake/packages.nix | 15 ++++++++---- lib/default.nix | 2 +- lib/types/default.nix | 7 ++++-- lib/types/plugins.nix | 7 ++++-- modules/plugins/languages/nix.nix | 3 ++- modules/wrapper/build/config.nix | 2 +- npins/sources.json | 16 ------------- 14 files changed, 59 insertions(+), 122 deletions(-) create mode 100644 flake/blink/default.nix delete mode 100644 flake/legacyPackages.nix delete mode 100644 flake/legacyPackages/blink-cmp.nix delete mode 100644 flake/overlays.nix diff --git a/docs/default.nix b/docs/default.nix index 98b29db0..49f90b80 100644 --- a/docs/default.nix +++ b/docs/default.nix @@ -12,6 +12,7 @@ inherit ( (lib.evalModules { + specialArgs = {inherit inputs;}; modules = import ../modules/modules.nix { inherit lib pkgs; diff --git a/flake.nix b/flake.nix index 6e716581..e958f91c 100644 --- a/flake.nix +++ b/flake.nix @@ -18,10 +18,7 @@ systems = import inputs.systems; imports = [ ./flake/templates - ./flake/apps.nix - ./flake/legacyPackages.nix - ./flake/overlays.nix ./flake/packages.nix ./flake/develop.nix ]; diff --git a/flake/blink/default.nix b/flake/blink/default.nix new file mode 100644 index 00000000..08c87073 --- /dev/null +++ b/flake/blink/default.nix @@ -0,0 +1,31 @@ +{ + rustPlatform, + fetchFromGitHub, + writeShellScriptBin, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "blink-cmp"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "Saghen"; + repo = "blink.cmp"; + tag = "v${finalAttrs.version}"; + hash = "sha256-bKe8SSg1HPWE7b4iRQJwiOVCrvvgttuHCOIa4U/38AY="; + }; + + postInstall = '' + cp -r {lua,plugin} "$out" + mkdir -p "$out/target" + mv "$out/lib" "$out/target/release" + ''; + + cargoHash = "sha256-IDoDugtNWQovfSstbVMkKHLBXKa06lxRWmywu4zyS3M="; + useFetchCargoVendor = true; + + nativeBuildInputs = [ + (writeShellScriptBin "git" "exit 1") + ]; + + env.RUSTC_BOOTSTRAP = true; +}) diff --git a/flake/develop.nix b/flake/develop.nix index 71c13688..d92b8182 100644 --- a/flake/develop.nix +++ b/flake/develop.nix @@ -3,13 +3,14 @@ pkgs, config, self', + inputs', ... }: { devShells = { default = self'.devShells.lsp; nvim-nix = pkgs.mkShellNoCC {packages = [config.packages.nix];}; lsp = pkgs.mkShellNoCC { - packages = with pkgs; [nil statix deadnix alejandra npins]; + packages = with pkgs; [inputs'.nil.packages.default statix deadnix alejandra npins]; }; }; diff --git a/flake/legacyPackages.nix b/flake/legacyPackages.nix deleted file mode 100644 index 33aee0e3..00000000 --- a/flake/legacyPackages.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - inputs, - self, - ... -}: { - perSystem = { - system, - inputs', - ... - }: { - legacyPackages = import inputs.nixpkgs { - inherit system; - overlays = [ - inputs.self.overlays.default - - (final: prev: { - # Build nil from source to get most recent - # features as they are added. - nil = inputs'.nil.packages.default; - blink-cmp = let - pin = self.pins.blink-cmp; - in - final.callPackage ./legacyPackages/blink-cmp.nix { - inherit (pin) version; - src = prev.fetchFromGitHub { - inherit (pin.repository) owner repo; - rev = pin.revision; - sha256 = pin.hash; - }; - }; - }) - ]; - }; - }; -} diff --git a/flake/legacyPackages/blink-cmp.nix b/flake/legacyPackages/blink-cmp.nix deleted file mode 100644 index 60dce9de..00000000 --- a/flake/legacyPackages/blink-cmp.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - stdenv, - rustPlatform, - vimUtils, - gitMinimal, - src, - version, -}: let - blink-fuzzy-lib = rustPlatform.buildRustPackage { - pname = "blink-fuzzy-lib"; - inherit version src; - - # TODO: remove this if plugin stops using nightly rust - env.RUSTC_BOOTSTRAP = true; - - useFetchCargoVendor = true; - cargoHash = "sha256-IDoDugtNWQovfSstbVMkKHLBXKa06lxRWmywu4zyS3M="; - - nativeBuildInputs = [gitMinimal]; - }; -in - vimUtils.buildVimPlugin { - pname = "blink-cmp"; - inherit version src; - - # blink references a repro.lua which is placed outside the lua/ directory - doCheck = false; - preInstall = let - ext = stdenv.hostPlatform.extensions.sharedLibrary; - in '' - mkdir -p target/release - ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy${ext} target/release/libblink_cmp_fuzzy${ext} - ''; - - # Module for reproducing issues - nvimSkipModules = ["repro"]; - } diff --git a/flake/overlays.nix b/flake/overlays.nix deleted file mode 100644 index 5d0ff6e8..00000000 --- a/flake/overlays.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - pkgs, - lib, - ... -}: let - inherit (lib.nvim) neovimConfiguration; - - buildPkg = pkgs: modules: (neovimConfiguration {inherit pkgs modules;}).neovim; - - nixConfig = import ../configuration.nix false; - maximalConfig = import ../configuration.nix true; -in { - flake.overlays.default = final: _prev: { - inherit neovimConfiguration; - neovim-nix = buildPkg final [nixConfig]; - neovim-maximal = buildPkg final [maximalConfig]; - devPkg = buildPkg pkgs [nixConfig {config.vim.languages.html.enable = pkgs.lib.mkForce true;}]; - }; -} diff --git a/flake/packages.nix b/flake/packages.nix index 7abe5ec0..d6afbbf8 100644 --- a/flake/packages.nix +++ b/flake/packages.nix @@ -1,4 +1,4 @@ -{inputs, ...}: { +{inputs, ...} @ args: { perSystem = { config, pkgs, @@ -6,8 +6,15 @@ ... }: let docs = import ../docs {inherit pkgs inputs lib;}; + buildPkg = maximal: + (args.config.flake.lib.nvim.neovimConfiguration { + inherit pkgs; + modules = [(import ../configuration.nix maximal)]; + }).neovim; in { packages = { + blink-cmp = pkgs.callPackage ./blink {}; + inherit (docs.manual) htmlOpenTool; # Documentation docs = docs.manual.html; @@ -61,9 +68,9 @@ ''; # Exposed neovim configurations - nix = config.legacyPackages.neovim-nix; - maximal = config.legacyPackages.neovim-maximal; - default = config.legacyPackages.neovim-nix; + nix = buildPkg false; + maximal = buildPkg true; + default = config.packages.nix; }; }; } diff --git a/lib/default.nix b/lib/default.nix index 952278a8..c4388e82 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -4,7 +4,7 @@ lib, ... }: { - types = import ./types {inherit lib;}; + types = import ./types {inherit lib self;}; config = import ./config.nix {inherit lib;}; binds = import ./binds.nix {inherit lib;}; dag = import ./dag.nix {inherit lib;}; diff --git a/lib/types/default.nix b/lib/types/default.nix index c6239227..044a8221 100644 --- a/lib/types/default.nix +++ b/lib/types/default.nix @@ -1,6 +1,9 @@ -{lib}: let +{ + lib, + self, +}: let typesDag = import ./dag.nix {inherit lib;}; - typesPlugin = import ./plugins.nix {inherit lib;}; + typesPlugin = import ./plugins.nix {inherit lib self;}; typesLanguage = import ./languages.nix {inherit lib;}; customTypes = import ./custom.nix {inherit lib;}; in { diff --git a/lib/types/plugins.nix b/lib/types/plugins.nix index fc2bd083..4be39289 100644 --- a/lib/types/plugins.nix +++ b/lib/types/plugins.nix @@ -1,4 +1,7 @@ -{lib}: let +{ + lib, + self, +}: let inherit (lib.options) mkOption; inherit (lib.attrsets) attrNames mapAttrs' filterAttrs nameValuePair; inherit (lib.strings) hasPrefix removePrefix; @@ -12,7 +15,7 @@ mapAttrs' (n: v: nameValuePair (removePrefix prefix n) {src = v;}) (filterAttrs (n: _: hasPrefix prefix n) inputs); # Get the names of all npins - pluginInputNames = attrNames (lib.importJSON ../../npins/sources.json).pins; + pluginInputNames = ["blink-cmp"] ++ attrNames self.pins; # You can either use the name of the plugin or a package. pluginType = nullOr ( diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index 83022adf..aceee70d 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -2,6 +2,7 @@ config, pkgs, lib, + inputs, ... }: let inherit (builtins) attrNames; @@ -27,7 +28,7 @@ else ''{"${package}/bin/${defaultCmd}"}''; servers = { nil = { - package = pkgs.nil; + package = inputs.nil.packages.${pkgs.stdenv.system}.nil; internalFormatter = true; lspConfig = '' lspconfig.nil_ls.setup{ diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index 61ba1513..00ad2305 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -51,7 +51,7 @@ doCheck = false; }; - inherit (inputs.self.legacyPackages.${pkgs.stdenv.system}) blink-cmp; + inherit (inputs.self.packages.${pkgs.stdenv.system}) blink-cmp; }; buildConfigPlugins = plugins: diff --git a/npins/sources.json b/npins/sources.json index a2122460..8e82850a 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -39,22 +39,6 @@ "url": "https://github.com/rrethy/base16-nvim/archive/965160025d0facbe9caa863e5beef2a7a488e9d1.tar.gz", "hash": "02w1mn15gydma9canvqrlwf4l5z76s1vs01zanipwwflvwclsb8f" }, - "blink-cmp": { - "type": "GitRelease", - "repository": { - "type": "GitHub", - "owner": "saghen", - "repo": "blink.cmp" - }, - "pre_releases": false, - "version_upper_bound": null, - "release_prefix": null, - "submodules": false, - "version": "v1.2.0", - "revision": "d72a826e1961e14f91d8867d10a27a89c5cfe748", - "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v1.2.0", - "hash": "01phyx7y26p2123xpdp0zfp45rc8f014a8myxn2ga71m514vr9vc" - }, "blink-cmp-spell": { "type": "Git", "repository": { From e9e57caa1806f0693d4888c98b077f65ca267913 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Mon, 5 May 2025 09:46:49 +0200 Subject: [PATCH 118/271] languages/dart: fix infinite recursion The default value of the flutter-tools.enable option conflicted with the lsp.enable definition, which was conditionally defined based on flutter-tools.enable. However, the lsp.enable definition isn't required for flutter-tools' LSP functionality, so it can be removed. --- modules/plugins/languages/dart.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index 9cbd0783..c2a1810d 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -143,8 +143,6 @@ in { }) (mkIf ftcfg.enable { - lsp.enable = true; - startPlugins = [ ( if ftcfg.enableNoResolvePatch From 7d191a350df23f2cb3f9110105d3b787559f9479 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 5 May 2025 10:45:33 +0300 Subject: [PATCH 119/271] ci: backport & labeler config --- .github/labels.yml | 55 ++++++++++++++++++++++++++++++++++ .github/workflows/backport.yml | 33 ++++++++++++++++++++ .github/workflows/labeler.yml | 21 +++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 .github/labels.yml create mode 100644 .github/workflows/backport.yml create mode 100644 .github/workflows/labeler.yml diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 00000000..e799004f --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,55 @@ +# This file is used by .github/workflows/labels.yml +"topic: plugins": + - any: + - changed-files: + - any-glob-to-any-file: + - modules/plugins/**/* + +"topic: modules": + - any: + - changed-files: + - any-glob-to-any-file: + - modules/**/* + +"topic: dependencies": + - any: + - changed-files: + - any-glob-to-any-file: + - npins + - flake.lock + +"topic: CI": + - any: + - changed-files: + - any-glob-to-any-file: + - .github/workflows/*.yml + - .github/typos.toml + . .github/dependabot.yml + +"topic: meta": + - any: + - changed-files: + - any-glob-to-any-file: + - .github/CODEOWNERS + - LICENSE + - .github/README.md + - .github/funding.yml + - .github/assets + - .github/*_TEMPLATE + - .gitignore + - .editorconfig + - release.json + +"topic: documentation": + - any: + - changed-files: + - any-glob-to-any-file: + - docs/**/* + - .github/CONTRIBUTING.md + - .github/README.md +"topic: packaging": + - any: + - changed-files: + - any-glob-to-any-file: + - flake.nix + - flake/packages.nix diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml new file mode 100644 index 00000000..0a558fb8 --- /dev/null +++ b/.github/workflows/backport.yml @@ -0,0 +1,33 @@ +name: Backport PR on Label + +on: + pull_request_target: + types: + - labeled + +# Permissions needed for the korthout/backport-action to create branches and PRs +permissions: + contents: write + pull-requests: write + +jobs: + backport: + name: Create Backport PR + runs-on: ubuntu-latest + if: | + github.event.pull_request.merged == true && startsWith(github.event.label.name, 'backport-') + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + token: ${{ steps.app-token.outputs.token }} + + - name: Backport Action + uses: korthout/backport-action@v3 + with: + # Regex pattern for labels that should trigger a backport AND extracts the target branch + # from the name (e.g. v0.x or v0.x.y; we use zerover). This action will ONLY proceed if + # the label that triggered the workflow fully matches this pattern. + # Example matching labels: "backport-v0.1", "backport-v0.10.1" + # Example non-matching labels: "backport-foo", "backport-v1.0" + label_pattern: '^backport-(v0\.\d+(\.\d+)?)$' diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 00000000..96d5c7be --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,21 @@ +name: "Label PR" + +on: + pull_request_target: + types: [edited, opened, synchronize, reopened] + +permissions: + contents: read + pull-requests: write + +jobs: + labels: + name: "Label PR" + runs-on: ubuntu-latest + if: "!contains(github.event.pull_request.title, '[skip ci]')" + steps: + - uses: actions/labeler@v5 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + configuration-path: .github/labeler.yml + sync-labels: true From 5221dc27ddcabaca9eb54f20577b1de955e325ee Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 5 May 2025 10:58:58 +0300 Subject: [PATCH 120/271] ci: fix labeler config path --- .github/workflows/labeler.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 96d5c7be..fc2e0d65 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -17,5 +17,5 @@ jobs: - uses: actions/labeler@v5 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - configuration-path: .github/labeler.yml + configuration-path: .github/labels.yml sync-labels: true From 3c672f64fc2e7a19aa33000733b5fc84e29f41b8 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 7 Mar 2025 16:20:46 +0300 Subject: [PATCH 121/271] docs/custom-plugins: avoid using `with` scopes in the manual --- .../configuring/custom-plugins/configuring.md | 20 ++++++++++--------- .../custom-plugins/non-lazy-method.md | 8 ++++---- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/docs/manual/configuring/custom-plugins/configuring.md b/docs/manual/configuring/custom-plugins/configuring.md index 5106d29b..42af11be 100644 --- a/docs/manual/configuring/custom-plugins/configuring.md +++ b/docs/manual/configuring/custom-plugins/configuring.md @@ -32,16 +32,18 @@ that the `extraPlugins` option has its own DAG scope), and the its setup code respectively. For example: ```nix -config.vim.extraPlugins = with pkgs.vimPlugins; { - aerial = { - package = aerial-nvim; - setup = "require('aerial').setup {}"; - }; +{pkgs, ...}: { + config.vim.extraPlugins = { + aerial = { + package = pkgs.vimPlugins.aerial-nvim; + setup = "require('aerial').setup {}"; + }; - harpoon = { - package = harpoon; - setup = "require('harpoon').setup {}"; - after = ["aerial"]; # place harpoon configuration after aerial + harpoon = { + package = pkgs.vimPlugins.harpoon; + setup = "require('harpoon').setup {}"; + after = ["aerial"]; # place harpoon configuration after aerial + }; }; } ``` diff --git a/docs/manual/configuring/custom-plugins/non-lazy-method.md b/docs/manual/configuring/custom-plugins/non-lazy-method.md index 351af2eb..d8477283 100644 --- a/docs/manual/configuring/custom-plugins/non-lazy-method.md +++ b/docs/manual/configuring/custom-plugins/non-lazy-method.md @@ -5,10 +5,10 @@ under `vim.extraPlugins`. Instead of using DAGs exposed by the library, you may use the extra plugin module as follows: ```nix -{ - config.vim.extraPlugins = with pkgs.vimPlugins; { +{pkgs, ...}: { + config.vim.extraPlugins = { aerial = { - package = aerial-nvim; + package = pkgs.vimPlugins.aerial-nvim; setup = '' require('aerial').setup { -- some lua configuration here @@ -17,7 +17,7 @@ use the extra plugin module as follows: }; harpoon = { - package = harpoon; + package = pkgs.vimPlugins.harpoon; setup = "require('harpoon').setup {}"; after = ["aerial"]; }; From 37750d9befcff9ee621c1cc15a8f5fc2d0f5133b Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 12 Mar 2025 03:53:16 +0300 Subject: [PATCH 122/271] docs/manual: document building plugins from source --- docs/manual/tips.md | 3 +- docs/manual/tips/plugin-sources.md | 131 +++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 docs/manual/tips/plugin-sources.md diff --git a/docs/manual/tips.md b/docs/manual/tips.md index 6e6dc9c2..f52cbca2 100644 --- a/docs/manual/tips.md +++ b/docs/manual/tips.md @@ -1,7 +1,8 @@ # Helpful Tips {#ch-helpful-tips} ```{=include=} chapters -tips/pure-lua-config.md tips/debugging-nvf.md tips/offline-docs.md +tips/pure-lua-config.md +tips/plugin-sources.md ``` diff --git a/docs/manual/tips/plugin-sources.md b/docs/manual/tips/plugin-sources.md new file mode 100644 index 00000000..7cf6a470 --- /dev/null +++ b/docs/manual/tips/plugin-sources.md @@ -0,0 +1,131 @@ +# Adding Plugins From Different Sources {#sec-plugin-sources} + +**nvf** attempts to avoid depending on Nixpkgs for Neovim plugins. For the most +part, this is accomplished by defining each plugin's source and building them +from source. + +[npins]: https://github.com/andir/npins + +To define plugin sources, we use [npins] and pin each plugin source using +builtin fetchers. You are not bound by this restriction. In your own +configuration, any kind of fetcher or plugin source is fine. + +## Nixpkgs & Friends {#ch-plugins-from-nixpkgs} + +`vim.startPlugins` and `vim.optPlugins` options take either a **string**, in +which case a plugin from nvf's internal plugins registry will be used, or a +**package**. If your plugin does not require any setup, or ordering for it s +configuration, then it is possible to add it to `vim.startPlugins` to load it on +startup. + +```nix +{pkgs, ...}: { + # Aerial does require some setup. In the case you pass a plugin that *does* + # require manual setup, then you must also call the setup function. + vim.startPlugins = [pkgs.vimPlugins.aerial-nvim]; +} +``` + +[`vim.extraPlugins`]: https://notashelf.github.io/nvf/options.html#opt-vim.extraPlugins + +This will fetch aerial.nvim from nixpkgs, and add it to Neovim's runtime path to +be loaded manually. Although for plugins that require manual setup, you are +encouraged to use [`vim.extraPlugins`]. + +```nix +{ + vim.extraPlugins = { + aerial = { + package = pkgs.vimPlugins.aerial-nvim; + setup = "require('aerial').setup {}"; + }; + }; +} +``` + +[custom plugins section]: https://notashelf.github.io/nvf/index.xhtml#ch-custom-plugins + +More details on the extraPlugins API is documented in the +[custom plugins section]. + +## Building Your Own Plugins {#ch-plugins-from-source} + +In the case a plugin is not available in Nixpkgs, or the Nixpkgs package is +outdated (or, more likely, broken) it is possible to build the plugins from +source using a tool, such as [npins]. You may also use your _flake inputs_ as +sources. + +Example using plugin inputs: + +```nix +{ + # In your flake.nix + inputs = { + aerial-nvim = { + url = "github:stevearc/aerial.nvim" + flake = false; + }; + }; + + # Make sure that 'inputs' is properly propagated into Nvf, for example, through + # specialArgs. + outputs = { ... }; +} +``` + +In the case, you may use the input directly for the plugin's source attribute in +`buildVimPlugin`. + +```nix +# Make sure that 'inputs' is properly propagated! It will be missing otherwise +# and the resulting errors might be too obscure. +{inputs, ...}: let + aerial-from-source = pkgs.vimUtils.buildVimPlugin { + name = "aerial-nvim"; + src = inputs.aerial-nvim; + }; +in { + vim.extraPlugins = { + aerial = { + package = aerial-from-source; + setup = "require('aerial').setup {}"; + }; + }; +} +``` + +Alternatively, if you do not want to keep track of the source using flake inputs +or npins, you may call `fetchFromGitHub` (or other fetchers) directly. An +example would look like this. + +```nix +regexplainer = buildVimPlugin { + name = "nvim-regexplainer"; + src = fetchFromGitHub { + owner = "bennypowers"; + repo = "nvim-regexplainer"; + rev = "4250c8f3c1307876384e70eeedde5149249e154f"; + hash = "sha256-15DLbKtOgUPq4DcF71jFYu31faDn52k3P1x47GL3+b0="; + }; + + # The 'buildVimPlugin' imposes some "require checks" on all plugins build from + # source. Failing tests, if they are not relevant, can be disabled using the + # 'nvimSkipModule' argument to the 'buildVimPlugin' function. + nvimSkipModule = [ + "regexplainer" + "regexplainer.buffers.init" + "regexplainer.buffers.popup" + "regexplainer.buffers.register" + "regexplainer.buffers.shared" + "regexplainer.buffers.split" + "regexplainer.component.descriptions" + "regexplainer.component.init" + "regexplainer.renderers.narrative.init" + "regexplainer.renderers.narrative.narrative" + "regexplainer.renderers.init" + "regexplainer.utils.defer" + "regexplainer.utils.init" + "regexplainer.utils.treesitter" + ]; +} +``` From f1d72cf0764db282a937d756b9a027978ae96e8f Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 5 May 2025 14:57:32 +0300 Subject: [PATCH 123/271] docs: clarify wording; add examples and remove redundancies --- docs/manual/configuring.md | 11 ++ docs/manual/configuring/autocmds.md | 119 ++++++++++++++++++ docs/manual/configuring/custom-package.md | 4 +- docs/manual/configuring/custom-plugins.md | 35 ++++-- .../configuring/custom-plugins/configuring.md | 46 ++++--- .../configuring/custom-plugins/lazy-method.md | 13 +- .../custom-plugins/legacy-method.md | 29 +++-- .../custom-plugins/non-lazy-method.md | 9 +- docs/manual/configuring/languages/lsp.md | 19 +-- docs/manual/default-configs.md | 10 -- docs/manual/default-configs/maximal.md | 11 -- docs/manual/default-configs/nix.md | 9 -- docs/manual/manual.md | 1 - docs/manual/tips.md | 6 + docs/manual/try-it-out.md | 30 ++++- 15 files changed, 262 insertions(+), 90 deletions(-) create mode 100644 docs/manual/configuring/autocmds.md delete mode 100644 docs/manual/default-configs.md delete mode 100644 docs/manual/default-configs/maximal.md delete mode 100644 docs/manual/default-configs/nix.md diff --git a/docs/manual/configuring.md b/docs/manual/configuring.md index f891c7a6..28c7e66a 100644 --- a/docs/manual/configuring.md +++ b/docs/manual/configuring.md @@ -1,5 +1,15 @@ # Configuring nvf {#ch-configuring} +[helpful tips section]: #ch-helpful-tips + +nvf allows for _very_ extensive configuration in Neovim through the Nix module +interface. The below chapters describe several of the options exposed in nvf for +your convenience. You might also be interested in the [helpful tips section] for +more advanced or unusual configuration options supported by nvf. + +Note that this section does not cover module _options_. For an overview of all +module options provided by nvf, please visit the [appendix](/options.html) + ```{=include=} chapters configuring/custom-package.md configuring/custom-plugins.md @@ -7,4 +17,5 @@ configuring/overriding-plugins.md configuring/languages.md configuring/dags.md configuring/dag-entries.md +configuring/autocmds.md ``` diff --git a/docs/manual/configuring/autocmds.md b/docs/manual/configuring/autocmds.md new file mode 100644 index 00000000..be10e726 --- /dev/null +++ b/docs/manual/configuring/autocmds.md @@ -0,0 +1,119 @@ +# Autocommands and Autogroups {#ch-autocmds-augroups} + +This module allows you to declaratively configure Neovim autocommands and +autogroups within your Nix configuration. + +## Autogroups (`vim.augroups`) {#sec-vim-augroups} + +Autogroups (`augroup`) organize related autocommands. This allows them to be +managed collectively, such as clearing them all at once to prevent duplicates. +Each entry in the list is a submodule with the following options: + +| Option | Type | Default | Description | Example | +| :------- | :----- | :------ | :--------------------------------------------------------------------------------------------------- | :---------------- | +| `enable` | `bool` | `true` | Enables or disables this autogroup definition. | `true` | +| `name` | `str` | _None_ | **Required.** The unique name for the autogroup. | `"MyFormatGroup"` | +| `clear` | `bool` | `true` | Clears any existing autocommands within this group before adding new ones defined in `vim.autocmds`. | `true` | + +**Example:** + +```nix +{ + vim.augroups = [ + { + name = "MyCustomAuGroup"; + clear = true; # Clear previous autocommands in this group on reload + } + { + name = "Formatting"; + # clear defaults to true + } + ]; +} +``` + +## Autocommands (`vim.autocmds`) {#sec-vim-autocmds} + +Autocommands (`autocmd`) trigger actions based on events happening within Neovim +(e.g., saving a file, entering a buffer). Each entry in the list is a submodule +with the following options: + +| Option | Type | Default | Description | Example | +| :--------- | :-------------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | +| `enable` | `bool` | `true` | Enables or disables this autocommand definition. | `true` | +| `event` | `nullOr (listOf str)` | `null` | **Required.** List of Neovim events that trigger this autocommand (e.g., `BufWritePre`, `FileType`). | `[ "BufWritePre" ]` | +| `pattern` | `nullOr (listOf str)` | `null` | List of file patterns (globs) to match against (e.g., `*.py`, `*`). If `null`, matches all files for the given event. | `[ "*.lua", "*.nix" ]` | +| `callback` | `nullOr luaInline` | `null` | A Lua function to execute when the event triggers. Use `lib.nvim.types.luaInline` or `lib.options.literalExpression "mkLuaInline '''...'''"`. **Cannot be used with `command`.** | `lib.nvim.types.luaInline "function() print('File saved!') end"` | +| `command` | `nullOr str` | `null` | A Vimscript command to execute when the event triggers. **Cannot be used with `callback`.** | `"echo 'File saved!'"` | +| `group` | `nullOr str` | `null` | The name of an `augroup` (defined in `vim.augroups`) to associate this autocommand with. | `"MyCustomAuGroup"` | +| `desc` | `nullOr str` | `null` | A description for the autocommand (useful for introspection). | `"Format buffer on save"` | +| `once` | `bool` | `false` | If `true`, the autocommand runs only once and then automatically removes itself. | `false` | +| `nested` | `bool` | `false` | If `true`, allows this autocommand to trigger other autocommands. | `false` | + +:::{.warning} + +You cannot define both `callback` (for Lua functions) and `command` (for +Vimscript) for the same autocommand. Choose one. + +::: + +**Examples:** + +```nix +{ lib, ... }: +{ + vim.augroups = [ { name = "UserSetup"; } ]; + + vim.autocmds = [ + # Example 1: Using a Lua callback + { + event = [ "BufWritePost" ]; + pattern = [ "*.lua" ]; + group = "UserSetup"; + desc = "Notify after saving Lua file"; + callback = lib.nvim.types.luaInline '' + function() + vim.notify("Lua file saved!", vim.log.levels.INFO) + end + ''; + } + + # Example 2: Using a Vim command + { + event = [ "FileType" ]; + pattern = [ "markdown" ]; + group = "UserSetup"; + desc = "Set spellcheck for Markdown"; + command = "setlocal spell"; + } + + # Example 3: Autocommand without a specific group + { + event = [ "BufEnter" ]; + pattern = [ "*.log" ]; + desc = "Disable line numbers in log files"; + command = "setlocal nonumber"; + # No 'group' specified + } + + # Example 4: Using Lua for callback + { + event = [ "BufWinEnter" ]; + pattern = [ "*" ]; + desc = "Simple greeting on entering a buffer window"; + callback = lib.generators.mkLuaInline '' + function(args) + print("Entered buffer: " .. args.buf) + end + ''; + + # Run only once per session trigger + once = true; + } + ]; +} +``` + +These definitions are automatically translated into the necessary Lua code to +configure `vim.api.nvim_create_augroup` and `vim.api.nvim_create_autocmd` when +Neovim starts. diff --git a/docs/manual/configuring/custom-package.md b/docs/manual/configuring/custom-package.md index 51d996b6..3e9e324a 100644 --- a/docs/manual/configuring/custom-package.md +++ b/docs/manual/configuring/custom-package.md @@ -1,12 +1,12 @@ # Custom Neovim Package {#ch-custom-package} As of v0.5, you may now specify the Neovim package that will be wrapped with -your configuration. This is done with the `vim.package` option. +your configuration. This is done with the [](#opt-vim.package) option. ```nix {inputs, pkgs, ...}: { # using the neovim-nightly overlay - vim.package = inputs.neovim-overlay.packages.${pkgs.system}.neovim; + vim.package = inputs.neovim-overlay.packages.${pkgs.stdenv.system}.neovim; } ``` diff --git a/docs/manual/configuring/custom-plugins.md b/docs/manual/configuring/custom-plugins.md index c621e03c..bf986a0f 100644 --- a/docs/manual/configuring/custom-plugins.md +++ b/docs/manual/configuring/custom-plugins.md @@ -1,22 +1,33 @@ # Custom Plugins {#ch-custom-plugins} -**nvf**, by default, exposes a wide variety of plugins as module options for -your convenience and bundles necessary dependencies into **nvf**'s runtime. In -case a plugin is not available in **nvf**, you may consider making a pull -request to **nvf** to include it as a module or you may add it to your -configuration locally. +**nvf** exposes a very wide variety of plugins by default, which are consumed by +module options. This is done for your convenience, and to bundle all necessary +dependencies into **nvf**'s runtime with full control of versioning, testing and +dependencies. In the case a plugin you need is _not_ available, you may consider +making a pull request to add the package you're looking for, or you may add it +to your configuration locally. The below section describes how new plugins may +be added to the user's configuration. ## Adding Plugins {#ch-adding-plugins} -There are multiple ways of adding custom plugins to your **nvf** configuration. +Per **nvf**'s design choices, there are several ways of adding custom plugins to +your configuration as you need them. As we aim for extensive configuration, it +is possible to add custom plugins (from nixpkgs, pinning tools, flake inputs, +etc.) to your Neovim configuration before they are even implemented in **nvf** +as a module. -You can use custom plugins, before they are implemented in the flake. To add a -plugin to the runtime, you need to add it to the [](#opt-vim.startPlugins) list -in your configuration. +:::{.info} -Adding a plugin to `startPlugins` will not allow you to configure the plugin -that you have added, but **nvf** provides multiple ways of configuring any custom -plugins that you might have added to your configuration. +To add a plugin to your runtime, you will need to add it to +[](#opt-vim.startPlugins) list in your configuration. This is akin to cloning a +plugin to `~/.config/nvim`, but they are only ever placed in the Nix store and +never exposed to the outside world for purity and full isolation. + +::: + +As you would configure a cloned plugin, you must configure the new plugins that +you've added to `startPlugins.` **nvf** provides multiple ways of configuring +any custom plugins that you might have added to your configuration. ```{=include=} sections custom-plugins/configuring.md diff --git a/docs/manual/configuring/custom-plugins/configuring.md b/docs/manual/configuring/custom-plugins/configuring.md index 42af11be..a4b3ce19 100644 --- a/docs/manual/configuring/custom-plugins/configuring.md +++ b/docs/manual/configuring/custom-plugins/configuring.md @@ -1,13 +1,20 @@ # Configuring {#sec-configuring-plugins} Just making the plugin to your Neovim configuration available might not always -be enough. In that case, you can write custom lua config using either -`config.vim.lazy.plugins.*.setupOpts` `config.vim.extraPlugins.*.setup` or -`config.vim.luaConfigRC`. +be enough., for example, if the plugin requires a setup table. In that case, you +can write custom Lua configuration using one of -The first option uses an extended version of `lz.n`'s PluginSpec. `setupModule` -and `setupOpt` can be used if the plugin uses a `require('module').setup(...)` -pattern. Otherwise, the `before` and `after` hooks should do what you need. +- `config.vim.lazy.plugins.*.setupOpts` +- `config.vim.extraPlugins.*.setup` +- `config.vim.luaConfigRC`. + +## Lazy Plugins {#ch-vim-lazy-plugins} + +`config.vim.lazy.plugins.*.setupOpts` is useful for lazy-loading plugins, and +uses an extended version of `lz.n's` `PluginSpec` to expose a familiar +interface. `setupModule` and `setupOpt` can be used if the plugin uses a +`require('module').setup(...)` pattern. Otherwise, the `before` and `after` +hooks should do what you need. ```nix { @@ -25,7 +32,9 @@ pattern. Otherwise, the `before` and `after` hooks should do what you need. } ``` -The second option uses an attribute set, which maps DAG section names to a +## Standard API {#ch-vim-extra-plugins} + +`vim.extraPlugins` uses an attribute set, which maps DAG section names to a custom type, which has the fields `package`, `after`, `setup`. They allow you to set the package of the plugin, the sections its setup code should be after (note that the `extraPlugins` option has its own DAG scope), and the its setup code @@ -48,29 +57,36 @@ respectively. For example: } ``` -The third option also uses an attribute set, but this one is resolved as a DAG +### Setup using luaConfigRC {#setup-using-luaconfigrc} + +`vim.luaConfigRC` also uses an attribute set, but this one is resolved as a DAG directly. The attribute names denote the section names, and the values lua code. For example: ```nix { - # this will create an "aquarium" section in your init.lua with the contents of your custom config - # which will be *appended* to the rest of your configuration, inside your init.vim + # This will create a section called "aquarium" in the 'init.lua' with the + # contents of your custom configuration. By default 'entryAnywhere' is implied + # in DAGs, so this will be inserted to an arbitrary position. In the case you + # wish to control the position of this section with more precision, please + # look into the DAGs section of the manual. config.vim.luaConfigRC.aquarium = "vim.cmd('colorscheme aquiarum')"; } ``` +[DAG system]: #ch-using-dags +[DAG section]: #ch-dag-entries ::: {.note} -One of the greatest strengths of nvf is the ability to order -snippets of configuration via the DAG system. It will allow specifying positions -of individual sections of configuration as needed. nvf provides helper functions +One of the **greatest strengths** of **nvf** is the ability to order +configuration snippets precisely using the [DAG system]. DAGs +are a very powerful mechanism that allows specifying positions +of individual sections of configuration as needed. We provide helper functions in the extended library, usually under `inputs.nvf.lib.nvim.dag` that you may use. -Please refer to the [DAG section](#ch-dag-entries) in the nvf manual +Please refer to the [DAG section] in the nvf manual to find out more about the DAG system. ::: - diff --git a/docs/manual/configuring/custom-plugins/lazy-method.md b/docs/manual/configuring/custom-plugins/lazy-method.md index ae766535..c16966b8 100644 --- a/docs/manual/configuring/custom-plugins/lazy-method.md +++ b/docs/manual/configuring/custom-plugins/lazy-method.md @@ -1,7 +1,8 @@ # Lazy Method {#sec-lazy-method} -As of version **0.7**, we exposed an API for configuring lazy-loaded plugins via -`lz.n` and `lzn-auto-require`. +As of version **0.7**, an API is exposed to allow configuring lazy-loaded +plugins via `lz.n` and `lzn-auto-require`. Below is a comprehensive example of +how it may be loaded to lazy-load an arbitrary plugin. ```nix { @@ -41,7 +42,8 @@ As of version **0.7**, we exposed an API for configuring lazy-loaded plugins via ## LazyFile event {#sec-lazyfile-event} -You can use the `LazyFile` user event to load a plugin when a file is opened: +**nvf** re-implements `LazyFile` as a familiar user event to load a plugin when +a file is opened: ```nix { @@ -55,5 +57,6 @@ You can use the `LazyFile` user event to load a plugin when a file is opened: } ``` -You can consider `LazyFile` as an alias to -`["BufReadPost" "BufNewFile" "BufWritePre"]` +You can consider the `LazyFile` event as an alias to the combination of +`"BufReadPost"`, `"BufNewFile"` and `"BufWritePre"`, i.e., a list containing all +three of those events: `["BufReadPost" "BufNewFile" "BufWritePre"]` diff --git a/docs/manual/configuring/custom-plugins/legacy-method.md b/docs/manual/configuring/custom-plugins/legacy-method.md index b2bddf43..6c399aaf 100644 --- a/docs/manual/configuring/custom-plugins/legacy-method.md +++ b/docs/manual/configuring/custom-plugins/legacy-method.md @@ -1,26 +1,31 @@ # Legacy Method {#sec-legacy-method} -Prior to version v0.5, the method of adding new plugins was adding the plugin -package to `vim.startPlugins` and add its configuration as a DAG under one of -`vim.configRC` or `vim.luaConfigRC`. Users who have not yet updated to 0.5, or -prefer a more hands-on approach may use the old method where the load order of -the plugins is determined by DAGs. +Prior to version **0.5**, the method of adding new plugins was adding the plugin +package to [](#opt-vim.startPlugins) and adding its configuration as a DAG under +one of `vim.configRC` or [](#opt-vim.luaConfigRC). While `configRC` has been +deprecated, users who have not yet updated to 0.5 or those who prefer a more +hands-on approach may choose to use the old method where the load order of the +plugins is explicitly determined by DAGs without internal abstractions. -## Adding plugins {#sec-adding-plugins} +## Adding New Plugins {#sec-adding-new-plugins} -To add a plugin not available in nvf as a module to your configuration, you may -add it to [](#opt-vim.startPlugins) in order to make it available to Neovim at -runtime. +To add a plugin not available in **nvf** as a module to your configuration using +the legacy method, you must add it to [](#opt-vim.startPlugins) in order to make +it available to Neovim at runtime. ```nix {pkgs, ...}: { # Add a Neovim plugin from Nixpkgs to the runtime. + # This does not need to come explicitly from packages. 'vim.startPlugins' + # takes a list of *string* (to load internal plugins) or *package* to load + # a Neovim package from any source. vim.startPlugins = [pkgs.vimPlugins.aerial-nvim]; } ``` -And to configure the added plugin, you can use the `luaConfigRC` option to -provide configuration as a DAG using the **nvf** extended library. +Once the package is available in Neovim's runtime, you may use the `luaConfigRC` +option to provide configuration as a DAG using the **nvf** extended library in +order to configure the added plugin, ```nix {inputs, ...}: let @@ -29,6 +34,8 @@ provide configuration as a DAG using the **nvf** extended library. # to specialArgs, the 'inputs' prefix may be omitted. inherit (inputs.nvf.lib.nvim.dag) entryAnywhere; in { + # luaConfigRC takes Lua configuration verbatim and inserts it at an arbitrary + # position by default or if 'entryAnywhere' is used. vim.luaConfigRC.aerial-nvim= entryAnywhere '' require('aerial').setup { -- your configuration here diff --git a/docs/manual/configuring/custom-plugins/non-lazy-method.md b/docs/manual/configuring/custom-plugins/non-lazy-method.md index d8477283..24ef7688 100644 --- a/docs/manual/configuring/custom-plugins/non-lazy-method.md +++ b/docs/manual/configuring/custom-plugins/non-lazy-method.md @@ -1,8 +1,9 @@ # Non-lazy Method {#sec-non-lazy-method} -As of version **0.5**, we have a more extensive API for configuring plugins, -under `vim.extraPlugins`. Instead of using DAGs exposed by the library, you may -use the extra plugin module as follows: +As of version **0.5**, we have a more extensive API for configuring plugins that +should be preferred over the legacy method. This API is available as +[](#opt-vim.extraPlugins). Instead of using DAGs exposed by the library +_directly_, you may use the extra plugin module as follows: ```nix {pkgs, ...}: { @@ -24,3 +25,5 @@ use the extra plugin module as follows: }; } ``` + +This provides a level of abstraction over the DAG system for faster iteration. diff --git a/docs/manual/configuring/languages/lsp.md b/docs/manual/configuring/languages/lsp.md index 6d6ed5bc..2ddc08b5 100644 --- a/docs/manual/configuring/languages/lsp.md +++ b/docs/manual/configuring/languages/lsp.md @@ -1,17 +1,22 @@ # LSP Custom Packages/Command {#sec-languages-custom-lsp-packages} -In any of the `opt.languages..lsp.package` options you can provide -your own LSP package, or provide the command to launch the language server, as a -list of strings. You can use this to skip automatic installation of a language -server, and instead use the one found in your `$PATH` during runtime, for -example: +One of the strengths of **nvf** is convenient aliases to quickly configure LSP +servers through the Nix module system. By default the LSP packages for relevant +language modules will be pulled into the closure. If this is not desirable, you +may provide **a custom LSP package** (e.g., a Bash script that calls a command) +or **a list of strings** to be interpreted as the command to launch the language +server. By using a list of strings, you can use this to skip automatic +installation of a language server, and instead use the one found in your `$PATH` +during runtime, for example: ```nix vim.languages.java = { lsp = { enable = true; - # this expects jdt-language-server to be in your PATH - # or in `vim.extraPackages` + + # This expects 'jdt-language-server' to be in your PATH or in + # 'vim.extraPackages.' There are no additional checks performed to see + # if the command provided is valid. package = ["jdt-language-server" "-data" "~/.cache/jdtls/workspace"]; }; } diff --git a/docs/manual/default-configs.md b/docs/manual/default-configs.md deleted file mode 100644 index 96ffa81a..00000000 --- a/docs/manual/default-configs.md +++ /dev/null @@ -1,10 +0,0 @@ -# Default Configs {#ch-default-configs} - -While you can configure **nvf** yourself using the builder, you can also use the -pre-built configs that are available. Here are a few default configurations you -can use. - -```{=include=} chapters -default-configs/maximal.md -default-configs/nix.md -``` diff --git a/docs/manual/default-configs/maximal.md b/docs/manual/default-configs/maximal.md deleted file mode 100644 index e1f5273e..00000000 --- a/docs/manual/default-configs/maximal.md +++ /dev/null @@ -1,11 +0,0 @@ -# Maximal {#sec-default-maximal} - -```bash -$ nix run github:notashelf/nvf#maximal -- test.nix -``` - -It is the same fully configured Neovim as with the [Nix](#sec-default-nix) -configuration, but with every supported language enabled. - -::: {.note} Running the maximal config will download _a lot_ of packages as it -is downloading language servers, formatters, and more. ::: diff --git a/docs/manual/default-configs/nix.md b/docs/manual/default-configs/nix.md deleted file mode 100644 index 5210ef39..00000000 --- a/docs/manual/default-configs/nix.md +++ /dev/null @@ -1,9 +0,0 @@ -# Nix {#sec-default-nix} - -```bash -$ nix run github:notashelf/nvf#nix test.nix -``` - -Enables all the of Neovim plugins, with language support for specifically Nix. -This lets you see what a fully configured neovim setup looks like without -downloading a whole bunch of language servers and associated tools. diff --git a/docs/manual/manual.md b/docs/manual/manual.md index fd225766..18932896 100644 --- a/docs/manual/manual.md +++ b/docs/manual/manual.md @@ -8,7 +8,6 @@ try-it-out.md ``` ```{=include=} parts -default-configs.md installation.md configuring.md tips.md diff --git a/docs/manual/tips.md b/docs/manual/tips.md index f52cbca2..01bddc40 100644 --- a/docs/manual/tips.md +++ b/docs/manual/tips.md @@ -1,5 +1,11 @@ # Helpful Tips {#ch-helpful-tips} +This section provides helpful tips that may be considered "unorthodox" or "too +advanced" for some users. We will cover basic debugging steps, offline +documentation, configuring **nvf** with pure Lua and using custom plugin sources +in **nvf** in this section. For general configuration tips, please see previous +chapters. + ```{=include=} chapters tips/debugging-nvf.md tips/offline-docs.md diff --git a/docs/manual/try-it-out.md b/docs/manual/try-it-out.md index 8244c2b7..8714be80 100644 --- a/docs/manual/try-it-out.md +++ b/docs/manual/try-it-out.md @@ -26,7 +26,12 @@ $ nix run github:notashelf/nvf#nix $ nix run github:notashelf/nvf#maximal ``` -### Available Configs {#sec-available-configs} +### Available Configurations {#sec-available-configs} + +:::{.info} + +The below configurations are provided for demonstration purposes, and are +**not** designed to be installed as is. You may #### Nix {#sec-configs-nix} @@ -34,15 +39,32 @@ $ nix run github:notashelf/nvf#maximal a set of visual and functional plugins. By running `nix run .#`, which is the default package, you will build Neovim with this config. +```bash +$ nix run github:notashelf/nvf#nix test.nix +``` + +This command will start Neovim with some opinionated plugin configurations, and +is designed specifically for Nix. the `nix` configuration lets you see how a +fully configured Neovim setup _might_ look like without downloading too many +packages or shell utilities. + #### Maximal {#sec-configs-maximal} `Maximal` is the ultimate configuration that will enable support for more commonly used language as well as additional complementary plugins. Keep in mind, however, that this will pull a lot of dependencies. -::: {.tip} +```bash +$ nix run github:notashelf/nvf#maximal -- test.nix +``` -You are _strongly_ recommended to use the binary cache if you would like to try -the Maximal configuration. +It uses the same configuration template with the [Nix](#sec-configs-nix) +configuration, but supports many more languages, and enables more utility, +companion or fun plugins. + +::: {.warning} + +Running the maximal config will download _a lot_ of packages as it is +downloading language servers, formatters, and more. ::: From 61be6cf4053537b1d0cf709b3283143e1f1b4b65 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Mon, 5 May 2025 22:30:27 +0200 Subject: [PATCH 124/271] cmp: use normal priority for default values After this change, user configs should be "appended" to default ones instead of overriding them --- modules/plugins/completion/nvim-cmp/config.nix | 5 +++++ modules/plugins/completion/nvim-cmp/nvim-cmp.nix | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/plugins/completion/nvim-cmp/config.nix b/modules/plugins/completion/nvim-cmp/config.nix index 749ebb7c..cf27caaf 100644 --- a/modules/plugins/completion/nvim-cmp/config.nix +++ b/modules/plugins/completion/nvim-cmp/config.nix @@ -60,6 +60,11 @@ in { enableSharedCmpSources = true; nvim-cmp = { + sources = { + nvim-cmp = null; + buffer = "[Buffer]"; + path = "[Path]"; + }; sourcePlugins = ["cmp-buffer" "cmp-path"]; setupOpts = { diff --git a/modules/plugins/completion/nvim-cmp/nvim-cmp.nix b/modules/plugins/completion/nvim-cmp/nvim-cmp.nix index 2c8c77d3..8105ed00 100644 --- a/modules/plugins/completion/nvim-cmp/nvim-cmp.nix +++ b/modules/plugins/completion/nvim-cmp/nvim-cmp.nix @@ -98,11 +98,15 @@ in { sources = mkOption { type = attrsOf (nullOr str); - default = { + defaultText = literalMD '' + These sources are included by default: + + ```nix nvim-cmp = null; buffer = "[Buffer]"; path = "[Path]"; - }; + ``` + ''; example = { nvim-cmp = null; buffer = "[Buffer]"; From 9e9458710229d95bc19512c29cfea2b85c377b75 Mon Sep 17 00:00:00 2001 From: myu Date: Mon, 5 May 2025 20:02:37 -0400 Subject: [PATCH 125/271] tabline/bufferline: fix typo in the word "indicator" --- modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix index 14243670..ff255c6c 100644 --- a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix +++ b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix @@ -109,7 +109,7 @@ in { type = nullOr str; default = null; description = '' - The indicatotor icon to use for the current buffer. + The indicator icon to use for the current buffer. ::: {.warning} This **must** be omitted while style is not `icon` From f07468e13a994b04ec3b9cd41777429942cdc8b1 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 6 May 2025 12:06:33 +0300 Subject: [PATCH 126/271] ci: fix labeler config --- .github/labels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/labels.yml b/.github/labels.yml index e799004f..34c3bf2c 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -24,7 +24,7 @@ - any-glob-to-any-file: - .github/workflows/*.yml - .github/typos.toml - . .github/dependabot.yml + - .github/dependabot.yml "topic: meta": - any: From 99f1200c8db9295e556255e49175a6d2a5c02fbd Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 6 May 2025 20:58:31 +0300 Subject: [PATCH 127/271] revert "Merge pull request #884 from horriblename/cmp-sources-normal-prio" Reverts commit d3c7f7125c5302721d711d1dc4e025c63c5e09a4, reversing changes made to f07468e13a994b04ec3b9cd41777429942cdc8b1. --- modules/plugins/completion/nvim-cmp/config.nix | 5 ----- modules/plugins/completion/nvim-cmp/nvim-cmp.nix | 8 ++------ 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/modules/plugins/completion/nvim-cmp/config.nix b/modules/plugins/completion/nvim-cmp/config.nix index cf27caaf..749ebb7c 100644 --- a/modules/plugins/completion/nvim-cmp/config.nix +++ b/modules/plugins/completion/nvim-cmp/config.nix @@ -60,11 +60,6 @@ in { enableSharedCmpSources = true; nvim-cmp = { - sources = { - nvim-cmp = null; - buffer = "[Buffer]"; - path = "[Path]"; - }; sourcePlugins = ["cmp-buffer" "cmp-path"]; setupOpts = { diff --git a/modules/plugins/completion/nvim-cmp/nvim-cmp.nix b/modules/plugins/completion/nvim-cmp/nvim-cmp.nix index 8105ed00..2c8c77d3 100644 --- a/modules/plugins/completion/nvim-cmp/nvim-cmp.nix +++ b/modules/plugins/completion/nvim-cmp/nvim-cmp.nix @@ -98,15 +98,11 @@ in { sources = mkOption { type = attrsOf (nullOr str); - defaultText = literalMD '' - These sources are included by default: - - ```nix + default = { nvim-cmp = null; buffer = "[Buffer]"; path = "[Path]"; - ``` - ''; + }; example = { nvim-cmp = null; buffer = "[Buffer]"; From edbfc120af31ab01eb92f32df6052c100ba4e218 Mon Sep 17 00:00:00 2001 From: tebro Date: Thu, 8 May 2025 20:59:27 +0300 Subject: [PATCH 128/271] Add .eslintrc.cjs as eslint config file option --- modules/plugins/languages/ts.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index 5a1e5889..b9971488 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -101,6 +101,7 @@ "eslint.config.js" "eslint.config.mjs" ".eslintrc" + ".eslintrc.cjs" ".eslintrc.json" ".eslintrc.js" ".eslintrc.yml" From 09f2e1d5245c5e9d35e6b451d47affec0c006157 Mon Sep 17 00:00:00 2001 From: Noah765 <99338019+Noah765@users.noreply.github.com> Date: Fri, 9 May 2025 01:33:01 +0200 Subject: [PATCH 129/271] lsp: fix toggleFormatOnSave (#869) Co-authored-by: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> Co-authored-by: raf --- modules/plugins/lsp/config.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/plugins/lsp/config.nix b/modules/plugins/lsp/config.nix index 3702ac5f..c2320aaf 100644 --- a/modules/plugins/lsp/config.nix +++ b/modules/plugins/lsp/config.nix @@ -84,13 +84,13 @@ in { group = augroup, buffer = bufnr, callback = function() + if vim.b.disableFormatSave then + return + end + ${ if config.vim.lsp.null-ls.enable then '' - if vim.b.disableFormatSave then - return - end - local function is_null_ls_formatting_enabled(bufnr) local file_type = vim.api.nvim_buf_get_option(bufnr, "filetype") local generators = require("null-ls.generators").get_available( From 22f57045275e2e2ca27e070372c8c16664705df7 Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Mon, 31 Mar 2025 21:06:54 +0000 Subject: [PATCH 130/271] Make conform respect config.vim.lsp.formatOnSave and config.vim.lsp.mappings.toggleFormatOnSave --- .../formatter/conform-nvim/conform-nvim.nix | 67 ++++++++++++------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/modules/plugins/formatter/conform-nvim/conform-nvim.nix b/modules/plugins/formatter/conform-nvim/conform-nvim.nix index 727985a3..cfe89bf3 100644 --- a/modules/plugins/formatter/conform-nvim/conform-nvim.nix +++ b/modules/plugins/formatter/conform-nvim/conform-nvim.nix @@ -1,12 +1,9 @@ -{ - pkgs, - lib, - ... -}: let - inherit (lib.options) mkOption mkEnableOption literalExpression; - inherit (lib.types) attrs enum nullOr; - inherit (lib.nvim.types) mkPluginSetupOption; - inherit (lib.nvim.lua) mkLuaInline; +{lib, ...}: let + inherit (lib.generators) mkLuaInline; + inherit (lib.options) mkOption mkEnableOption literalMD; + inherit (lib.types) attrs either nullOr; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.types) luaInline mkPluginSetupOption; in { options.vim.formatter.conform-nvim = { enable = mkEnableOption "lightweight yet powerful formatter plugin for Neovim [conform-nvim]"; @@ -31,26 +28,46 @@ in { }; format_on_save = mkOption { - type = nullOr attrs; - default = { - lsp_format = "fallback"; - timeout_ms = 500; - }; + type = nullOr (either attrs luaInline); + default = mkLuaInline '' + function() + if not vim.g.formatsave or vim.b.disableFormatSave then + return + else + return {lsp_format = "fallback", timeout_ms = 500} + end + end + ''; + defaultText = literalMD '' + enabled by default, and respects {option}`vim.lsp.formatOnSave` and + {option}`vim.lsp.mappings.toggleFormatSave` + ''; description = '' - Table that will be passed to `conform.format()`. If this - is set, Conform will run the formatter on save. + Attribute set or Lua function that will be passed to + `conform.format()`. If this is set, Conform will run the formatter + on save. ''; }; - format_after_save = mkOption { - type = nullOr attrs; - default = {lsp_format = "fallback";}; - description = '' - Table that will be passed to `conform.format()`. If this - is set, Conform will run the formatter asynchronously after - save. - ''; - }; + format_after_save = let + defaultFormatAfterSaveOpts = {lsp_format = "fallback";}; + in + mkOption { + type = nullOr (either attrs luaInline); + default = mkLuaInline '' + function() + if not vim.g.formatsave or vim.b.disableFormatSave then + return + else + return ${toLuaObject defaultFormatAfterSaveOpts} + end + end + ''; + description = '' + Table or function(luainline) that will be passed to `conform.format()`. If this + is set, Conform will run the formatter asynchronously after save. + ''; + }; }; }; } From 4f0cc5725a7bdf2a9e880d5a59f360968419e8ea Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Fri, 9 May 2025 03:56:41 +0200 Subject: [PATCH 131/271] lsp: prefer conform for format on save --- modules/plugins/lsp/config.nix | 120 +++++++++++++++------------------ 1 file changed, 54 insertions(+), 66 deletions(-) diff --git a/modules/plugins/lsp/config.nix b/modules/plugins/lsp/config.nix index c2320aaf..8d4a3c8e 100644 --- a/modules/plugins/lsp/config.nix +++ b/modules/plugins/lsp/config.nix @@ -6,6 +6,7 @@ }: let inherit (lib.generators) mkLuaInline; inherit (lib.modules) mkIf; + inherit (lib.lists) optional; inherit (lib.strings) optionalString; inherit (lib.trivial) boolToString; inherit (lib.nvim.binds) addDescriptionsToMappings; @@ -14,7 +15,10 @@ usingNvimCmp = config.vim.autocomplete.nvim-cmp.enable; usingBlinkCmp = config.vim.autocomplete.blink-cmp.enable; self = import ./module.nix {inherit config lib pkgs;}; + conformCfg = config.vim.formatter.conform-nvim; + conformFormatOnSave = conformCfg.enable && conformCfg.setupOpts.format_on_save != null; + augroup = "nvf_lsp"; mappingDefinitions = self.options.vim.lsp.mappings; mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions; mkBinding = binding: action: @@ -29,24 +33,59 @@ in { sourcePlugins = ["cmp-nvim-lsp"]; }; + augroups = [{name = augroup;}]; autocmds = - if cfg.inlayHints.enable - then [ - { - callback = mkLuaInline '' - function(event) - local bufnr = event.buf - local client = vim.lsp.get_client_by_id(event.data.client_id) - if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then - vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = bufnr }), { bufnr = bufnr }) + (optional cfg.inlayHints.enable { + group = augroup; + event = ["LspAttach"]; + desc = "LSP on-attach enable inlay hints autocmd"; + callback = mkLuaInline '' + function(event) + local bufnr = event.buf + local client = vim.lsp.get_client_by_id(event.data.client_id) + if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then + vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = bufnr }), { bufnr = bufnr }) + end + end + ''; + }) + ++ (optional (!conformFormatOnSave) { + group = augroup; + event = ["BufWritePre"]; + desc = "LSP on-attach create format on save autocmd"; + callback = mkLuaInline '' + function(ev) + if vim.b.disableFormatSave or not vim.g.formatsave then + return + end + + local bufnr = ev.buf + + ${optionalString cfg.null-ls.enable '' + -- prefer null_ls formatter + do + local clients = vim.lsp.get_clients({ + bufnr = bufnr, + name = "null-ls", + method = "textDocument/formatting", + }) + if clients[1] then + vim.lsp.buf.format({ bufnr = bufnr, id = clients[1].id }) + return end end - ''; - desc = "LSP on-attach enable inlay hints autocmd"; - event = ["LspAttach"]; - } - ] - else []; + ''} + + local clients = vim.lsp.get_clients({ + bufnr = bufnr, + method = "textDocument/formatting", + }) + if clients[1] then + vim.lsp.buf.format({ bufnr = bufnr, id = clients[1].id }) + end + end + ''; + }); pluginRC.lsp-setup = '' vim.g.formatsave = ${boolToString cfg.formatOnSave}; @@ -74,60 +113,9 @@ in { ${mkBinding mappings.toggleFormatOnSave "function() vim.b.disableFormatSave = not vim.b.disableFormatSave end"} end - -- Enable formatting - local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) - - format_callback = function(client, bufnr) - if vim.g.formatsave then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - if vim.b.disableFormatSave then - return - end - - ${ - if config.vim.lsp.null-ls.enable - then '' - local function is_null_ls_formatting_enabled(bufnr) - local file_type = vim.api.nvim_buf_get_option(bufnr, "filetype") - local generators = require("null-ls.generators").get_available( - file_type, - require("null-ls.methods").internal.FORMATTING - ) - return #generators > 0 - end - - if is_null_ls_formatting_enabled(bufnr) then - vim.lsp.buf.format({ - bufnr = bufnr, - filter = function(client) - return client.name == "null-ls" - end - }) - else - vim.lsp.buf.format({ - bufnr = bufnr, - }) - end - '' - else " - vim.lsp.buf.format({ - bufnr = bufnr, - }) - " - } - end, - }) - end - end - ${optionalString config.vim.ui.breadcrumbs.enable ''local navic = require("nvim-navic")''} default_on_attach = function(client, bufnr) attach_keymaps(client, bufnr) - format_callback(client, bufnr) ${optionalString config.vim.ui.breadcrumbs.enable '' -- let navic attach to buffers if client.server_capabilities.documentSymbolProvider then From 955f2046cf7f6518ae7aab044af2318f7b80cd18 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Fri, 9 May 2025 04:02:10 +0200 Subject: [PATCH 132/271] lsp: add TODO --- modules/plugins/lsp/config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/plugins/lsp/config.nix b/modules/plugins/lsp/config.nix index 8d4a3c8e..e7b67c8e 100644 --- a/modules/plugins/lsp/config.nix +++ b/modules/plugins/lsp/config.nix @@ -126,6 +126,7 @@ in { local capabilities = vim.lsp.protocol.make_client_capabilities() ${optionalString usingNvimCmp '' + -- TODO(horriblename): migrate to vim.lsp.config['*'] -- HACK: copied from cmp-nvim-lsp. If we ever lazy load lspconfig we -- should re-evaluate whether we can just use `default_capabilities` capabilities = { From 29f6940868c30a75494bf6586b8314538bd395ad Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Fri, 9 May 2025 04:16:30 +0200 Subject: [PATCH 133/271] docs: update release notes --- docs/release-notes/rl-0.8.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e0c06fc8..6581a277 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -109,6 +109,7 @@ - Add tsx support in conform and lint - Moved code setting `additionalRuntimePaths` and `enableLuaLoader` out of `luaConfigPre`'s default to prevent being overridden +- Use conform over custom autocmds for LSP format on save [diniamo](https://github.com/diniamo): @@ -312,6 +313,8 @@ - Fix fzf-lua having a hard dependency on fzf. - Enable inlay hints support - `config.vim.lsp.inlayHints`. - Add `neo-tree`, `snacks.picker` extensions to `lualine`. +- Add support for `vim.lsp.formatOnSave` and + `vim.lsp.mappings.toggleFormatOnSave` [tebuevd](https://github.com/tebuevd): @@ -361,7 +364,8 @@ [Hardtime.nvim]: https://github.com/m4xshen/hardtime.nvim -- Add Plugin [Hardtime.nvim] under `vim.binds.hardtime-nvim` with `enable` and `setupOpts` options +- Add Plugin [Hardtime.nvim] under `vim.binds.hardtime-nvim` with `enable` and + `setupOpts` options [taylrfnt](https://github.com/taylrfnt): From fee3bbe536b5bf484aedebafa5130b485068b64f Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 10 May 2025 07:54:24 +0300 Subject: [PATCH 134/271] languages/markdown: fix formatting --- modules/plugins/languages/markdown.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index aadb0c40..23848835 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -193,7 +193,7 @@ in { require("markview").setup(${toLuaObject cfg.extensions.markview-nvim.setupOpts}) ''; }) - + (mkIf cfg.extraDiagnostics.enable { vim.diagnostics.nvim-lint = { enable = true; From a099cdaf977beb3517afdfcee2057fc70b870ce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20=C3=98stermark?= Date: Sat, 10 May 2025 13:42:57 +0200 Subject: [PATCH 135/271] add ruby lsp as ruby server option --- modules/plugins/languages/ruby.nix | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/modules/plugins/languages/ruby.nix b/modules/plugins/languages/ruby.nix index ab0e0905..5d6a151e 100644 --- a/modules/plugins/languages/ruby.nix +++ b/modules/plugins/languages/ruby.nix @@ -9,6 +9,8 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.nvim.types) mkGrammarOption diagnostics; + inherit (lib.nvim.lua) expToLua; + inherit (lib.lists) isList; inherit (lib.types) either listOf package str enum; cfg = config.vim.languages.ruby; @@ -24,10 +26,28 @@ flags = { debounce_text_changes = 150, }, - cmd = { "${pkgs.solargraph}/bin/solargraph", "stdio" } + cmd = ${ + if isList cfg.lsp.package + then expToLua cfg.lsp.package + else ''{ "${cfg.lsp.package}/bin/solargraph", "stdio" }'' + } } ''; }; + rubylsp = { + package = pkgs.ruby-lsp; + lspConfig = '' + lspconfig.ruby_lsp.setup { + capabilities = capabilities, + on_attach = default_on_attach, + cmd = ${ + if isList cfg.lsp.package + then expToLua cfg.lsp.package + else ''{ "${cfg.lsp.package}/bin/ruby-lsp" }'' + } + } + ''; + } }; # testing From 054e4a3b9c8be8609b5134e058becd15b96eb4c2 Mon Sep 17 00:00:00 2001 From: Christoph Koehler Date: Thu, 8 May 2025 18:52:16 -0600 Subject: [PATCH 136/271] feat: add treesitter textobjects --- docs/release-notes/rl-0.8.md | 2 ++ modules/plugins/treesitter/default.nix | 1 + .../treesitter/ts-textobjects/config.nix | 23 +++++++++++++++++++ .../treesitter/ts-textobjects/default.nix | 6 +++++ .../treesitter/ts-textobjects/textobjects.nix | 21 +++++++++++++++++ npins/sources.json | 13 +++++++++++ 6 files changed, 66 insertions(+) create mode 100644 modules/plugins/treesitter/ts-textobjects/config.nix create mode 100644 modules/plugins/treesitter/ts-textobjects/default.nix create mode 100644 modules/plugins/treesitter/ts-textobjects/textobjects.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 0155c759..45e4eb9b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -329,11 +329,13 @@ [flash.nvim]: https://github.com/folke/flash.nvim [gitlinker.nvim]: https://github.com/linrongbin16/gitlinker.nvim +[nvim-treesitter-textobjects]: https://github.com/nvim-treesitter/nvim-treesitter-textobjects - Fix oil config referencing snacks - Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim` - Fix default telescope ignore list entry for '.git/' to properly match - Add [gitlinker.nvim] plugin to `vim.git.gitlinker-nvim` +- Add [nvim-treesitter-textobjects] plugin to `vim.treesitter.textobjects` [rrvsh](https://github.com/rrvsh): diff --git a/modules/plugins/treesitter/default.nix b/modules/plugins/treesitter/default.nix index a859f3af..ea8ac9cd 100644 --- a/modules/plugins/treesitter/default.nix +++ b/modules/plugins/treesitter/default.nix @@ -2,6 +2,7 @@ imports = [ # treesitter extras ./ts-context + ./ts-textobjects ./treesitter.nix ./config.nix diff --git a/modules/plugins/treesitter/ts-textobjects/config.nix b/modules/plugins/treesitter/ts-textobjects/config.nix new file mode 100644 index 00000000..7a9239d1 --- /dev/null +++ b/modules/plugins/treesitter/ts-textobjects/config.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.dag) entryAfter; + + inherit (config.vim) treesitter; + cfg = treesitter.textobjects; +in { + config = mkIf (treesitter.enable && cfg.enable) { + vim = { + startPlugins = ["nvim-treesitter-textobjects"]; + + # set up treesitter-textobjects after Treesitter, whose config we're adding to. + pluginRC.treesitter-textobjects = entryAfter ["treesitter"] '' + require("nvim-treesitter.configs").setup({textobjects = ${toLuaObject cfg.setupOpts}}) + ''; + }; + }; +} diff --git a/modules/plugins/treesitter/ts-textobjects/default.nix b/modules/plugins/treesitter/ts-textobjects/default.nix new file mode 100644 index 00000000..d0ae48a3 --- /dev/null +++ b/modules/plugins/treesitter/ts-textobjects/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./textobjects.nix + ./config.nix + ]; +} diff --git a/modules/plugins/treesitter/ts-textobjects/textobjects.nix b/modules/plugins/treesitter/ts-textobjects/textobjects.nix new file mode 100644 index 00000000..07e72135 --- /dev/null +++ b/modules/plugins/treesitter/ts-textobjects/textobjects.nix @@ -0,0 +1,21 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.treesitter.textobjects = { + enable = mkEnableOption "Treesitter textobjects"; + setupOpts = + mkPluginSetupOption "treesitter-textobjects" {} + // { + example = { + select = { + enable = true; + lookahead = true; + keymaps = { + af = "@function.outer"; + }; + }; + }; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index e74da05b..d4c0aa14 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1906,6 +1906,19 @@ "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/6daca3ad780f045550b820f262002f35175a6c04.tar.gz", "hash": "0qprwd44hw9sz0vh14p6lpvs9vxrick462pfkradmal6ak1kfwn3" }, + "nvim-treesitter-textobjects": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-treesitter", + "repo": "nvim-treesitter-textobjects" + }, + "branch": "master", + "submodules": false, + "revision": "0e3be38005e9673d044e994b1e4b123adb040179", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/archive/0e3be38005e9673d044e994b1e4b123adb040179.tar.gz", + "hash": "0y93pj3asarw7jhk4cdphhx6awxdyiwajc0n9nr4836gn48qcs85" + }, "nvim-ts-autotag": { "type": "Git", "repository": { From 8efdfd508e7f17ed8ea36e2a84e219fec89d3481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20=C3=98stermark?= Date: Mon, 12 May 2025 10:41:58 +0200 Subject: [PATCH 137/271] add release notes --- docs/release-notes/rl-0.8.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 0155c759..de683d5d 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -375,3 +375,8 @@ - Add missing `right_align` option for existing `renderer.icons` options. - Add missing `render.icons` options (`hidden_placement`, `diagnostics_placement`, and `bookmarks_placement`). + +[cramt](https://github.com/cramt): + +- Add `rubylsp` option in `vim.languages.ruby.lsp.server` to use shopify's + ruby-lsp language server From e72bf9398df3801ea7ee61fe5e4725cec1f9bd8e Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Mon, 12 May 2025 20:04:29 -0400 Subject: [PATCH 138/271] fix: install blink docs --- flake/blink/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/flake/blink/default.nix b/flake/blink/default.nix index 08c87073..ef1498d8 100644 --- a/flake/blink/default.nix +++ b/flake/blink/default.nix @@ -14,8 +14,15 @@ rustPlatform.buildRustPackage (finalAttrs: { hash = "sha256-bKe8SSg1HPWE7b4iRQJwiOVCrvvgttuHCOIa4U/38AY="; }; + forceShare = [ + "man" + "info" + ]; + 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" ''; From ae49dd7dd3671dd1d7cd6d6c91d5ecca9dc74cc7 Mon Sep 17 00:00:00 2001 From: Soliprem <73885403+Soliprem@users.noreply.github.com> Date: Tue, 13 May 2025 13:51:29 +0200 Subject: [PATCH 139/271] languages/ruby: fix missing semicolon missing semicolon --- modules/plugins/languages/ruby.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/ruby.nix b/modules/plugins/languages/ruby.nix index 5d6a151e..1f3ce82f 100644 --- a/modules/plugins/languages/ruby.nix +++ b/modules/plugins/languages/ruby.nix @@ -47,7 +47,7 @@ } } ''; - } + }; }; # testing From 3dcd8c796e66c76576b32e95b4ad659e844a362a Mon Sep 17 00:00:00 2001 From: haskex Date: Wed, 14 May 2025 22:01:05 -0300 Subject: [PATCH 140/271] themes/solarized-osaka: init --- modules/plugins/theme/supported-themes.nix | 13 +++++++++++++ npins/sources.json | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index 2b427871..9c5e380c 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -212,4 +212,17 @@ in { ''; styles = ["dark" "light" "dark_dimmed" "dark_default" "light_default" "dark_high_contrast" "light_high_contrast" "dark_colorblind" "light_colorblind" "dark_tritanopia" "light_tritanopia"]; }; + solarized-osaka = { + setup = {transparent ? false, ...}: '' + require("solarized-osaka").setup({ + transparent = ${boolToString transparent}, + styles = { + comments = { italic = false }, + keywords = { italic = false }, + } + }) + + vim.cmd.colorscheme("solarized-osaka") + ''; + }; } diff --git a/npins/sources.json b/npins/sources.json index 6f74e256..5b2245d0 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2225,6 +2225,19 @@ "url": "https://api.github.com/repos/folke/snacks.nvim/tarball/v2.22.0", "hash": "1hbm4fnw51qdp0nz83fcxbvnxjq2k57a37w6dp0wz6wkcx7cwxw9" }, + "solarized-osaka": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "craftzdog", + "repo": "solarized-osaka.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "f796014c14b1910e08d42cc2077fef34f08e0295", + "url": "https://github.com/craftzdog/solarized-osaka.nvim/archive/f796014c14b1910e08d42cc2077fef34f08e0295.tar.gz", + "hash": "0jy2hk4fc210jih30ybvisr9pliya1s3nazw4d131vh5k4p1xqi6" + }, "sqls-nvim": { "type": "Git", "repository": { From fde3dfbabdecbb2638c38336e3f5b57536d995e9 Mon Sep 17 00:00:00 2001 From: haskex Date: Thu, 15 May 2025 10:07:31 -0300 Subject: [PATCH 141/271] Adding changelog, and test again --- docs/release-notes/rl-0.8.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f55b847c..17f024b4 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -392,3 +392,9 @@ - Add `rubylsp` option in `vim.languages.ruby.lsp.server` to use shopify's ruby-lsp language server + +[Haskex](https://github.com/haskex): + +[solarized-osaka.nvim]: https://github.com/craftzdog/solarized-osaka.nvim + +- Add [solarized-osaka.nvim] theme From d8ac181663820771484fe6a6e7d2e17994060f6f Mon Sep 17 00:00:00 2001 From: Horu <73709188+HigherOrderLogic@users.noreply.github.com> Date: Fri, 16 May 2025 18:38:53 +1000 Subject: [PATCH 142/271] docs: fix info block --- docs/manual/try-it-out.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/try-it-out.md b/docs/manual/try-it-out.md index 8714be80..5f326b15 100644 --- a/docs/manual/try-it-out.md +++ b/docs/manual/try-it-out.md @@ -28,7 +28,7 @@ $ nix run github:notashelf/nvf#maximal ### Available Configurations {#sec-available-configs} -:::{.info} +::: {.info} The below configurations are provided for demonstration purposes, and are **not** designed to be installed as is. You may From 32b9694840fc96a81b5e7964f23a73f6a1406e70 Mon Sep 17 00:00:00 2001 From: haskex Date: Fri, 16 May 2025 11:44:02 -0300 Subject: [PATCH 143/271] utility/img-clip: init --- .../plugins/utility/binds/hardtime/config.nix | 2 +- .../utility/images/img-clip/config.nix | 23 +++++++++++++++++++ .../utility/images/img-clip/default.nix | 6 +++++ .../utility/images/img-clip/img-clip.nix | 11 +++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 modules/plugins/utility/images/img-clip/config.nix create mode 100644 modules/plugins/utility/images/img-clip/default.nix create mode 100644 modules/plugins/utility/images/img-clip/img-clip.nix diff --git a/modules/plugins/utility/binds/hardtime/config.nix b/modules/plugins/utility/binds/hardtime/config.nix index e8c315ef..66b1f063 100644 --- a/modules/plugins/utility/binds/hardtime/config.nix +++ b/modules/plugins/utility/binds/hardtime/config.nix @@ -14,7 +14,7 @@ in { startPlugins = ["hardtime-nvim"]; pluginRC.hardtime = entryAnywhere '' - require("hardtime").setup (${toLuaObject cfg.setupOpts}) + require("hardtime").setup(${toLuaObject cfg.setupOpts}) ''; }; }; diff --git a/modules/plugins/utility/images/img-clip/config.nix b/modules/plugins/utility/images/img-clip/config.nix new file mode 100644 index 00000000..cadd815f --- /dev/null +++ b/modules/plugins/utility/images/img-clip/config.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.utility.images.img-clip; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = [ + "img-clip" + ]; + + pluginRC.image-nvim = entryAnywhere '' + require("img-clip").setup(${toLuaObject cfg.setupOpts}) + ''; + }; + }; +} diff --git a/modules/plugins/utility/images/img-clip/default.nix b/modules/plugins/utility/images/img-clip/default.nix new file mode 100644 index 00000000..70c15604 --- /dev/null +++ b/modules/plugins/utility/images/img-clip/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./img-clip.nix + ]; +} diff --git a/modules/plugins/utility/images/img-clip/img-clip.nix b/modules/plugins/utility/images/img-clip/img-clip.nix new file mode 100644 index 00000000..ce07feae --- /dev/null +++ b/modules/plugins/utility/images/img-clip/img-clip.nix @@ -0,0 +1,11 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.utility.images.img-clip = { + enable = mkEnableOption "img-clip to paste images into any markup language"; + + setupOpts = mkPluginSetupOption "img-clip" {}; + }; +} From 62cd4154a24e385db9c0e1e3dfeb8cfb2c75834c Mon Sep 17 00:00:00 2001 From: haskex Date: Fri, 16 May 2025 19:42:21 -0300 Subject: [PATCH 144/271] Tested and able to merge --- configuration.nix | 1 + docs/release-notes/rl-0.8.md | 8 ++++++++ modules/plugins/utility/images/default.nix | 1 + npins/sources.json | 14 ++++++++++++++ 4 files changed, 24 insertions(+) diff --git a/configuration.nix b/configuration.nix index 6e3175ef..dee5001f 100644 --- a/configuration.nix +++ b/configuration.nix @@ -199,6 +199,7 @@ isMaximal: { }; images = { image-nvim.enable = false; + img-clip.enable = isMaximal; }; }; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f55b847c..e635ebce 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -392,3 +392,11 @@ - Add `rubylsp` option in `vim.languages.ruby.lsp.server` to use shopify's ruby-lsp language server + +[Haskex](https://github.com/haskex): + +[img-clip.nvim]: https://github.com/hakonharnes/img-clip.nvim + +- Add [img-clip.nvim] plugin in `vim.utility.images.img-clip` with `enable` and + `setupOpts` +- Add `vim.utility.images.img-clip.enable = isMaximal` in configuration.nix diff --git a/modules/plugins/utility/images/default.nix b/modules/plugins/utility/images/default.nix index 5b876e0a..1f398aa8 100644 --- a/modules/plugins/utility/images/default.nix +++ b/modules/plugins/utility/images/default.nix @@ -1,5 +1,6 @@ { imports = [ ./image-nvim + ./img-clip ]; } diff --git a/npins/sources.json b/npins/sources.json index d4c0aa14..c4aef85e 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -705,6 +705,19 @@ "url": "https://github.com/3rd/image.nvim/archive/4c51d6202628b3b51e368152c053c3fb5c5f76f2.tar.gz", "hash": "16s1wsy9k72qiqzvwij67j2jzwgi6ggl6lhx9p6lfw8dpps3ayxg" }, + "img-clip": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "hakonharnes", + "repo": "img-clip.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d", + "url": "https://github.com/hakonharnes/img-clip.nvim/archive/08a02e14c8c0d42fa7a92c30a98fd04d6993b35d.tar.gz", + "hash": "0ani8z5pkvqmmalzcgyj27rfhqs76ivmpq79xn8rsdyy5a5fy979" + }, "indent-blankline-nvim": { "type": "Git", "repository": { @@ -869,6 +882,7 @@ "repo": "markview.nvim" }, "branch": "main", + "submodules": false, "revision": "6c92a6455e97c954a4a419265a032fedd69846f6", "url": "https://github.com/OXY2DEV/markview.nvim/archive/6c92a6455e97c954a4a419265a032fedd69846f6.tar.gz", "hash": "01sw4iscnciyifpba4cwjb6fs95wrkk60xvqq67b8d5j8yb5449a" From a0905ee428cf75c94e97ef80ea79d1d16f2c8968 Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Sat, 17 May 2025 11:46:43 +0700 Subject: [PATCH 145/271] basic: deprecate scrollOffset --- modules/extra/deprecations.nix | 2 +- modules/neovim/init/basic.nix | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index 91d8ef28..0a5733ab 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -18,7 +18,7 @@ showSignColumn = "signcolumn"; # 2025-02-07 - scrollOff = "scrolloff"; + scrollOffset = "scrolloff"; }; in { imports = concatLists [ diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index 195ef5e7..2f3934ae 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -6,11 +6,10 @@ inherit (lib.options) mkOption mkEnableOption literalMD; inherit (lib.strings) optionalString; inherit (lib.attrsets) optionalAttrs; - inherit (lib.types) enum bool str int either; + inherit (lib.types) enum bool str either; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.dag) entryAfter; inherit (lib.nvim.binds) pushDownDefault; - inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.types) luaInline; cfg = config.vim; @@ -22,12 +21,6 @@ in { description = "Hide search highlight so it doesn't stay highlighted"; }; - scrollOffset = mkOption { - type = int; - default = 8; - description = "Start scrolling this number of lines from the top or bottom of the page."; - }; - syntaxHighlighting = mkOption { type = bool; default = !config.vim.treesitter.highlight.enable; From 6d1b7ec094e7d3ce935f8c9e66c9b15d0b4d77f6 Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Sat, 17 May 2025 11:53:39 +0700 Subject: [PATCH 146/271] docs: deprecate vim.scrollOffset --- 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 17f024b4..cf12a6a3 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -308,6 +308,7 @@ `vim.diagnostics.nvim-lint.linters.*.required_files`. - Add global function `nvf_lint` under `vim.diagnostics.nvim-lint.lint_function`. +- Deprecate `vim.scrollOffset` in favor of `vim.options.scrolloff`. [Sc3l3t0n](https://github.com/Sc3l3t0n): From 1643b5262b65f90fe020172ef231bf2f36b58048 Mon Sep 17 00:00:00 2001 From: haskex Date: Sat, 17 May 2025 12:04:44 -0300 Subject: [PATCH 147/271] Fixing conflits --- docs/release-notes/rl-0.8.md | 8 -------- temp | 7 +++++++ 2 files changed, 7 insertions(+), 8 deletions(-) create mode 100644 temp diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e635ebce..f55b847c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -392,11 +392,3 @@ - Add `rubylsp` option in `vim.languages.ruby.lsp.server` to use shopify's ruby-lsp language server - -[Haskex](https://github.com/haskex): - -[img-clip.nvim]: https://github.com/hakonharnes/img-clip.nvim - -- Add [img-clip.nvim] plugin in `vim.utility.images.img-clip` with `enable` and - `setupOpts` -- Add `vim.utility.images.img-clip.enable = isMaximal` in configuration.nix diff --git a/temp b/temp new file mode 100644 index 00000000..0f6ab5b6 --- /dev/null +++ b/temp @@ -0,0 +1,7 @@ +[Haskex](https://github.com/haskex): + +[img-clip.nvim]: https://github.com/hakonharnes/img-clip.nvim + +- Add [img-clip.nvim] plugin in `vim.utility.images.img-clip` with `enable` and + `setupOpts` +- Add `vim.utility.images.img-clip.enable = isMaximal` in configuration.nix From 23e40da9a4d0eb5c4b15f60e8910da742e827be1 Mon Sep 17 00:00:00 2001 From: haskex Date: Sat, 17 May 2025 12:08:24 -0300 Subject: [PATCH 148/271] remove temp file and add changelog --- docs/release-notes/rl-0.8.md | 6 ++++++ temp | 7 ------- 2 files changed, 6 insertions(+), 7 deletions(-) delete mode 100644 temp diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index cf12a6a3..09698657 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -399,3 +399,9 @@ [solarized-osaka.nvim]: https://github.com/craftzdog/solarized-osaka.nvim - Add [solarized-osaka.nvim] theme + +[img-clip.nvim]: https://github.com/hakonharnes/img-clip.nvim + +- Add [img-clip.nvim] plugin in `vim.utility.images.img-clip` with `enable` and + `setupOpts` +- Add `vim.utility.images.img-clip.enable = isMaximal` in configuration.nix diff --git a/temp b/temp deleted file mode 100644 index 0f6ab5b6..00000000 --- a/temp +++ /dev/null @@ -1,7 +0,0 @@ -[Haskex](https://github.com/haskex): - -[img-clip.nvim]: https://github.com/hakonharnes/img-clip.nvim - -- Add [img-clip.nvim] plugin in `vim.utility.images.img-clip` with `enable` and - `setupOpts` -- Add `vim.utility.images.img-clip.enable = isMaximal` in configuration.nix From eecebde41319bf1cbf7f1faa80d6d9d8f6be2610 Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Sat, 17 May 2025 10:36:47 -0400 Subject: [PATCH 149/271] flake: update mnw --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 65cee2ae..4160ae76 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1746338991, - "narHash": "sha256-GbyoHjf14LOxZQc+0NFblI4xf/uwGrYo3W8lwE4HcwI=", + "lastModified": 1747499976, + "narHash": "sha256-YTiSI4WLbk0CleXeBheYmKZV6iqKyBpyoh1e+vcQzu4=", "owner": "Gerg-L", "repo": "mnw", - "rev": "c65407ee9387ef75985dad3e30f58c822c766ec1", + "rev": "72433a144c4ac16931e9148f78db4a0e4c147441", "type": "github" }, "original": { From 23e50a8eb71e6ffa6af4bfd3d65eb813048b0e5d Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Sat, 17 May 2025 10:48:27 -0400 Subject: [PATCH 150/271] fix: noBuildPlug naming --- modules/wrapper/build/config.nix | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index 00ad2305..dd22bed8 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -7,23 +7,20 @@ }: let inherit (pkgs) vimPlugins; inherit (lib.trivial) flip; - inherit (builtins) path filter isString; + inherit (builtins) filter isString; getPin = name: ((pkgs.callPackages ../../../npins/sources.nix {}) // config.vim.pluginOverrides).${name}; noBuildPlug = pname: let pin = getPin pname; - version = pin.revision or "dirty"; - in { - # vim.lazy.plugins relies on pname, so we only set that here - # version isn't needed for anything, but inherit it anyway for correctness - inherit pname version; - outPath = path { - name = "${pname}-0-unstable-${version}"; - path = pin.outPath; + version = builtins.substring 0 8 pin.revision; + in + pin.outPath.overrideAttrs { + inherit pname version; + name = "${pname}-${version}"; + + passthru.vimPlugin = false; }; - passthru.vimPlugin = false; - }; # build a vim plugin with the given name and arguments # if the plugin is nvim-treesitter, warn the user to use buildTreesitterPlug From 37aac453966129dc6636282fa44161fde60bf39b Mon Sep 17 00:00:00 2001 From: Christoph Koehler Date: Thu, 15 May 2025 11:36:15 -0600 Subject: [PATCH 151/271] fix: disable Conform for Rust if we have rust-analyzer enabled --- docs/release-notes/rl-0.8.md | 2 ++ modules/plugins/languages/rust.nix | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f55b847c..a8a8d542 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -346,6 +346,8 @@ - Fix default telescope ignore list entry for '.git/' to properly match - Add [gitlinker.nvim] plugin to `vim.git.gitlinker-nvim` - Add [nvim-treesitter-textobjects] plugin to `vim.treesitter.textobjects` +- Default to disabling Conform for Rust if rust-analyzer is used + - To force using Conform, set `languages.rust.format.enable = true`. [rrvsh](https://github.com/rrvsh): diff --git a/modules/plugins/languages/rust.nix b/modules/plugins/languages/rust.nix index 677f7d3b..09c54ae6 100644 --- a/modules/plugins/languages/rust.nix +++ b/modules/plugins/languages/rust.nix @@ -7,7 +7,7 @@ inherit (builtins) attrNames; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; - inherit (lib.options) mkOption mkEnableOption; + inherit (lib.options) mkOption mkEnableOption literalMD; inherit (lib.strings) optionalString; inherit (lib.trivial) boolToString; inherit (lib.lists) isList; @@ -68,7 +68,14 @@ in { }; format = { - enable = mkEnableOption "Rust formatting" // {default = config.vim.languages.enableFormat;}; + enable = + mkEnableOption "Rust formatting" + // { + default = !cfg.lsp.enable && config.vim.languages.enableFormat; + defaultText = literalMD '' + Disabled if Rust LSP is enabled, otherwise follows {option}`vim.languages.enableFormat` + ''; + }; type = mkOption { description = "Rust formatter to use"; From c4d040b0b03dc97a66e6bc90b22b898b6d4ef26c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20=C3=98stermark?= Date: Sun, 18 May 2025 20:31:56 +0200 Subject: [PATCH 152/271] assistant/avante.nvim apply suggested changes Change the options to use mkOption when applicable and apply changes to descriptions Change the building of the vimPlugin to use npin dependencies instead of dependencies from nixpkgs --- configuration.nix | 1 + flake/avante-nvim/default.nix | 38 ++--- flake/packages.nix | 1 + .../plugins/assistant/avante/avante-nvim.nix | 142 +++++++----------- modules/plugins/assistant/avante/config.nix | 19 ++- 5 files changed, 86 insertions(+), 115 deletions(-) diff --git a/configuration.nix b/configuration.nix index dee5001f..2995fee8 100644 --- a/configuration.nix +++ b/configuration.nix @@ -248,6 +248,7 @@ isMaximal: { cmp.enable = isMaximal; }; codecompanion-nvim.enable = false; + avante-nvim.enable = isMaximal; }; session = { diff --git a/flake/avante-nvim/default.nix b/flake/avante-nvim/default.nix index 61a28fac..513a3117 100644 --- a/flake/avante-nvim/default.nix +++ b/flake/avante-nvim/default.nix @@ -10,6 +10,7 @@ pkgs, version, src, + pins, }: let inherit version src; avante-nvim-lib = rustPlatform.buildRustPackage { @@ -44,20 +45,20 @@ in pname = "avante-nvim"; inherit version src; - dependencies = with vimPlugins; [ - nvim-treesitter - dressing-nvim - plenary-nvim - nui-nvim - - # optional, not sure how we best deal with adding these as options for the user to set - mini-pick - telescope-nvim - nvim-cmp - fzf-lua - nvim-web-devicons - img-clip-nvim - ]; + dependencies = + [vimPlugins.nvim-treesitter] + ++ (builtins.map (name: let + pin = pins.${name}; + in + pkgs.fetchFromGitHub { + inherit (pin.repository) owner repo; + rev = pin.revision; + sha256 = pin.hash; + }) [ + "dressing-nvim" + "plenary-nvim" + "nui-nvim" + ]); postInstall = let ext = stdenv.hostPlatform.extensions.sharedLibrary; @@ -69,15 +70,6 @@ in ln -s ${avante-nvim-lib}/lib/libavante_html2md${ext} $out/build/avante_html2md${ext} ''; - passthru = { - updateScript = nix-update-script { - attrPath = "vimPlugins.avante-nvim.avante-nvim-lib"; - }; - - # needed for the update script - inherit avante-nvim-lib; - }; - nvimSkipModules = [ # Requires setup with corresponding provider "avante.providers.azure" diff --git a/flake/packages.nix b/flake/packages.nix index 1e9ae941..5161b34f 100644 --- a/flake/packages.nix +++ b/flake/packages.nix @@ -28,6 +28,7 @@ rev = pin.revision; sha256 = pin.hash; }; + pins = self.pins; }; inherit (docs.manual) htmlOpenTool; diff --git a/modules/plugins/assistant/avante/avante-nvim.nix b/modules/plugins/assistant/avante/avante-nvim.nix index 3e101865..7d52fab8 100644 --- a/modules/plugins/assistant/avante/avante-nvim.nix +++ b/modules/plugins/assistant/avante/avante-nvim.nix @@ -1,11 +1,11 @@ {lib, ...}: let inherit (lib.options) mkOption mkEnableOption literalMD; - inherit (lib.types) int str enum nullOr attrs; + inherit (lib.types) int str enum nullOr attrs bool; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.assistant = { avante-nvim = { - enable = mkEnableOption "complementary neovim plugin for avante.nvim"; + enable = mkEnableOption "complementary Neovim plugin for avante.nvim"; setupOpts = mkPluginSetupOption "avante-nvim" { provider = mkOption { type = nullOr str; @@ -54,18 +54,13 @@ in { type = nullOr str; default = null; description = '' - The provider used in the applying phase of Cursor Planning Mode, defaults to nil, - when nil uses Config.provider as the provider for the applying phase + The provider used in the applying phase of Cursor Planning Mode, defaults to `nil`, + Config.provider will be used as the provider for the applying phase when `nil`. ''; }; dual_boost = { - enabled = - mkEnableOption "" - // { - default = false; - description = "Whether to enable dual_boost mode."; - }; + enabled = mkEnableOption "dual_boost mode."; first_provider = mkOption { type = str; @@ -81,7 +76,11 @@ in { prompt = mkOption { type = str; - default = "Based on the two reference outputs below, generate a response that incorporates elements from both but reflects your own judgment and unique perspective. Do not provide any explanation, just give the response directly. Reference Output 1: [{{provider1_output}}], Reference Output 2: [{{provider2_output}}]"; + default = '' + Based on the two reference outputs below, generate a response that incorporates + elements from both but reflects your own judgment and unique perspective. + Do not provide any explanation, just give the response directly. Reference Output 1: + [{{provider1_output}}], Reference Output 2: [{{provider2_output}}''; description = "The prompt to generate response based on the two reference outputs."; }; @@ -94,70 +93,45 @@ in { behaviour = { auto_suggestions = - mkEnableOption "" - // { - default = false; - description = "Whether to enable auto suggestions."; - }; + mkEnableOption "auto suggestions."; auto_set_highlight_group = - mkEnableOption "" + mkEnableOption "automatically set the highlight group for the current line." // { default = true; - description = "Whether to automatically set the highlight group for the current line."; }; auto_set_keymaps = - mkEnableOption "" + mkEnableOption "automatically set the keymap for the current line." // { default = true; - description = "Whether to automatically set the keymap for the current line."; }; auto_apply_diff_after_generation = - mkEnableOption "" - // { - default = false; - description = "Whether to automatically apply diff after LLM response."; - }; + mkEnableOption "automatically apply diff after LLM response."; - support_paste_from_clipboard = - mkEnableOption "" - // { - default = false; - description = '' - Whether to support pasting image from clipboard. - This will be determined automatically based whether img-clip is available or not. - ''; - }; + support_paste_from_clipboard = mkEnableOption '' + pasting image from clipboard. + This will be determined automatically based whether img-clip is available or not. + ''; minimize_diff = - mkEnableOption "" + mkEnableOption "remove unchanged lines when applying a code block." // { default = true; - description = "Whether to remove unchanged lines when applying a code block."; }; enable_token_counting = - mkEnableOption "" + mkEnableOption "token counting." // { default = true; - description = "Whether to enable token counting. Default to true."; }; enable_cursor_planning_mode = - mkEnableOption "" - // { - default = false; - description = "Whether to enable Cursor Planning Mode. Default to false."; - }; + mkEnableOption "Cursor Planning Mode."; enable_claude_text_editor_tool_mode = - mkEnableOption "" - // { - default = false; - description = "Whether to enable Claude Text Editor Tool Mode."; - }; + mkEnableOption "Claude Text Editor Tool Mode."; }; mappings = { @@ -230,14 +204,11 @@ in { }; sidebar_header = { - enabled = - mkEnableOption "" - // { - default = true; - description = '' - enable/disable the header. - ''; - }; + enabled = mkOption { + type = bool; + default = true; + description = "enable/disable the header."; + }; align = mkOption { type = enum ["right" "center" "left"]; @@ -245,12 +216,11 @@ in { description = "Position of the title."; }; - rounded = - mkEnableOption "" - // { - default = true; - description = "Enable rounded sidebar header"; - }; + rounded = mkOption { + type = bool; + default = true; + description = "Enable rounded sidebar header"; + }; }; input = { @@ -276,34 +246,31 @@ in { description = "The border type on the edit window."; }; - start_insert = - mkEnableOption "" - // { - default = true; - description = '' - Start insert mode when opening the edit window. - ''; - }; + start_insert = mkOption { + type = bool; + default = true; + description = '' + Start insert mode when opening the edit window. + ''; + }; }; ask = { - floating = - mkEnableOption "" - // { - default = false; - description = '' - Open the 'AvanteAsk' prompt in a floating window. - ''; - }; + floating = mkOption { + type = bool; + default = false; + description = '' + Open the 'AvanteAsk' prompt in a floating window. + ''; + }; - start_insert = - mkEnableOption "" - // { - default = true; - description = '' - Start insert mode when opening the ask window. - ''; - }; + start_insert = mkOption { + type = bool; + default = true; + description = '' + Start insert mode when opening the ask window. + ''; + }; border = mkOption { type = str; @@ -330,8 +297,9 @@ in { override_timeoutlen = mkOption { type = int; default = 500; + example = -1; description = '' - Override the 'timeoutlen' setting while hovering over a diff (see :help timeoutlen). + Override the 'timeoutlen' setting while hovering over a diff (see {command}`:help timeoutlen`). Helps to avoid entering operator-pending mode with diff mappings starting with `c`. Disable by setting to -1. ''; diff --git a/modules/plugins/assistant/avante/config.nix b/modules/plugins/assistant/avante/config.nix index bb97780f..e140de89 100644 --- a/modules/plugins/assistant/avante/config.nix +++ b/modules/plugins/assistant/avante/config.nix @@ -4,16 +4,25 @@ ... }: let inherit (lib.modules) mkIf; + inherit (lib.lists) optionals; cfg = config.vim.assistant.avante-nvim; in { config = mkIf cfg.enable { vim = { - startPlugins = [ - "plenary-nvim" - "dressing-nvim" - "nui-nvim" - ]; + startPlugins = + [ + "nvim-treesitter" + "plenary-nvim" + "dressing-nvim" + "nui-nvim" + ] + ++ (optionals config.vim.mini.pick.enable ["mini-pick"]) + ++ (optionals config.vim.telescope.enable ["telescope"]) + ++ (optionals config.vim.autocomplete.nvim-cmp.enable ["nvim-cmp"]) + ++ (optionals config.vim.fzf-lua.enable ["fzf-lua"]) + ++ (optionals config.vim.visuals.nvim-web-devicons.enable ["nvim-web-devicons"]) + ++ (optionals config.vim.utility.images.img-clip.enable ["img-clip"]); lazy.plugins = { avante-nvim = { From a15ad3cd11eb6a871179a15840b620ac5f938456 Mon Sep 17 00:00:00 2001 From: Andreas Nilsson Date: Sat, 17 May 2025 17:03:08 +0200 Subject: [PATCH 153/271] languages/clojure: init --- docs/release-notes/rl-0.8.md | 7 ++++ modules/plugins/languages/clojure.nix | 56 +++++++++++++++++++++++++++ modules/plugins/languages/default.nix | 1 + 3 files changed, 64 insertions(+) create mode 100644 modules/plugins/languages/clojure.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1f10476f..e67ee69b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -407,3 +407,10 @@ - Add [img-clip.nvim] plugin in `vim.utility.images.img-clip` with `enable` and `setupOpts` - Add `vim.utility.images.img-clip.enable = isMaximal` in configuration.nix + +[anil9](https://github.com/anil9): + +[clojure-lsp]: https://github.com/clojure-lsp/clojure-lsp +[conjure]: https://github.com/Olical/conjure + +- Add Clojure support under `vim.languages.clojure` using [clojure-lsp] and [conjure]. diff --git a/modules/plugins/languages/clojure.nix b/modules/plugins/languages/clojure.nix new file mode 100644 index 00000000..5259d4ff --- /dev/null +++ b/modules/plugins/languages/clojure.nix @@ -0,0 +1,56 @@ +{ + config, + pkgs, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.modules) mkIf mkMerge; + inherit (lib.meta) getExe; + inherit (lib.lists) isList; + inherit (lib.types) either listOf package str; + inherit (lib.nvim.types) mkGrammarOption; + inherit (lib.nvim.lua) expToLua; + + cfg = config.vim.languages.clojure; +in { + options.vim.languages.clojure = { + enable = mkEnableOption "Clojure language support"; + + treesitter = { + enable = mkEnableOption "Clojure treesitter" // {default = config.vim.languages.enableTreesitter;}; + package = mkGrammarOption pkgs "clojure"; + }; + + lsp = { + enable = mkEnableOption "Clojure LSP support" // {default = config.vim.lsp.enable;}; + package = mkOption { + description = "Clojure LSP"; + type = either package (listOf str); + default = pkgs.clojure-lsp; + }; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + (mkIf cfg.lsp.enable { + vim.lsp.lspconfig.enable = true; + vim.lsp.lspconfig.sources.clojure-lsp = '' + lspconfig.clojure_lsp.setup { + capabilities = capabilities; + on_attach = default_on_attach; + cmd = ${ + if isList cfg.lsp.package + then expToLua cfg.lsp.package + else ''{"${getExe cfg.lsp.package}"}'' + }; + } + ''; + }) + + (mkIf cfg.treesitter.enable { + vim.treesitter.enable = true; + vim.treesitter.grammars = [cfg.treesitter.package]; + }) + ]); +} diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index 25b99080..961d7cc5 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -9,6 +9,7 @@ in { ./cue.nix ./dart.nix ./clang.nix + ./clojure.nix ./css.nix ./elixir.nix ./fsharp.nix From 9e50a89d7ed7734dc4db84916bd0e6b6d83c9af8 Mon Sep 17 00:00:00 2001 From: Andreas Nilsson Date: Wed, 21 May 2025 20:34:02 +0200 Subject: [PATCH 154/271] repl/conjure: init --- docs/release-notes/rl-0.8.md | 3 ++- modules/modules.nix | 1 + modules/plugins/repl/conjure/conjure.nix | 19 +++++++++++++++++++ modules/plugins/repl/conjure/default.nix | 5 +++++ modules/plugins/repl/default.nix | 5 +++++ 5 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 modules/plugins/repl/conjure/conjure.nix create mode 100644 modules/plugins/repl/conjure/default.nix create mode 100644 modules/plugins/repl/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e67ee69b..385eb548 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -413,4 +413,5 @@ [clojure-lsp]: https://github.com/clojure-lsp/clojure-lsp [conjure]: https://github.com/Olical/conjure -- Add Clojure support under `vim.languages.clojure` using [clojure-lsp] and [conjure]. +- Add Clojure support under `vim.languages.clojure` using [clojure-lsp] +- Add code evaluation environment [conjure] under `vim.repl.conjure` diff --git a/modules/modules.nix b/modules/modules.nix index c7e198dd..97bfa211 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -33,6 +33,7 @@ "minimap" "notes" "projects" + "repl" "rich-presence" "runner" "session" diff --git a/modules/plugins/repl/conjure/conjure.nix b/modules/plugins/repl/conjure/conjure.nix new file mode 100644 index 00000000..dbcde32b --- /dev/null +++ b/modules/plugins/repl/conjure/conjure.nix @@ -0,0 +1,19 @@ +{ + config, + pkgs, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.modules) mkIf; + + cfg = config.vim.repl.conjure; +in { + options.vim.repl.conjure = { + enable = mkEnableOption "Whether to enable Conjure"; + }; + + config = mkIf cfg.enable { + vim.startPlugins = [pkgs.vimPlugins.conjure]; + }; +} diff --git a/modules/plugins/repl/conjure/default.nix b/modules/plugins/repl/conjure/default.nix new file mode 100644 index 00000000..de8c3190 --- /dev/null +++ b/modules/plugins/repl/conjure/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./conjure.nix + ]; +} diff --git a/modules/plugins/repl/default.nix b/modules/plugins/repl/default.nix new file mode 100644 index 00000000..ba03a390 --- /dev/null +++ b/modules/plugins/repl/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./conjure + ]; +} From f7b556ab240b1a25a0e85d7fe901919613cf8acb Mon Sep 17 00:00:00 2001 From: Andreas Nilsson Date: Thu, 22 May 2025 16:19:52 +0200 Subject: [PATCH 155/271] conjure option text update Co-authored-by: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> --- modules/plugins/repl/conjure/conjure.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/repl/conjure/conjure.nix b/modules/plugins/repl/conjure/conjure.nix index dbcde32b..83481af2 100644 --- a/modules/plugins/repl/conjure/conjure.nix +++ b/modules/plugins/repl/conjure/conjure.nix @@ -10,7 +10,7 @@ cfg = config.vim.repl.conjure; in { options.vim.repl.conjure = { - enable = mkEnableOption "Whether to enable Conjure"; + enable = mkEnableOption "Conjure"; }; config = mkIf cfg.enable { From 316aeeae4e1a243e964fc3629cc14859cd8b6b96 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 13 Apr 2025 14:47:11 +0200 Subject: [PATCH 156/271] blink: do not set default for cmdline sources --- modules/plugins/completion/blink-cmp/blink-cmp.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/completion/blink-cmp/blink-cmp.nix b/modules/plugins/completion/blink-cmp/blink-cmp.nix index 65b88815..27a026ad 100644 --- a/modules/plugins/completion/blink-cmp/blink-cmp.nix +++ b/modules/plugins/completion/blink-cmp/blink-cmp.nix @@ -48,7 +48,7 @@ in { cmdline = { sources = mkOption { type = nullOr (listOf str); - default = []; + default = null; description = "List of sources to enable for cmdline. Null means use default source list."; }; From 195d39cef73d126cd1fe9b73e73ad800ecde61e3 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 13 Apr 2025 14:50:44 +0200 Subject: [PATCH 157/271] blink: add keybinds for cmdline --- modules/plugins/completion/blink-cmp/config.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/plugins/completion/blink-cmp/config.nix b/modules/plugins/completion/blink-cmp/config.nix index 9302332e..2efd8d79 100644 --- a/modules/plugins/completion/blink-cmp/config.nix +++ b/modules/plugins/completion/blink-cmp/config.nix @@ -122,6 +122,21 @@ in { "fallback" ]; }; + + # cmdline is not enabled by default, we're just providing keymaps in + # case the user enables them + cmdline.keymap = { + ${mappings.complete} = ["show" "fallback"]; + ${mappings.close} = ["hide" "fallback"]; + ${mappings.scrollDocsUp} = ["scroll_documentation_up" "fallback"]; + ${mappings.scrollDocsDown} = ["scroll_documentation_down" "fallback"]; + # NOTE: mappings.confirm is skipped because our default, would + # lead to accidental triggers of blink.accept instead of executing + # the cmd + + ${mappings.next} = ["select_next" "show" "fallback"]; + ${mappings.previous} = ["select_prev" "fallback"]; + }; }; }; }; From 3da08708d7d91f4da45484ebe3cd5353c9ebde0d Mon Sep 17 00:00:00 2001 From: Andreas Nilsson Date: Mon, 26 May 2025 22:01:14 +0200 Subject: [PATCH 158/271] language/clojure: variable order Co-authored-by: Soliprem <73885403+Soliprem@users.noreply.github.com> --- modules/plugins/languages/clojure.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/clojure.nix b/modules/plugins/languages/clojure.nix index 5259d4ff..0b932708 100644 --- a/modules/plugins/languages/clojure.nix +++ b/modules/plugins/languages/clojure.nix @@ -25,9 +25,9 @@ in { lsp = { enable = mkEnableOption "Clojure LSP support" // {default = config.vim.lsp.enable;}; package = mkOption { - description = "Clojure LSP"; type = either package (listOf str); default = pkgs.clojure-lsp; + description = "Clojure LSP"; }; }; }; From ec24c0ecafa698ec141f0d6208daf52b76316b18 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 27 May 2025 06:47:07 +0300 Subject: [PATCH 159/271] flake: bump inputs --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 4160ae76..5e02cd43 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1747499976, - "narHash": "sha256-YTiSI4WLbk0CleXeBheYmKZV6iqKyBpyoh1e+vcQzu4=", + "lastModified": 1748278309, + "narHash": "sha256-JCeiMrUhFku44kfKsgiD9Ibzho4MblBD2WmOQYsQyTY=", "owner": "Gerg-L", "repo": "mnw", - "rev": "72433a144c4ac16931e9148f78db4a0e4c147441", + "rev": "486a17ba1279ab2357cae8ff66b309db622f8831", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746152631, - "narHash": "sha256-zBuvmL6+CUsk2J8GINpyy8Hs1Zp4PP6iBWSmZ4SCQ/s=", + "lastModified": 1748217807, + "narHash": "sha256-P3u2PXxMlo49PutQLnk2PhI/imC69hFl1yY4aT5Nax8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "032bc6539bd5f14e9d0c51bd79cfe9a055b094c3", + "rev": "3108eaa516ae22c2360928589731a4f1581526ef", "type": "github" }, "original": { From 74ba4d955976af1422ea1f095968e547db70aa04 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 27 May 2025 06:55:55 +0300 Subject: [PATCH 160/271] pins: bump all plugins --- npins/sources.json | 406 ++++++++++++++++++++++----------------------- 1 file changed, 203 insertions(+), 203 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 940a7466..846b1c48 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -22,8 +22,8 @@ }, "branch": "main", "submodules": false, - "revision": "de72250e054e5e691b9736ee30db72c65d560771", - "url": "https://github.com/goolord/alpha-nvim/archive/de72250e054e5e691b9736ee30db72c65d560771.tar.gz", + "revision": "a35468cd72645dbd52c0624ceead5f301c566dff", + "url": "https://github.com/goolord/alpha-nvim/archive/a35468cd72645dbd52c0624ceead5f301c566dff.tar.gz", "hash": "0c1jkhxamfn2md7m1r5b2wpxa26y90b98yzjwf68m3fymalvkn5h" }, "base16": { @@ -35,9 +35,9 @@ }, "branch": "master", "submodules": false, - "revision": "965160025d0facbe9caa863e5beef2a7a488e9d1", - "url": "https://github.com/rrethy/base16-nvim/archive/965160025d0facbe9caa863e5beef2a7a488e9d1.tar.gz", - "hash": "02w1mn15gydma9canvqrlwf4l5z76s1vs01zanipwwflvwclsb8f" + "revision": "f9ce7474c54803cb0fa308b0b91549d394a07940", + "url": "https://github.com/rrethy/base16-nvim/archive/f9ce7474c54803cb0fa308b0b91549d394a07940.tar.gz", + "hash": "1d575pa225ws5rhabr17if5pl8vfy1ks1a9w3rx7f47vdk8ars4m" }, "blink-cmp-spell": { "type": "Git", @@ -74,9 +74,9 @@ }, "branch": "master", "submodules": false, - "revision": "a77aebc092ebece1eed108f301452ae774d6b67a", - "url": "https://github.com/moyiz/blink-emoji.nvim/archive/a77aebc092ebece1eed108f301452ae774d6b67a.tar.gz", - "hash": "0n4qv2mk7zx910gnwf9ri2w5qxwx8szx99nqqzik4yyvl4axm41d" + "revision": "f22ce8cac02a6ece05368220f1e38bd34fe376f9", + "url": "https://github.com/moyiz/blink-emoji.nvim/archive/f22ce8cac02a6ece05368220f1e38bd34fe376f9.tar.gz", + "hash": "1vnx779arsm4n1sjjwhraczp07am0i2n4m13jqv7ij01vd4c9wd4" }, "blink-ripgrep-nvim": { "type": "Git", @@ -87,9 +87,9 @@ }, "branch": "main", "submodules": false, - "revision": "0a2c3c1ce8c3c56e7490cae835a981d5dbeb472c", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/0a2c3c1ce8c3c56e7490cae835a981d5dbeb472c.tar.gz", - "hash": "11wc0qdalz7fb6zpdvrdib1bx3qyvcbn3hr0h57plspln55rjhl5" + "revision": "a910b62c896eee2d0e74eb48b3ff5eedd211db69", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/a910b62c896eee2d0e74eb48b3ff5eedd211db69.tar.gz", + "hash": "0xinh3rxjrglkzgw9d80x1scl20h2gxzkl3f3cjzpz04rrr6slsm" }, "bufdelete-nvim": { "type": "Git", @@ -113,9 +113,9 @@ }, "branch": "main", "submodules": false, - "revision": "b7bbdf93b42866f166af98d39a2563eedb7cabac", - "url": "https://github.com/catppuccin/nvim/archive/b7bbdf93b42866f166af98d39a2563eedb7cabac.tar.gz", - "hash": "0f8wcpig84kihbz31w0hap4qs5gsdvch4sk2krn29v3k5bh3kcv0" + "revision": "56a9dfd1e05868cf3189369aad87242941396563", + "url": "https://github.com/catppuccin/nvim/archive/56a9dfd1e05868cf3189369aad87242941396563.tar.gz", + "hash": "082rlnsxm1ip5mhpgc37nyp96s2hmvkcd4cbbvsvzdghiq4kl51b" }, "ccc-nvim": { "type": "Git", @@ -126,9 +126,9 @@ }, "branch": "main", "submodules": false, - "revision": "af2cf5a963f401aad868c065222ee13d4bbc9050", - "url": "https://github.com/uga-rosa/ccc.nvim/archive/af2cf5a963f401aad868c065222ee13d4bbc9050.tar.gz", - "hash": "0h43m2rz9jcckif036n6ybyv2zhgr25l0wpdg3fdfl7xkfs7sa1i" + "revision": "9d1a256e006decc574789dfc7d628ca11644d4c2", + "url": "https://github.com/uga-rosa/ccc.nvim/archive/9d1a256e006decc574789dfc7d628ca11644d4c2.tar.gz", + "hash": "0a2fc4bw88kf1dpp0k07aj8i9qp0xcnz1fvrxdkhz0fxddb7qdnx" }, "cellular-automaton-nvim": { "type": "Git", @@ -256,9 +256,9 @@ }, "branch": "main", "submodules": false, - "revision": "e55bbf5f6969ab41414d3fd68011366d3b80d024", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/e55bbf5f6969ab41414d3fd68011366d3b80d024.tar.gz", - "hash": "12jas52gh1dl33ir0bkxpqnfxjdkwh7h03qvfk1b3qk2fmr0abqn" + "revision": "9edf22cb71711cd7fab7671a25ed5424011a379d", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/9edf22cb71711cd7fab7671a25ed5424011a379d.tar.gz", + "hash": "1a23ra7q2aqa7raxa9jzgj852pz4bxkjr1k8qhh68lvrimmj0b73" }, "codewindow-nvim": { "type": "Git", @@ -269,9 +269,9 @@ }, "branch": "master", "submodules": false, - "revision": "dd7017617962943eb1d152fc58940f11c6775a4a", - "url": "https://github.com/gorbit99/codewindow.nvim/archive/dd7017617962943eb1d152fc58940f11c6775a4a.tar.gz", - "hash": "1kxkf50rkqrzqz03jvygbwxb1yfmqh0gskr00vpmyrq51569a2hw" + "revision": "a8e175043ce3baaa89e0a6b5171bcd920aab3dad", + "url": "https://github.com/gorbit99/codewindow.nvim/archive/a8e175043ce3baaa89e0a6b5171bcd920aab3dad.tar.gz", + "hash": "12nsdynpym15fl9qwjzlzhxr2mbpa0l6sp2r1rrc300jr59q0gkr" }, "comment-nvim": { "type": "Git", @@ -295,9 +295,9 @@ }, "branch": "master", "submodules": false, - "revision": "372fc521f8421b7830ea6db4d6ea3bae1c77548c", - "url": "https://github.com/stevearc/conform.nvim/archive/372fc521f8421b7830ea6db4d6ea3bae1c77548c.tar.gz", - "hash": "0b6qbwyb6ashpia7pk0r5kp82pdrblhmhmx1fprgy7lmgnm8mw97" + "revision": "6feb2f28f9a9385e401857b21eeac3c1b66dd628", + "url": "https://github.com/stevearc/conform.nvim/archive/6feb2f28f9a9385e401857b21eeac3c1b66dd628.tar.gz", + "hash": "1vfjv81b27qja3byfzskv1y57jsqwy6y0mac1ry7xpdbnva3vxwc" }, "copilot-cmp": { "type": "Git", @@ -321,9 +321,9 @@ }, "branch": "master", "submodules": false, - "revision": "a5c390f8d8e85b501b22dcb2f30e0cbbd69d5ff0", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/a5c390f8d8e85b501b22dcb2f30e0cbbd69d5ff0.tar.gz", - "hash": "1pk6mh40kbja49xlsqv70wl3j89i6p996gf8z95b9b50pd2dsdgk" + "revision": "a620a5a97b73faba009a8160bab2885316e1451c", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/a620a5a97b73faba009a8160bab2885316e1451c.tar.gz", + "hash": "0n3zkqnf5dqj6rdgf6nq50mjj7j5ngz4fzphfa13r7y8s5j0f6az" }, "crates-nvim": { "type": "Git", @@ -334,9 +334,9 @@ }, "branch": "main", "submodules": false, - "revision": "2c8f4fab02e3e9ea42c6ad9b547e4207a914a397", - "url": "https://github.com/Saecki/crates.nvim/archive/2c8f4fab02e3e9ea42c6ad9b547e4207a914a397.tar.gz", - "hash": "0ddlm94v3gh1znacghvfpfmkgv6js9i62gf7mlqcrpz8snpf879s" + "revision": "25f31372ab6f504d4fd7cfee836ad459caed8e68", + "url": "https://github.com/Saecki/crates.nvim/archive/25f31372ab6f504d4fd7cfee836ad459caed8e68.tar.gz", + "hash": "0vxgvnm5z9zpriplqq2q17c4v7ccmpc9f5wl02wpslfvwrfc6h2h" }, "csharpls-extended-lsp-nvim": { "type": "Git", @@ -347,9 +347,9 @@ }, "branch": "master", "submodules": false, - "revision": "c1edd1eaad2e649d3de8121337e3c515ac6db46e", - "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/c1edd1eaad2e649d3de8121337e3c515ac6db46e.tar.gz", - "hash": "03sjrkay6c6ivd9zpm7isa9izxsvspkvbvy7f61nl020splhbl9m" + "revision": "9cdc993347cfb51d102bf5da1ebf6bf4fc4683e4", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/9cdc993347cfb51d102bf5da1ebf6bf4fc4683e4.tar.gz", + "hash": "0ls3m94qk4vjwki7bjrf4di9fiwvh9hhkahav28c3nz14j559gs4" }, "dashboard-nvim": { "type": "Git", @@ -360,9 +360,9 @@ }, "branch": "master", "submodules": false, - "revision": "591b5b29e2f17b97496ec3179f6ecd08bb8502cc", - "url": "https://github.com/glepnir/dashboard-nvim/archive/591b5b29e2f17b97496ec3179f6ecd08bb8502cc.tar.gz", - "hash": "1f9ii3scd3zh4fch6h0mfmnfjx2fk6y4v3qc0cijk1vnyp2fm9qc" + "revision": "0f99b3cd66b9fde13926724c67c6e1abeb48e07d", + "url": "https://github.com/glepnir/dashboard-nvim/archive/0f99b3cd66b9fde13926724c67c6e1abeb48e07d.tar.gz", + "hash": "0s0i568nj4mkq0q29gjj9cm050p7n8b2jykbkyl7qajc1piwa93x" }, "diffview-nvim": { "type": "Git", @@ -438,9 +438,9 @@ }, "branch": "main", "submodules": false, - "revision": "41545d9d02a53d03b5f4da5881e8f30a7dc16031", - "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/41545d9d02a53d03b5f4da5881e8f30a7dc16031.tar.gz", - "hash": "1is587xa1b2fim4s3qc13ggwgpm02y4dmh64l4xjh6gyilh3fmkb" + "revision": "6b4205aa380b1f118b7b4f6d004d3704b73d0d23", + "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/6b4205aa380b1f118b7b4f6d004d3704b73d0d23.tar.gz", + "hash": "1xa78afcnlvvvdp10bhy13sqyscl1z1n8s40jhdfqy42i98qqqnj" }, "fidget-nvim": { "type": "Git", @@ -477,9 +477,9 @@ }, "branch": "main", "submodules": false, - "revision": "6faf2c70bd56f1fe78620591a2bb73f4dc6f4870", - "url": "https://github.com/akinsho/flutter-tools.nvim/archive/6faf2c70bd56f1fe78620591a2bb73f4dc6f4870.tar.gz", - "hash": "0mhqzicm56xp20mm8swmick63p9sbbby394v0qykzb9l73wpqdka" + "revision": "d5bb1dc3db78d7ab65dd8c5a6f32a38e383b9cb1", + "url": "https://github.com/akinsho/flutter-tools.nvim/archive/d5bb1dc3db78d7ab65dd8c5a6f32a38e383b9cb1.tar.gz", + "hash": "046fk727prhav2aha62ak50qvc3mmv8sc438hkhhd1ql3ilb7jrr" }, "friendly-snippets": { "type": "Git", @@ -503,9 +503,9 @@ }, "branch": "main", "submodules": false, - "revision": "1cc70fb29e63ff26acba1e0cbca04705f8a485f1", - "url": "https://github.com/ibhagwan/fzf-lua/archive/1cc70fb29e63ff26acba1e0cbca04705f8a485f1.tar.gz", - "hash": "032y3djil7bsb2h0sv5a0a1qg805j5p2jxxp01jcpmn870b6mcjd" + "revision": "a3e614173397e947bc2755c8c90633ff57f93c1e", + "url": "https://github.com/ibhagwan/fzf-lua/archive/a3e614173397e947bc2755c8c90633ff57f93c1e.tar.gz", + "hash": "03vh73ss0xm5sw392w3crmh5y60ajpn2b8ipnpslch2vaf155x6z" }, "gesture-nvim": { "type": "Git", @@ -568,9 +568,9 @@ }, "branch": "main", "submodules": false, - "revision": "1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb.tar.gz", - "hash": "0xzmj3z3rd1zxv5hc87ncmnrzm6653ffaif9xkpvnc3n8l81ybsn" + "revision": "8b729e489f1475615dc6c9737da917b3bc163605", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/8b729e489f1475615dc6c9737da917b3bc163605.tar.gz", + "hash": "06ag4vksr64l8yffrsahl86x45c1klyyfzw7b0fzzncp918drrmi" }, "glow-nvim": { "type": "Git", @@ -594,9 +594,9 @@ }, "branch": "main", "submodules": false, - "revision": "91a0f8e460197a521d42a2e84a7a2a4010be4bbb", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/91a0f8e460197a521d42a2e84a7a2a4010be4bbb.tar.gz", - "hash": "1bmxps0wawyvwyzcwzdxbf1wcqx6v7h6afj3yzgb38gz649wr8q7" + "revision": "00e38a379bab3389e187b3953566d67d494dfddd", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/00e38a379bab3389e187b3953566d67d494dfddd.tar.gz", + "hash": "1qavm9qkx3rwl3dsvs4xzw0ffhf4lmgzdmc51l00rjrb50ia3cpm" }, "hardtime-nvim": { "type": "Git", @@ -607,9 +607,9 @@ }, "branch": "main", "submodules": false, - "revision": "9aaec65de041bddfc4c0af66919030d2950bcea8", - "url": "https://github.com/m4xshen/hardtime.nvim/archive/9aaec65de041bddfc4c0af66919030d2950bcea8.tar.gz", - "hash": "1rmcl200a4m3ip3xjzhh7ghhh2961xj2mw7yf0w44jpvs98gqb18" + "revision": "1a3648a53002c2911ccb88e9c9f876cdc6c43ad6", + "url": "https://github.com/m4xshen/hardtime.nvim/archive/1a3648a53002c2911ccb88e9c9f876cdc6c43ad6.tar.gz", + "hash": "1dp0ckqq8s7s8si5r4889r84gpr38ghvsnar775rwg5vpsyq917d" }, "harpoon": { "type": "Git", @@ -633,9 +633,9 @@ }, "branch": "master", "submodules": false, - "revision": "3bec28d8b0006be596497a5e1a03bda6ef6131cf", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/3bec28d8b0006be596497a5e1a03bda6ef6131cf.tar.gz", - "hash": "1kf3w7x8awa4iiw7ab8xfjh6fq47yvv6h2rmfw0jf8s99fvgarj2" + "revision": "7ec43968cd30ba52b1ade311acffaecddb718259", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/7ec43968cd30ba52b1ade311acffaecddb718259.tar.gz", + "hash": "0cgilybpdwb5rd7i4z4f24ff3zz6f6zzk4vlnpkzx36z1538lxn4" }, "highlight-undo-nvim": { "type": "Git", @@ -753,9 +753,9 @@ }, "branch": "main", "submodules": false, - "revision": "2b68ddc0802bd295e64c9e2e75f18f755e50dbcc", - "url": "https://github.com/ggandor/leap.nvim/archive/2b68ddc0802bd295e64c9e2e75f18f755e50dbcc.tar.gz", - "hash": "07bdhfsig70qblvk2x0n35i5apz3mjdr05ba3082mh438ikgfmvx" + "revision": "189102b07cdd24de3bd7132e57da8c9614c385fc", + "url": "https://github.com/ggandor/leap.nvim/archive/189102b07cdd24de3bd7132e57da8c9614c385fc.tar.gz", + "hash": "0rdvrxdq43szm360rrnmxzmrm5wp6l91xkysnkl4d9p6rlyx01nz" }, "leetcode-nvim": { "type": "Git", @@ -779,9 +779,9 @@ }, "branch": "master", "submodules": false, - "revision": "a793d02b6a5e639fa9d3f2a89a839fa688ab2d0a", - "url": "https://github.com/ray-x/lsp_signature.nvim/archive/a793d02b6a5e639fa9d3f2a89a839fa688ab2d0a.tar.gz", - "hash": "0y5ffzj613kf0mq74yj248176fywn4vrsnn1fhip7j5yni1cyhzy" + "revision": "2b30d8582126a12a493b737e9761969eb869a05b", + "url": "https://github.com/ray-x/lsp_signature.nvim/archive/2b30d8582126a12a493b737e9761969eb869a05b.tar.gz", + "hash": "12ywprr9mv1kfjagfsmp603r9nyrb993wq86jk5sxppj6zir4va9" }, "lspkind-nvim": { "type": "Git", @@ -831,9 +831,9 @@ }, "branch": "master", "submodules": false, - "revision": "15884cee63a8c205334ab13ab1c891cd4d27101a", - "url": "https://github.com/hoob3rt/lualine.nvim/archive/15884cee63a8c205334ab13ab1c891cd4d27101a.tar.gz", - "hash": "0c251ywx5gsqwafgn2pb7qrv43cimrxp4wwqhlxccizf3l6l9wy1" + "revision": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af", + "url": "https://github.com/hoob3rt/lualine.nvim/archive/0c6cca9f2c63dadeb9225c45bc92bb95a151d4af.tar.gz", + "hash": "11qwr67i0i04dvj9zjl9nfdwkb3i2vfza4i6066zd7msccv9z9v7" }, "luasnip": { "type": "Git", @@ -844,9 +844,9 @@ }, "branch": "master", "submodules": false, - "revision": "7351d673f430e89f11962dc45b7360d6a0a26d2d", - "url": "https://github.com/L3MON4D3/LuaSnip/archive/7351d673f430e89f11962dc45b7360d6a0a26d2d.tar.gz", - "hash": "0dd42ss93cppq3cp27336gail955lckqqc6bafkmawplxh93qn1q" + "revision": "faf3c94a44508cec1b961406d36cc65113ff3b98", + "url": "https://github.com/L3MON4D3/LuaSnip/archive/faf3c94a44508cec1b961406d36cc65113ff3b98.tar.gz", + "hash": "18d5wmf6s4z7h0vy87nkazikh9jpzk8i8c54g5kpmf3kfliv3lp1" }, "lz-n": { "type": "Git", @@ -857,9 +857,9 @@ }, "branch": "master", "submodules": false, - "revision": "a10519ab5940a5364560043df9dc3db328e27f98", - "url": "https://github.com/nvim-neorocks/lz.n/archive/a10519ab5940a5364560043df9dc3db328e27f98.tar.gz", - "hash": "18q0hai33qrb950lg8w9nk83smqpp1ahiyrn6pv9dqyakbqhx1k1" + "revision": "6984e04b8dfdecedd61687271947725bc86f66d5", + "url": "https://github.com/nvim-neorocks/lz.n/archive/6984e04b8dfdecedd61687271947725bc86f66d5.tar.gz", + "hash": "01qgwcq71v51dcimw1mlcy7ikkrw25s15jsmck1f6hkz4h08zqpq" }, "lzn-auto-require": { "type": "Git", @@ -883,9 +883,9 @@ }, "branch": "main", "submodules": false, - "revision": "6c92a6455e97c954a4a419265a032fedd69846f6", - "url": "https://github.com/OXY2DEV/markview.nvim/archive/6c92a6455e97c954a4a419265a032fedd69846f6.tar.gz", - "hash": "01sw4iscnciyifpba4cwjb6fs95wrkk60xvqq67b8d5j8yb5449a" + "revision": "68c9603b6f88fd962444f8579024418fe5e170f1", + "url": "https://github.com/OXY2DEV/markview.nvim/archive/68c9603b6f88fd962444f8579024418fe5e170f1.tar.gz", + "hash": "1kfgr9d3kbxqagcddkns7n5fhmsm6xpx80gsrryyz96hxd8kj9ws" }, "mind-nvim": { "type": "Git", @@ -909,9 +909,9 @@ }, "branch": "main", "submodules": false, - "revision": "e139eb1101beb0250fea322f8c07a42f0f175688", - "url": "https://github.com/echasnovski/mini.ai/archive/e139eb1101beb0250fea322f8c07a42f0f175688.tar.gz", - "hash": "1lc7nwxlm4ndf2d2m4y90dybscig39qh5ijacns5r40w31rfgpmc" + "revision": "b91997d220086e92edc1fec5ce82094dcc234291", + "url": "https://github.com/echasnovski/mini.ai/archive/b91997d220086e92edc1fec5ce82094dcc234291.tar.gz", + "hash": "0ziv1l9jmj4a0yvj6xrx68j6hgivpxkp25cgnsw5k8i6h7m112mw" }, "mini-align": { "type": "Git", @@ -922,9 +922,9 @@ }, "branch": "main", "submodules": false, - "revision": "2b42ac0be7d570c2208f9e334ecef13453cd222d", - "url": "https://github.com/echasnovski/mini.align/archive/2b42ac0be7d570c2208f9e334ecef13453cd222d.tar.gz", - "hash": "12k8jv9f4kzn4gn507539v1llm1zn0afl2pwihv4gsr62l9gbmw9" + "revision": "969bdcdf9b88e30bda9cb8ad6f56afed208778ad", + "url": "https://github.com/echasnovski/mini.align/archive/969bdcdf9b88e30bda9cb8ad6f56afed208778ad.tar.gz", + "hash": "0yp6flw1xwwb8s74186bi5pm3m0426aixl34g8dm98wl66hh162c" }, "mini-animate": { "type": "Git", @@ -974,9 +974,9 @@ }, "branch": "main", "submodules": false, - "revision": "cd77e1e498a561a0f11b41a650caa1ba3a6a3fcc", - "url": "https://github.com/echasnovski/mini.bracketed/archive/cd77e1e498a561a0f11b41a650caa1ba3a6a3fcc.tar.gz", - "hash": "1490iv3j7ks3c04x48xqysq62kya9ygxca84avhah4pg43h1pws9" + "revision": "079b8375e40ebf3f8af319ad835263ff390c3965", + "url": "https://github.com/echasnovski/mini.bracketed/archive/079b8375e40ebf3f8af319ad835263ff390c3965.tar.gz", + "hash": "1d7kz48400bjdlkrlfparmi4w44mq08gp5bvz9vggc7hmm0baa4n" }, "mini-bufremove": { "type": "Git", @@ -1000,9 +1000,9 @@ }, "branch": "main", "submodules": false, - "revision": "298ece93383cf7feb82ff726ebe3570573cd6308", - "url": "https://github.com/echasnovski/mini.clue/archive/298ece93383cf7feb82ff726ebe3570573cd6308.tar.gz", - "hash": "09av4cxvfqc8vfhdhfa6dlv1l47hqfq9ip6w23xpdfv8acdhqr44" + "revision": "8b8598afa285f2a25cfd15a67e7eaa210ad405c3", + "url": "https://github.com/echasnovski/mini.clue/archive/8b8598afa285f2a25cfd15a67e7eaa210ad405c3.tar.gz", + "hash": "12p09p8b9b79fpqw8f9pfbs5l6gra3agbns0zaipm2aja0kkisva" }, "mini-colors": { "type": "Git", @@ -1013,9 +1013,9 @@ }, "branch": "main", "submodules": false, - "revision": "c45b8ee96f0347134e34ba3f0adaf08a9a8826d3", - "url": "https://github.com/echasnovski/mini.colors/archive/c45b8ee96f0347134e34ba3f0adaf08a9a8826d3.tar.gz", - "hash": "1px2x50h613f3jahhr24bmkkwxpwnf68c5acz51r89rmj5dl5v9r" + "revision": "ef76867adda63d6010acdc8732a816c8527d276b", + "url": "https://github.com/echasnovski/mini.colors/archive/ef76867adda63d6010acdc8732a816c8527d276b.tar.gz", + "hash": "0z2cg6fsy5idqp0p3i6rrx9mp48g4z915ylbi5q597d1vmglqffm" }, "mini-comment": { "type": "Git", @@ -1026,9 +1026,9 @@ }, "branch": "main", "submodules": false, - "revision": "fb867a9246f9b892cf51a8c84a3f8479cdf1558c", - "url": "https://github.com/echasnovski/mini.comment/archive/fb867a9246f9b892cf51a8c84a3f8479cdf1558c.tar.gz", - "hash": "0d3yl412f95alg5rlvq387sbx3gwyqa0nc2f8ivgw5vllnwycj3a" + "revision": "22ee9f6be1c78bcebe009a564758e5b6df08903b", + "url": "https://github.com/echasnovski/mini.comment/archive/22ee9f6be1c78bcebe009a564758e5b6df08903b.tar.gz", + "hash": "1j1bg8506ag9fmjbx41w1hqnd61vyq1paclh2nc25krcbv2plyas" }, "mini-completion": { "type": "Git", @@ -1039,9 +1039,9 @@ }, "branch": "main", "submodules": false, - "revision": "f0c324ff2142b02871cfb43049461e4f3f022a11", - "url": "https://github.com/echasnovski/mini.completion/archive/f0c324ff2142b02871cfb43049461e4f3f022a11.tar.gz", - "hash": "0q8w733i3428gzz6bk4ldc57smj55916imnpzx33arhfdvmzp8l0" + "revision": "ea78d31e8164468f0b3a909f863806f2c4cb84c4", + "url": "https://github.com/echasnovski/mini.completion/archive/ea78d31e8164468f0b3a909f863806f2c4cb84c4.tar.gz", + "hash": "01zc0kvwiq1h37q4fgwqi0bg875dks8vxw3aqjg3kyjj1v3z0zw9" }, "mini-cursorword": { "type": "GitRelease", @@ -1054,10 +1054,10 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v0.15.0", - "revision": "6683f04509c380e3147cca368f90bbdb99641775", - "url": "https://api.github.com/repos/echasnovski/mini.cursorword/tarball/v0.15.0", - "hash": "0vqr4hkzq13ap6giyyp8asn5g6nnm406piq1a07a5nmkfxiskp9v" + "version": "v0.16.0", + "revision": "55ecfd08d8ff62375f5be9e5b5d5252324b220e8", + "url": "https://api.github.com/repos/echasnovski/mini.cursorword/tarball/v0.16.0", + "hash": "0sgii7m2lfp95vxnchisk3hpbjwwqpky6ivkx2nc5djkmj07b7mj" }, "mini-diff": { "type": "Git", @@ -1068,9 +1068,9 @@ }, "branch": "main", "submodules": false, - "revision": "7e268d0241255abaa07b8aa0ddff028f7315fe21", - "url": "https://github.com/echasnovski/mini.diff/archive/7e268d0241255abaa07b8aa0ddff028f7315fe21.tar.gz", - "hash": "0isw55vz55pcpsyi27lx7i2wrvc9r5rbi6ndljcbn8rbmx36xlyq" + "revision": "f7bcd3cb4561f7d3a02ae9afafeda899c82f7108", + "url": "https://github.com/echasnovski/mini.diff/archive/f7bcd3cb4561f7d3a02ae9afafeda899c82f7108.tar.gz", + "hash": "1z2jklgm72mj4rpknl4s9kl22in2b40vx1k7psscz4b8d6ljh41m" }, "mini-doc": { "type": "Git", @@ -1094,9 +1094,9 @@ }, "branch": "main", "submodules": false, - "revision": "dc571df8f1f61debd59e200adfe7f701c0d67eca", - "url": "https://github.com/echasnovski/mini.extra/archive/dc571df8f1f61debd59e200adfe7f701c0d67eca.tar.gz", - "hash": "14zbqrwcxyhax10q082n4wqmqb3519i5kmj0zc8flwmswv742gyr" + "revision": "69ba107ac8712820f3ad391d327f62b57fead277", + "url": "https://github.com/echasnovski/mini.extra/archive/69ba107ac8712820f3ad391d327f62b57fead277.tar.gz", + "hash": "15q6q4laycfzb2rr2h948n61ybgv46cgcsgr8cjfwna4bby8gvj3" }, "mini-files": { "type": "Git", @@ -1107,9 +1107,9 @@ }, "branch": "main", "submodules": false, - "revision": "432142ada983ec5863ba480f0e4891b7d64ce3f6", - "url": "https://github.com/echasnovski/mini.files/archive/432142ada983ec5863ba480f0e4891b7d64ce3f6.tar.gz", - "hash": "0422sf8jx5sxws2kssi3ynynpmm1xpgk7i50dqml1kc8nymx4z5b" + "revision": "49c855977e9f4821d1ed8179ed44fe098b93ea2a", + "url": "https://github.com/echasnovski/mini.files/archive/49c855977e9f4821d1ed8179ed44fe098b93ea2a.tar.gz", + "hash": "12027xb9907zk145hsx6qniq1cjm8bm5405njq4cs9vx992pafsh" }, "mini-fuzzy": { "type": "Git", @@ -1198,9 +1198,9 @@ }, "branch": "main", "submodules": false, - "revision": "65bf2c55680d8be63d29ce0c5ee4e33031426115", - "url": "https://github.com/echasnovski/mini.jump/archive/65bf2c55680d8be63d29ce0c5ee4e33031426115.tar.gz", - "hash": "17ilfgsazwq20rw42am1jzxvcdzbzsk65jzsxa5s8zs65sx6rdch" + "revision": "aad72c99f446086b0a53b8a660a2d89d296be057", + "url": "https://github.com/echasnovski/mini.jump/archive/aad72c99f446086b0a53b8a660a2d89d296be057.tar.gz", + "hash": "1dsqpcr54sglr0x9mmp0xxpmrmgq10j0xpnj2dxvxabi9h1h179a" }, "mini-jump2d": { "type": "Git", @@ -1211,9 +1211,9 @@ }, "branch": "main", "submodules": false, - "revision": "c90f7f8cebf3282d0f0b228015fceefb841375c6", - "url": "https://github.com/echasnovski/mini.jump2d/archive/c90f7f8cebf3282d0f0b228015fceefb841375c6.tar.gz", - "hash": "04wv8q8g5p1sv6hdaq83rik9x7fq8ki4d617v5gk5d3nv0i6pqq0" + "revision": "6045bd61659d97926ba7ae5f9be8924e11c15079", + "url": "https://github.com/echasnovski/mini.jump2d/archive/6045bd61659d97926ba7ae5f9be8924e11c15079.tar.gz", + "hash": "1zk5y1gdkg8m1ncic0b0iqcp9k32pd1dklnw69jjwm30mxmixky8" }, "mini-map": { "type": "Git", @@ -1237,9 +1237,9 @@ }, "branch": "main", "submodules": false, - "revision": "f7252c5b8ff27d0856b91a410efe8e528370d919", - "url": "https://github.com/echasnovski/mini.misc/archive/f7252c5b8ff27d0856b91a410efe8e528370d919.tar.gz", - "hash": "02jrwcmbi74512240p8grlc9awivyihl6s71d60s46nslgqlnsqf" + "revision": "d92235cfb7b1bce2dfc21d06ee1a1a3d7e04b969", + "url": "https://github.com/echasnovski/mini.misc/archive/d92235cfb7b1bce2dfc21d06ee1a1a3d7e04b969.tar.gz", + "hash": "0cbq6kw58jiiy7f3fraxkskr1vpwmdnpv38pbywwfr8w1f6rf2fi" }, "mini-move": { "type": "Git", @@ -1276,9 +1276,9 @@ }, "branch": "main", "submodules": false, - "revision": "c6d87731f1a2c849888754347ffc5a1395bf2977", - "url": "https://github.com/echasnovski/mini.operators/archive/c6d87731f1a2c849888754347ffc5a1395bf2977.tar.gz", - "hash": "1ijnhxajpii17a1rz1avp1i5j35an2dq0ji28v2wrvaa0b5jg13a" + "revision": "b79a95958c57e127704bbeb1dc11a511954fc888", + "url": "https://github.com/echasnovski/mini.operators/archive/b79a95958c57e127704bbeb1dc11a511954fc888.tar.gz", + "hash": "0dyackl7a6kayk7chd3qm45j7h1pjf1r6qhbdl7m21dzdbp9c4s5" }, "mini-pairs": { "type": "Git", @@ -1302,9 +1302,9 @@ }, "branch": "main", "submodules": false, - "revision": "417c273861971b451687e847383e61687463b06e", - "url": "https://github.com/echasnovski/mini.pick/archive/417c273861971b451687e847383e61687463b06e.tar.gz", - "hash": "0xyw2wns9fpv1yxzflb18mmfajihy45g163q4bka0vylj77858xa" + "revision": "f02e64580a547346128799ba667dfc0e29737532", + "url": "https://github.com/echasnovski/mini.pick/archive/f02e64580a547346128799ba667dfc0e29737532.tar.gz", + "hash": "19aqwx8hisp5smj7qzgdzzcjz8k0p0vk21pxnnnxiv4w85d7s1zz" }, "mini-sessions": { "type": "Git", @@ -1354,9 +1354,9 @@ }, "branch": "main", "submodules": false, - "revision": "d8038690eadf203a40863c3a9423df880a901d39", - "url": "https://github.com/echasnovski/mini.starter/archive/d8038690eadf203a40863c3a9423df880a901d39.tar.gz", - "hash": "06rglm7m32lrgba47vb96kaxdsyz8pl2ivbr41m1swy3ihrv69y3" + "revision": "03a124f307ebfb9fd05a0e6503d30605c32a9e1a", + "url": "https://github.com/echasnovski/mini.starter/archive/03a124f307ebfb9fd05a0e6503d30605c32a9e1a.tar.gz", + "hash": "0c024xvdww9331bcfd3i7x8pp4phxkgqhnfv3fgld1imbnif1547" }, "mini-statusline": { "type": "Git", @@ -1471,9 +1471,9 @@ }, "branch": "main", "submodules": false, - "revision": "7c6ca20de4c9acb22ef06074e39fd2c021b99935", - "url": "https://github.com/mvllow/modes.nvim/archive/7c6ca20de4c9acb22ef06074e39fd2c021b99935.tar.gz", - "hash": "088bacsy76imlyd4njgrw7cg2l82dddr23g25qx81ihlaf3vmdjp" + "revision": "fc7bc0141500d9cf7c14f46fca846f728545a781", + "url": "https://github.com/mvllow/modes.nvim/archive/fc7bc0141500d9cf7c14f46fca846f728545a781.tar.gz", + "hash": "1vx3mdky29zh5410d8z1b6v1bb433ldmqmycqpapqs5zirxyf2ys" }, "multicursors-nvim": { "type": "GitRelease", @@ -1500,9 +1500,9 @@ }, "branch": "main", "submodules": false, - "revision": "71bfdeddc90225e281ce34c378dc1b5914f5018d", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/71bfdeddc90225e281ce34c378dc1b5914f5018d.tar.gz", - "hash": "0cm4y2idpmf7i6daa4wl5b6n5ldzqr3pqmh29rc645c1xk2y0b80" + "revision": "3f1dd2de5045659e00bfbe27c8aca3b52c1fdbde", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/3f1dd2de5045659e00bfbe27c8aca3b52c1fdbde.tar.gz", + "hash": "0mh0wv4x2pi6khwbp3fvi40n6hd3sz5ak81w9vf2xn3hh2z0mmqc" }, "neocord": { "type": "Git", @@ -1526,9 +1526,9 @@ }, "branch": "main", "submodules": false, - "revision": "8fdd9b2986acfb4ce310bebfc338111793862f00", - "url": "https://github.com/nvim-neorg/neorg/archive/8fdd9b2986acfb4ce310bebfc338111793862f00.tar.gz", - "hash": "0xv3aasbhambywp6idhz44nlsh3hlarw3j7wwx7wn1whm6xbwvf6" + "revision": "f8c932adf75ba65cd015cdbcf9ed1b96814cf55e", + "url": "https://github.com/nvim-neorg/neorg/archive/f8c932adf75ba65cd015cdbcf9ed1b96814cf55e.tar.gz", + "hash": "1qb8m299cxn1w3n7ix9rrf2by52rhljql9fz236han28680j3d6k" }, "neorg-telescope": { "type": "Git", @@ -1604,9 +1604,9 @@ }, "branch": "main", "submodules": false, - "revision": "a49f5a79cdb76e0dc1a98899c8598f4db014c5e7", - "url": "https://github.com/nvimtools/none-ls.nvim/archive/a49f5a79cdb76e0dc1a98899c8598f4db014c5e7.tar.gz", - "hash": "0x16saxsr3w3ivqpdjg05bkyfxzsiyfpsiwhyzsvqxg1qnkda3b2" + "revision": "db2a48b79cfcdab8baa5d3f37f21c78b6705c62e", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/db2a48b79cfcdab8baa5d3f37f21c78b6705c62e.tar.gz", + "hash": "0ii92d6si3habwkw4cd24s84xhi65apq1kagdj1j2q3kqcv7xxn0" }, "nord": { "type": "Git", @@ -1630,9 +1630,9 @@ }, "branch": "main", "submodules": false, - "revision": "8d5b0b568517935d3c84f257f272ef004d9f5a59", - "url": "https://github.com/MunifTanjim/nui.nvim/archive/8d5b0b568517935d3c84f257f272ef004d9f5a59.tar.gz", - "hash": "0z5md64qly2dzm9pq46ldid45l44mfwqk3r1hirk8lj6djyrxv9m" + "revision": "7cd18e73cfbd70e1546931b7268b3eebaeff9391", + "url": "https://github.com/MunifTanjim/nui.nvim/archive/7cd18e73cfbd70e1546931b7268b3eebaeff9391.tar.gz", + "hash": "0xl6qsl98ajzmk0wy7kf8q2vjqb30ci3dgwdcj376r87vwli6xd2" }, "nvim-autopairs": { "type": "Git", @@ -1708,9 +1708,9 @@ }, "branch": "master", "submodules": false, - "revision": "8df427aeba0a06c6577dc3ab82de3076964e3b8d", - "url": "https://github.com/mfussenegger/nvim-dap/archive/8df427aeba0a06c6577dc3ab82de3076964e3b8d.tar.gz", - "hash": "13d04z1dnkrhslq6s1xba5myqkgxar3i3p2lhqvpawicbba8yp22" + "revision": "b0f983507e3702f073bfe1516846e58b56d4e42f", + "url": "https://github.com/mfussenegger/nvim-dap/archive/b0f983507e3702f073bfe1516846e58b56d4e42f.tar.gz", + "hash": "17fcxlfkzh75q8sasjf21jbh18s78v9g80p5qrlgi0caqznj0hv7" }, "nvim-dap-go": { "type": "Git", @@ -1773,9 +1773,9 @@ }, "branch": "master", "submodules": false, - "revision": "9dfb77ef6c5092a19502883c02dc5a02ec648729", - "url": "https://github.com/mfussenegger/nvim-lint/archive/9dfb77ef6c5092a19502883c02dc5a02ec648729.tar.gz", - "hash": "0772bgl09jcrvvhvpic2b07qb21kf2pr479g792jlwbr5jfa1pa0" + "revision": "b47cbb249351873e3a571751c3fb66ed6369852f", + "url": "https://github.com/mfussenegger/nvim-lint/archive/b47cbb249351873e3a571751c3fb66ed6369852f.tar.gz", + "hash": "0cs6vs58p98fv6nmqsyik2kws6xnqbny79gl39mmyssm3z9mpps8" }, "nvim-lspconfig": { "type": "Git", @@ -1786,9 +1786,9 @@ }, "branch": "master", "submodules": false, - "revision": "46434074f188e6bfccf9d9153dd8be6b1381498b", - "url": "https://github.com/neovim/nvim-lspconfig/archive/46434074f188e6bfccf9d9153dd8be6b1381498b.tar.gz", - "hash": "0h13n1vjw6v8gp41yfc6qffbwwrxw81vcilkmxx9sim6671w5pzp" + "revision": "d45702594afc661a9dfa95e96acf18c56006d4d9", + "url": "https://github.com/neovim/nvim-lspconfig/archive/d45702594afc661a9dfa95e96acf18c56006d4d9.tar.gz", + "hash": "0rkbb0difvd68ihprsjvw59m6jlfdlpyqgamlfcfqn53yxawgbw3" }, "nvim-metals": { "type": "Git", @@ -1799,9 +1799,9 @@ }, "branch": "main", "submodules": false, - "revision": "04d8ce24638412a2c93dd79fecca4b2c7b9c07f9", - "url": "https://github.com/scalameta/nvim-metals/archive/04d8ce24638412a2c93dd79fecca4b2c7b9c07f9.tar.gz", - "hash": "19mdfn5ni35ldjmwdg25cwiy9cvkg2cxrdhcjr9xplx7ln6zsld9" + "revision": "d1639b7fccd845875e33444c7860ad292ab8670d", + "url": "https://github.com/scalameta/nvim-metals/archive/d1639b7fccd845875e33444c7860ad292ab8670d.tar.gz", + "hash": "1f6cgzs3vwqdva06jdcmyy5rldjlxg8x5fbdyq61hbl3xw5qjvsq" }, "nvim-navbuddy": { "type": "Git", @@ -1825,8 +1825,8 @@ }, "branch": "master", "submodules": false, - "revision": "d0a8c17c4dc721b00bc2ac305c6ffbb036beeb74", - "url": "https://github.com/SmiteshP/nvim-navic/archive/d0a8c17c4dc721b00bc2ac305c6ffbb036beeb74.tar.gz", + "revision": "f887d794a0f4594882814d7780980a949200a238", + "url": "https://github.com/SmiteshP/nvim-navic/archive/f887d794a0f4594882814d7780980a949200a238.tar.gz", "hash": "0mxsnwvrjirpy2ichsilx6207z55xi42syg5d3fdgs2r1p1npggc" }, "nvim-neoclip-lua": { @@ -1877,9 +1877,9 @@ }, "branch": "main", "submodules": false, - "revision": "6994eb9f73d5fdc36ee2c8717940e8c853e51a49", - "url": "https://github.com/petertriho/nvim-scrollbar/archive/6994eb9f73d5fdc36ee2c8717940e8c853e51a49.tar.gz", - "hash": "0h01gcaqgjkb2392zl2jwvlsh5qmz10k9sy5rhyz1kwizmw7nw7y" + "revision": "5b103ef0fd2e8b9b4be3878ed38d224522192c6c", + "url": "https://github.com/petertriho/nvim-scrollbar/archive/5b103ef0fd2e8b9b4be3878ed38d224522192c6c.tar.gz", + "hash": "1bh34njkvlbkjzy62w48rzjmliaj6lczgxxkks455r0w7yvfklv7" }, "nvim-surround": { "type": "Git", @@ -1890,9 +1890,9 @@ }, "branch": "main", "submodules": false, - "revision": "0e62500b98f4513feaaf7425c135472457ea5b7d", - "url": "https://github.com/kylechui/nvim-surround/archive/0e62500b98f4513feaaf7425c135472457ea5b7d.tar.gz", - "hash": "0rwzz98n8gyx2bffxg7ga7vxxxcc4crbwimvglx6bxkdg2abwyrn" + "revision": "8dd9150ca7eae5683660ea20cec86edcd5ca4046", + "url": "https://github.com/kylechui/nvim-surround/archive/8dd9150ca7eae5683660ea20cec86edcd5ca4046.tar.gz", + "hash": "1r7kvq8sa7g3vhj6d885jgq04xpk3xn21zn1sb9lbffdkxxkqs2k" }, "nvim-tree-lua": { "type": "Git", @@ -1903,9 +1903,9 @@ }, "branch": "master", "submodules": false, - "revision": "582ae48c9e43d2bcd55dfcc8e2e7a1f29065d924", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/582ae48c9e43d2bcd55dfcc8e2e7a1f29065d924.tar.gz", - "hash": "1xpal45q4mvplvgz06z4wzsq1ml5awv8v4m0k9jh9s4xlnc0va24" + "revision": "ebcaccda1c575fa19a8087445276e6671e2b9b37", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/ebcaccda1c575fa19a8087445276e6671e2b9b37.tar.gz", + "hash": "1x1yw3xjpn2g0qxsniyjq4pxkccycbz499mwp9m6h8xdyhbafsvg" }, "nvim-treesitter-context": { "type": "Git", @@ -1916,9 +1916,9 @@ }, "branch": "master", "submodules": false, - "revision": "6daca3ad780f045550b820f262002f35175a6c04", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/6daca3ad780f045550b820f262002f35175a6c04.tar.gz", - "hash": "0qprwd44hw9sz0vh14p6lpvs9vxrick462pfkradmal6ak1kfwn3" + "revision": "153a076598076bf5664ab868fb01d3418ecffce9", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/153a076598076bf5664ab868fb01d3418ecffce9.tar.gz", + "hash": "0l57jpnx5nfmddrsrnsj2wxfn4xl2fp5xghhjrdbhp8rg0xm6qn8" }, "nvim-treesitter-textobjects": { "type": "Git", @@ -1929,9 +1929,9 @@ }, "branch": "master", "submodules": false, - "revision": "0e3be38005e9673d044e994b1e4b123adb040179", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/archive/0e3be38005e9673d044e994b1e4b123adb040179.tar.gz", - "hash": "0y93pj3asarw7jhk4cdphhx6awxdyiwajc0n9nr4836gn48qcs85" + "revision": "0f051e9813a36481f48ca1f833897210dbcfffde", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/archive/0f051e9813a36481f48ca1f833897210dbcfffde.tar.gz", + "hash": "1vy2ihqknjrbmn4lw81hvhhqdg1pc2wc32ir96506bb3d273am7b" }, "nvim-ts-autotag": { "type": "Git", @@ -1955,9 +1955,9 @@ }, "branch": "main", "submodules": false, - "revision": "cac999ec9f6302d2fd4ad8a846bf8f731af6e7cf", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/cac999ec9f6302d2fd4ad8a846bf8f731af6e7cf.tar.gz", - "hash": "14lvlv1wmbpw0dpyfz3gq7k760ip1903w5ibajqiaflw06afv4pn" + "revision": "3c7a3570e9c9dc198a2ad4491b0b0e51c4d4ba08", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/3c7a3570e9c9dc198a2ad4491b0b0e51c4d4ba08.tar.gz", + "hash": "1akbq1nsm71snjx6n37070ycmhh46n5lqlvz6625zgsfg272fnz2" }, "nvim-web-devicons": { "type": "Git", @@ -1968,9 +1968,9 @@ }, "branch": "master", "submodules": false, - "revision": "2c2b4eafce6cdd0cb165036faa17396eff18f847", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/2c2b4eafce6cdd0cb165036faa17396eff18f847.tar.gz", - "hash": "11yp02zg60gdmqa6rdk3rjn704k2kvjcs41w85y01b68k36w7pw2" + "revision": "1fb58cca9aebbc4fd32b086cb413548ce132c127", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/1fb58cca9aebbc4fd32b086cb413548ce132c127.tar.gz", + "hash": "0c69c4rwrrq9j5gwa17br5hpg28hvgl00apz06qgh5w2lwaxw4gr" }, "obsidian-nvim": { "type": "Git", @@ -2020,9 +2020,9 @@ }, "branch": "master", "submodules": false, - "revision": "0e5512d1bebd1f08954710086f87a5caa173a924", - "url": "https://github.com/navarasu/onedark.nvim/archive/0e5512d1bebd1f08954710086f87a5caa173a924.tar.gz", - "hash": "14ixrvcp3h06kngq5ji54lf2l10k33vrmzs609xf7sqdy6rflm4j" + "revision": "11de4da47f3e69cb70c3ae9816bd8af166cbe121", + "url": "https://github.com/navarasu/onedark.nvim/archive/11de4da47f3e69cb70c3ae9816bd8af166cbe121.tar.gz", + "hash": "1cqpd4yvcd6szbs95kxxr77mhfvgxcpjfybw8chlnnnwxxyh1k54" }, "orgmode": { "type": "Git", @@ -2033,9 +2033,9 @@ }, "branch": "master", "submodules": false, - "revision": "15d66ead1285d99f8a21c4ef4874ac62e9320fe6", - "url": "https://github.com/nvim-orgmode/orgmode/archive/15d66ead1285d99f8a21c4ef4874ac62e9320fe6.tar.gz", - "hash": "05h766qj1vid5rs1mv8aiv6rsfrp0md9605sfr9vycip1rd8csgy" + "revision": "55b68bbdfd22588d767f4401a3304df5d7427e19", + "url": "https://github.com/nvim-orgmode/orgmode/archive/55b68bbdfd22588d767f4401a3304df5d7427e19.tar.gz", + "hash": "03ywkg95c48bmpfqlc1ndzin09wfhzqgjv8mfjjz0ksh8xh8xv0l" }, "otter-nvim": { "type": "Git", @@ -2046,9 +2046,9 @@ }, "branch": "main", "submodules": false, - "revision": "a7766be1592bfa9e88e67512646e343d0b4b2ff5", - "url": "https://github.com/jmbuhr/otter.nvim/archive/a7766be1592bfa9e88e67512646e343d0b4b2ff5.tar.gz", - "hash": "18lcqr5qpa50jxmh5h53k0bsz0n3lzbihi8dchww3kz64b52hl5p" + "revision": "fa436071c67233e6cd466268212feaf4ff4ed406", + "url": "https://github.com/jmbuhr/otter.nvim/archive/fa436071c67233e6cd466268212feaf4ff4ed406.tar.gz", + "hash": "0i8bkgyh8zaszm15h8lznd9ik1fh0l0mdcwyam4mnn4q0nhjqznb" }, "oxocarbon": { "type": "Git", @@ -2163,9 +2163,9 @@ }, "branch": "main", "submodules": false, - "revision": "57c7f33f276876c994898683680da9e3a3590d0d", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/57c7f33f276876c994898683680da9e3a3590d0d.tar.gz", - "hash": "1lfypdqyka5idrkr3w62vx7j6p75r3ld7sz5i40y41svglnxyrsj" + "revision": "df64d5d5432e13026a79384ec4e2bab185fd4eb5", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/df64d5d5432e13026a79384ec4e2bab185fd4eb5.tar.gz", + "hash": "1pdl0s2k3sjlzdw1w6fv5cil51nkm4c6yjidp1xly94qjxwj6sv4" }, "rose-pine": { "type": "Git", @@ -2176,9 +2176,9 @@ }, "branch": "main", "submodules": false, - "revision": "614892e32e94378d976a238f287532cfe790c1fe", - "url": "https://github.com/rose-pine/neovim/archive/614892e32e94378d976a238f287532cfe790c1fe.tar.gz", - "hash": "1pi5z81xkgkx8yyfjfjj0hg66v2zcj04gxxbf5q2lqz70xcs3cgk" + "revision": "6b9840790cc7acdfadde07f308d34b62dd9cc675", + "url": "https://github.com/rose-pine/neovim/archive/6b9840790cc7acdfadde07f308d34b62dd9cc675.tar.gz", + "hash": "00f48nm3scap86vh0k5zs1vls0hb2qnjpiwsr54c6dpbycxq0yx3" }, "rtp-nvim": { "type": "Git", @@ -2215,9 +2215,9 @@ }, "branch": "master", "submodules": false, - "revision": "4b8c2edb55f548ed9c683f88dde2ffb235413b03", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/4b8c2edb55f548ed9c683f88dde2ffb235413b03.tar.gz", - "hash": "0d3kwvwj5cppwypvg8iasn5f8rviqyskkgh1wafs7chjm32dm4gb" + "revision": "eaa8d3dc22026da53fbb1b63f504541c70de44f4", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/eaa8d3dc22026da53fbb1b63f504541c70de44f4.tar.gz", + "hash": "0wkpj6nd48k4gi7z82wfr5686nlp2g4s335zjgn5mkra0cfgflh7" }, "smartcolumn-nvim": { "type": "Git", @@ -2296,9 +2296,9 @@ }, "branch": "master", "submodules": false, - "revision": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5", - "url": "https://github.com/nvim-telescope/telescope.nvim/archive/a4ed82509cecc56df1c7138920a1aeaf246c0ac5.tar.gz", - "hash": "0vc2fr5nhbc39d55zn09fh8zpy4472ic4xmwvmk5dda8fqw76p8q" + "revision": "b4da76be54691e854d3e0e02c36b0245f945c2c7", + "url": "https://github.com/nvim-telescope/telescope.nvim/archive/b4da76be54691e854d3e0e02c36b0245f945c2c7.tar.gz", + "hash": "161qlx099ymi62qsd89srda605ynks1sswx3djamrwqp3dxb9596" }, "tiny-devicons-auto-colors-nvim": { "type": "Git", @@ -2426,9 +2426,9 @@ }, "branch": "master", "submodules": false, - "revision": "fbc16dee336d8cc0d3d2382ea4a53f4a29725abf", - "url": "https://github.com/RRethy/vim-illuminate/archive/fbc16dee336d8cc0d3d2382ea4a53f4a29725abf.tar.gz", - "hash": "072kgd7h7cjq4hskczxl60nsx3jpww9l7ypafcwk833ypahz899i" + "revision": "0d1e93684da00ab7c057410fecfc24f434698898", + "url": "https://github.com/RRethy/vim-illuminate/archive/0d1e93684da00ab7c057410fecfc24f434698898.tar.gz", + "hash": "0456q474765p0r0q7frn1n9drl05d16alv7kn9qnw1235d20k81a" }, "vim-markdown": { "type": "Git", From e6d30cf9d96ddcba6d5f571133289ffbb32ebcc5 Mon Sep 17 00:00:00 2001 From: Michael Utz Date: Fri, 30 May 2025 11:02:32 +0300 Subject: [PATCH 161/271] Add "auto" flavour for catppuccin theme This is actually the default value for the plugin. https://github.com/catppuccin/nvim?tab=readme-ov-file#configuration --- modules/plugins/theme/supported-themes.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index 9c5e380c..237e9470 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -95,7 +95,7 @@ in { -- setup must be called before loading vim.cmd.colorscheme "catppuccin" ''; - styles = ["latte" "frappe" "macchiato" "mocha"]; + styles = ["auto" "latte" "frappe" "macchiato" "mocha"]; }; oxocarbon = { From b1e2801ee31e81ea46d233f018593be90a6bb04c Mon Sep 17 00:00:00 2001 From: Michael Utz Date: Fri, 30 May 2025 18:02:25 +0300 Subject: [PATCH 162/271] Add change log entry --- docs/release-notes/rl-0.5.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/release-notes/rl-0.5.md b/docs/release-notes/rl-0.5.md index 910c93d5..b5d771af 100644 --- a/docs/release-notes/rl-0.5.md +++ b/docs/release-notes/rl-0.5.md @@ -4,6 +4,10 @@ Release notes for release 0.5 ## Changelog {#sec-release-0.5-changelog} +[theutz](https://github.com/theutz): + +- Added "auto" flavour for catppuccin theme + [vagahbond](https://github.com/vagahbond): - Added phan language server for PHP From e78ebe06807acc47fde6d33c99292548ccb598ae Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 27 May 2025 07:44:18 +0300 Subject: [PATCH 163/271] assistant/codecompanion: also add YAML tree-sitter grammar when enabled --- modules/plugins/assistant/codecompanion/config.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/plugins/assistant/codecompanion/config.nix b/modules/plugins/assistant/codecompanion/config.nix index 08fc8cb2..fa863b74 100644 --- a/modules/plugins/assistant/codecompanion/config.nix +++ b/modules/plugins/assistant/codecompanion/config.nix @@ -21,7 +21,17 @@ in { }; }; - treesitter.enable = true; + treesitter = { + enable = true; + + # Codecompanion depends on the YAML grammar being added. Below is + # an easy way of adding an user-configurable grammar package exposed + # by the YAML language module *without* enabling the whole YAML language + # module. The package is defined even when the module is disabled. + grammars = [ + config.vim.languages.yaml.treesitter.package + ]; + }; autocomplete.nvim-cmp = { sources = {codecompanion-nvim = "[codecompanion]";}; From 7095c4d49f5ea50bcbe78beca18e56592364f778 Mon Sep 17 00:00:00 2001 From: Michael Utz Date: Mon, 2 Jun 2025 10:59:38 +0300 Subject: [PATCH 164/271] Move changelog entry to proper release --- docs/release-notes/rl-0.5.md | 4 ---- docs/release-notes/rl-0.8.md | 5 +++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/rl-0.5.md b/docs/release-notes/rl-0.5.md index b5d771af..910c93d5 100644 --- a/docs/release-notes/rl-0.5.md +++ b/docs/release-notes/rl-0.5.md @@ -4,10 +4,6 @@ Release notes for release 0.5 ## Changelog {#sec-release-0.5-changelog} -[theutz](https://github.com/theutz): - -- Added "auto" flavour for catppuccin theme - [vagahbond](https://github.com/vagahbond): - Added phan language server for PHP diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 385eb548..ec5d1e14 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -415,3 +415,8 @@ - Add Clojure support under `vim.languages.clojure` using [clojure-lsp] - Add code evaluation environment [conjure] under `vim.repl.conjure` + +[theutz](https://github.com/theutz): + +- Added "auto" flavour for catppuccin theme + From 988f034236063f4f35d557eb5cba61e23743f18c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20=C3=98stermark?= Date: Tue, 3 Jun 2025 15:20:28 +0200 Subject: [PATCH 165/271] delete build deps --- flake/avante-nvim/default.nix | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/flake/avante-nvim/default.nix b/flake/avante-nvim/default.nix index 513a3117..c048c4f8 100644 --- a/flake/avante-nvim/default.nix +++ b/flake/avante-nvim/default.nix @@ -45,21 +45,6 @@ in pname = "avante-nvim"; inherit version src; - dependencies = - [vimPlugins.nvim-treesitter] - ++ (builtins.map (name: let - pin = pins.${name}; - in - pkgs.fetchFromGitHub { - inherit (pin.repository) owner repo; - rev = pin.revision; - sha256 = pin.hash; - }) [ - "dressing-nvim" - "plenary-nvim" - "nui-nvim" - ]); - postInstall = let ext = stdenv.hostPlatform.extensions.sharedLibrary; in '' From 48d5fbfa32f3675fa6d8175ff109ed546645809c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20=C3=98stermark?= Date: Tue, 3 Jun 2025 21:13:49 +0200 Subject: [PATCH 166/271] fix spelling mistake --- modules/wrapper/rc/options.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 02729401..028d903e 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -11,7 +11,7 @@ in { description = '' [official documentation]: https://neovim.io/doc/user/lua.html#vim.loader.enable() - Whethere to enable the experimental Lua module loader to speed up the start + Whether to enable the experimental Lua module loader to speed up the start up process. If `true`, this will enable the experimental Lua module loader which: From 144ab18dbd978a448da42508a9fd8088d4f0211c Mon Sep 17 00:00:00 2001 From: Callum Date: Sun, 1 Jun 2025 11:12:02 +0100 Subject: [PATCH 167/271] Fix OneDark transparancy issue --- modules/plugins/theme/supported-themes.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index 9c5e380c..9c1bf03a 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -21,9 +21,14 @@ in { ''; }; onedark = { - setup = {style ? "dark", ...}: '' + setup = { + style ? "dark", + transparent, + ... + }: '' -- OneDark theme require('onedark').setup { + transparent = ${boolToString transparent}, style = "${style}" } require('onedark').load() From 412d786325d38103918ad973f2af22369c7fb257 Mon Sep 17 00:00:00 2001 From: Callum Date: Tue, 3 Jun 2025 12:02:53 +0100 Subject: [PATCH 168/271] Document onedark change in release notes. --- docs/release-notes/rl-0.8.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index eb9e1f74..7ecb1085 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -418,3 +418,8 @@ - Add Clojure support under `vim.languages.clojure` using [clojure-lsp] - Add code evaluation environment [conjure] under `vim.repl.conjure` + +[CallumGilly](https://github.com/CallumGilly): + +- Add missing `transparent` option for existing + [onedark.nvim](https://github.com/navarasu/onedark.nvim) theme. From f04ad1fff5428fbf989003cdc7c1262d9951ff9d Mon Sep 17 00:00:00 2001 From: Martin Treml Date: Tue, 3 Jun 2025 23:31:58 +0200 Subject: [PATCH 169/271] fix, Add dependencies needed for building Avante Fixes #933 --- flake/avante-nvim/default.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/flake/avante-nvim/default.nix b/flake/avante-nvim/default.nix index c048c4f8..513a3117 100644 --- a/flake/avante-nvim/default.nix +++ b/flake/avante-nvim/default.nix @@ -45,6 +45,21 @@ in pname = "avante-nvim"; inherit version src; + dependencies = + [vimPlugins.nvim-treesitter] + ++ (builtins.map (name: let + pin = pins.${name}; + in + pkgs.fetchFromGitHub { + inherit (pin.repository) owner repo; + rev = pin.revision; + sha256 = pin.hash; + }) [ + "dressing-nvim" + "plenary-nvim" + "nui-nvim" + ]); + postInstall = let ext = stdenv.hostPlatform.extensions.sharedLibrary; in '' From ab1385ffb9aaa30512b6b6c4eb1b3d9f393d82ab Mon Sep 17 00:00:00 2001 From: Jan-Henrik Damaschke Date: Wed, 4 Jun 2025 02:30:52 +0200 Subject: [PATCH 170/271] fix(blink-cmp): Added "cmdline" preset type --- modules/plugins/completion/blink-cmp/blink-cmp.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/completion/blink-cmp/blink-cmp.nix b/modules/plugins/completion/blink-cmp/blink-cmp.nix index 27a026ad..d9e9945b 100644 --- a/modules/plugins/completion/blink-cmp/blink-cmp.nix +++ b/modules/plugins/completion/blink-cmp/blink-cmp.nix @@ -10,7 +10,7 @@ freeformType = attrsOf (listOf (either str luaInline)); options = { preset = mkOption { - type = enum ["default" "none" "super-tab" "enter"]; + type = enum ["default" "none" "super-tab" "enter" "cmdline"]; default = "none"; description = "keymap presets"; }; From 1c744f778da85bb08bc3780e530ea3a08b733530 Mon Sep 17 00:00:00 2001 From: Martin Treml Date: Fri, 6 Jun 2025 17:35:57 +0200 Subject: [PATCH 171/271] avante-nvim, Remove not necessary dependencies in plugin build --- flake/avante-nvim/default.nix | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/flake/avante-nvim/default.nix b/flake/avante-nvim/default.nix index 513a3117..3991d16b 100644 --- a/flake/avante-nvim/default.nix +++ b/flake/avante-nvim/default.nix @@ -1,16 +1,14 @@ { - nix-update-script, openssl, pkg-config, rustPlatform, stdenv, - vimPlugins, vimUtils, makeWrapper, pkgs, version, src, - pins, + ... }: let inherit version src; avante-nvim-lib = rustPlatform.buildRustPackage { @@ -45,20 +43,7 @@ in pname = "avante-nvim"; inherit version src; - dependencies = - [vimPlugins.nvim-treesitter] - ++ (builtins.map (name: let - pin = pins.${name}; - in - pkgs.fetchFromGitHub { - inherit (pin.repository) owner repo; - rev = pin.revision; - sha256 = pin.hash; - }) [ - "dressing-nvim" - "plenary-nvim" - "nui-nvim" - ]); + doCheck = false; postInstall = let ext = stdenv.hostPlatform.extensions.sharedLibrary; From 0e8c165a8ae5edd46336730f5a7f51a5f7f368e2 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 6 Jun 2025 21:07:36 +0300 Subject: [PATCH 172/271] flake: bump inputs --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 5e02cd43..6f8bd916 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1748821116, + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", "type": "github" }, "original": { @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1748278309, - "narHash": "sha256-JCeiMrUhFku44kfKsgiD9Ibzho4MblBD2WmOQYsQyTY=", + "lastModified": 1748710831, + "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=", "owner": "Gerg-L", "repo": "mnw", - "rev": "486a17ba1279ab2357cae8ff66b309db622f8831", + "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748217807, - "narHash": "sha256-P3u2PXxMlo49PutQLnk2PhI/imC69hFl1yY4aT5Nax8=", + "lastModified": 1749174413, + "narHash": "sha256-urN9UMK5cd1dzhR+Lx0xHeTgBp2MatA5+6g9JaxjuQs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3108eaa516ae22c2360928589731a4f1581526ef", + "rev": "6ad174a6dc07c7742fc64005265addf87ad08615", "type": "github" }, "original": { @@ -93,11 +93,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1743296961, - "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", "type": "github" }, "original": { From c00dacd398f43b003aa7a3bba4b9a568c1eb80be Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 6 Jun 2025 21:07:55 +0300 Subject: [PATCH 173/271] modules: `nodePackages.prettier` -> `prettier` --- modules/plugins/languages/astro.nix | 2 +- modules/plugins/languages/css.nix | 2 +- modules/plugins/languages/svelte.nix | 2 +- modules/plugins/languages/ts.nix | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index b7a69bda..e1ae8f9d 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -38,7 +38,7 @@ defaultFormat = "prettier"; formats = { prettier = { - package = pkgs.nodePackages.prettier; + package = pkgs.prettier; }; prettierd = { diff --git a/modules/plugins/languages/css.nix b/modules/plugins/languages/css.nix index 0147fba3..1075bbc7 100644 --- a/modules/plugins/languages/css.nix +++ b/modules/plugins/languages/css.nix @@ -42,7 +42,7 @@ defaultFormat = "prettier"; formats = { prettier = { - package = pkgs.nodePackages.prettier; + package = pkgs.prettier; }; prettierd = { diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index 08a807c7..4eb84176 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -38,7 +38,7 @@ defaultFormat = "prettier"; formats = { prettier = { - package = pkgs.nodePackages.prettier; + package = pkgs.prettier; }; biome = { diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index b9971488..2939e2f3 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -76,7 +76,7 @@ defaultFormat = "prettier"; formats = { prettier = { - package = pkgs.nodePackages.prettier; + package = pkgs.prettier; }; prettierd = { From eacce4eb022171211baaad7ba7fc6cf561773f0e Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 6 Jun 2025 21:08:03 +0300 Subject: [PATCH 174/271] pins: bump all plugins --- npins/sources.json | 270 ++++++++++++++++++++++----------------------- 1 file changed, 135 insertions(+), 135 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index d07e0484..f98d517e 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -9,9 +9,9 @@ }, "branch": "master", "submodules": false, - "revision": "2e00d1d4248f08dddfceacb8d2996e51e13e00f6", - "url": "https://github.com/stevearc/aerial.nvim/archive/2e00d1d4248f08dddfceacb8d2996e51e13e00f6.tar.gz", - "hash": "18rhmpqs8440hn4g5786znj37fzb01wa3zws33rlq9vm6sfb0grw" + "revision": "5c0df1679bf7c814c924dc6646cc5291daca8363", + "url": "https://github.com/stevearc/aerial.nvim/archive/5c0df1679bf7c814c924dc6646cc5291daca8363.tar.gz", + "hash": "1dhsg3bli32d0p36c9f1i95p7h9hn5czr1zwlcd3v926qzj9wp1j" }, "alpha-nvim": { "type": "Git", @@ -35,9 +35,9 @@ }, "branch": "main", "submodules": false, - "revision": "f9aa75459d403d9e963ef2647c9791e0dfc9e5f9", - "url": "https://github.com/yetone/avante.nvim/archive/f9aa75459d403d9e963ef2647c9791e0dfc9e5f9.tar.gz", - "hash": "1qgdxapmw24zkx3d4cwv6f459p2a6dw7pvx7sa3650px2n75bb31" + "revision": "2dd4c040880b271861369b361489a2d418d42648", + "url": "https://github.com/yetone/avante.nvim/archive/2dd4c040880b271861369b361489a2d418d42648.tar.gz", + "hash": "01j92m0qhd5g6m92rp0qnr4vqqgfrhbx91jbrrcjj1npizynxjm1" }, "base16": { "type": "Git", @@ -48,9 +48,9 @@ }, "branch": "master", "submodules": false, - "revision": "f9ce7474c54803cb0fa308b0b91549d394a07940", - "url": "https://github.com/rrethy/base16-nvim/archive/f9ce7474c54803cb0fa308b0b91549d394a07940.tar.gz", - "hash": "1d575pa225ws5rhabr17if5pl8vfy1ks1a9w3rx7f47vdk8ars4m" + "revision": "5d0fcd834d48048822e36221ab067bedb3ef5c93", + "url": "https://github.com/rrethy/base16-nvim/archive/5d0fcd834d48048822e36221ab067bedb3ef5c93.tar.gz", + "hash": "035j1x44sjk0vhcbp18nm1lq32z8ra8qp8wlij3382mai8jrrb06" }, "blink-cmp-spell": { "type": "Git", @@ -74,9 +74,9 @@ }, "branch": "main", "submodules": false, - "revision": "f1836ed7a07f8d082ff6c3fbae1e476ba2adee84", - "url": "https://github.com/saghen/blink.compat/archive/f1836ed7a07f8d082ff6c3fbae1e476ba2adee84.tar.gz", - "hash": "0b22c943vbxn8cgfc3m0wmmia9rja6x766ywa798nx7s7x0sd53x" + "revision": "1454f14a8d855a578ceeba77c62538fa1459a67c", + "url": "https://github.com/saghen/blink.compat/archive/1454f14a8d855a578ceeba77c62538fa1459a67c.tar.gz", + "hash": "132w0z919fvj5wmjyfkpr59f6pidg522l4hsf2c03033d3xh5i0h" }, "blink-emoji-nvim": { "type": "Git", @@ -100,9 +100,9 @@ }, "branch": "main", "submodules": false, - "revision": "a910b62c896eee2d0e74eb48b3ff5eedd211db69", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/a910b62c896eee2d0e74eb48b3ff5eedd211db69.tar.gz", - "hash": "0xinh3rxjrglkzgw9d80x1scl20h2gxzkl3f3cjzpz04rrr6slsm" + "revision": "3b146c70869c3f42c623341ad8befe9a073087a6", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/3b146c70869c3f42c623341ad8befe9a073087a6.tar.gz", + "hash": "0058rns7sgkzsfkgdqlx51bi04fn6hxv4ddl8g32mpq27dji13pn" }, "bufdelete-nvim": { "type": "Git", @@ -126,9 +126,9 @@ }, "branch": "main", "submodules": false, - "revision": "56a9dfd1e05868cf3189369aad87242941396563", - "url": "https://github.com/catppuccin/nvim/archive/56a9dfd1e05868cf3189369aad87242941396563.tar.gz", - "hash": "082rlnsxm1ip5mhpgc37nyp96s2hmvkcd4cbbvsvzdghiq4kl51b" + "revision": "a0c769bc7cd04bbbf258b3d5f01e2bdce744108d", + "url": "https://github.com/catppuccin/nvim/archive/a0c769bc7cd04bbbf258b3d5f01e2bdce744108d.tar.gz", + "hash": "08qv1had0gi2hzd854j7xyq3s3z9bvf1x40bav05ll52xkksn5vx" }, "ccc-nvim": { "type": "Git", @@ -269,9 +269,9 @@ }, "branch": "main", "submodules": false, - "revision": "9edf22cb71711cd7fab7671a25ed5424011a379d", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/9edf22cb71711cd7fab7671a25ed5424011a379d.tar.gz", - "hash": "1a23ra7q2aqa7raxa9jzgj852pz4bxkjr1k8qhh68lvrimmj0b73" + "revision": "01b2841d7791376e23728d9faf657fe999e6c209", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/01b2841d7791376e23728d9faf657fe999e6c209.tar.gz", + "hash": "1j8jdn89255c9jalffajhv8sqjlxgjqshhpb026qzn8j93rs19c6" }, "codewindow-nvim": { "type": "Git", @@ -308,9 +308,9 @@ }, "branch": "master", "submodules": false, - "revision": "6feb2f28f9a9385e401857b21eeac3c1b66dd628", - "url": "https://github.com/stevearc/conform.nvim/archive/6feb2f28f9a9385e401857b21eeac3c1b66dd628.tar.gz", - "hash": "1vfjv81b27qja3byfzskv1y57jsqwy6y0mac1ry7xpdbnva3vxwc" + "revision": "0e93e0d12d2f7ebdea9e3e444dfaff0050cefbe6", + "url": "https://github.com/stevearc/conform.nvim/archive/0e93e0d12d2f7ebdea9e3e444dfaff0050cefbe6.tar.gz", + "hash": "0hvpvk0gs76b9sfzrzhmrq9d7rab3ldim0vf18qf424xl72fbw8b" }, "copilot-cmp": { "type": "Git", @@ -334,9 +334,9 @@ }, "branch": "master", "submodules": false, - "revision": "a620a5a97b73faba009a8160bab2885316e1451c", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/a620a5a97b73faba009a8160bab2885316e1451c.tar.gz", - "hash": "0n3zkqnf5dqj6rdgf6nq50mjj7j5ngz4fzphfa13r7y8s5j0f6az" + "revision": "c1bb86abbed1a52a11ab3944ef00c8410520543d", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/c1bb86abbed1a52a11ab3944ef00c8410520543d.tar.gz", + "hash": "11w41p4wah0w6f1lyhrr214h761rcic7nfnriszk2b25q4ifj4db" }, "crates-nvim": { "type": "Git", @@ -347,9 +347,9 @@ }, "branch": "main", "submodules": false, - "revision": "25f31372ab6f504d4fd7cfee836ad459caed8e68", - "url": "https://github.com/Saecki/crates.nvim/archive/25f31372ab6f504d4fd7cfee836ad459caed8e68.tar.gz", - "hash": "0vxgvnm5z9zpriplqq2q17c4v7ccmpc9f5wl02wpslfvwrfc6h2h" + "revision": "5d8b1bef686db0fabe5f1bb593744b617e8f1405", + "url": "https://github.com/Saecki/crates.nvim/archive/5d8b1bef686db0fabe5f1bb593744b617e8f1405.tar.gz", + "hash": "1zy81gdfis2wmhhsi1qjnmxpfpsviscwdyypnnccqhp7z3lwcf5h" }, "csharpls-extended-lsp-nvim": { "type": "Git", @@ -360,9 +360,9 @@ }, "branch": "master", "submodules": false, - "revision": "9cdc993347cfb51d102bf5da1ebf6bf4fc4683e4", - "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/9cdc993347cfb51d102bf5da1ebf6bf4fc4683e4.tar.gz", - "hash": "0ls3m94qk4vjwki7bjrf4di9fiwvh9hhkahav28c3nz14j559gs4" + "revision": "79ea71655a705be38a113809d7e9e15aaa0695b2", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/79ea71655a705be38a113809d7e9e15aaa0695b2.tar.gz", + "hash": "1a4igb5ldhw3wnhbf06fn97qgxfgmnqz86ss6ycc9y4g7jaj0bi7" }, "dashboard-nvim": { "type": "Git", @@ -373,9 +373,9 @@ }, "branch": "master", "submodules": false, - "revision": "0f99b3cd66b9fde13926724c67c6e1abeb48e07d", - "url": "https://github.com/glepnir/dashboard-nvim/archive/0f99b3cd66b9fde13926724c67c6e1abeb48e07d.tar.gz", - "hash": "0s0i568nj4mkq0q29gjj9cm050p7n8b2jykbkyl7qajc1piwa93x" + "revision": "c42fcfbd96dfcaa486c0a0ab52494316f1c31350", + "url": "https://github.com/glepnir/dashboard-nvim/archive/c42fcfbd96dfcaa486c0a0ab52494316f1c31350.tar.gz", + "hash": "1lydgxs3j1jbyrn1ybpm43l7wfbix9mlvymb2frg93dlg0gw4zd3" }, "diffview-nvim": { "type": "Git", @@ -438,9 +438,9 @@ }, "branch": "main", "submodules": false, - "revision": "6beae8194152e2d8b4a59de19a3e60c1f7ffcff5", - "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/6beae8194152e2d8b4a59de19a3e60c1f7ffcff5.tar.gz", - "hash": "0kncq60x3kvy4plszq4zygrsy6cyzf43g2xgzqwif88i85ki7zq6" + "revision": "eeb2b5a2e99e1646861a104f108c5818dd3973dc", + "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/eeb2b5a2e99e1646861a104f108c5818dd3973dc.tar.gz", + "hash": "1l0xjis8jp5mf3v42f9xsjmwpjskf6zk6brpr8l39sp1bjn9z4x7" }, "fastaction-nvim": { "type": "Git", @@ -451,9 +451,9 @@ }, "branch": "main", "submodules": false, - "revision": "6b4205aa380b1f118b7b4f6d004d3704b73d0d23", - "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/6b4205aa380b1f118b7b4f6d004d3704b73d0d23.tar.gz", - "hash": "1xa78afcnlvvvdp10bhy13sqyscl1z1n8s40jhdfqy42i98qqqnj" + "revision": "f9a986b84a6da2a5ebbe57bbda7762d06f1ac64d", + "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/f9a986b84a6da2a5ebbe57bbda7762d06f1ac64d.tar.gz", + "hash": "15jxrif7qkgj7fadvby95y2b2cav90f7dilhjyj6117ky9yxlr8w" }, "fidget-nvim": { "type": "Git", @@ -490,9 +490,9 @@ }, "branch": "main", "submodules": false, - "revision": "d5bb1dc3db78d7ab65dd8c5a6f32a38e383b9cb1", - "url": "https://github.com/akinsho/flutter-tools.nvim/archive/d5bb1dc3db78d7ab65dd8c5a6f32a38e383b9cb1.tar.gz", - "hash": "046fk727prhav2aha62ak50qvc3mmv8sc438hkhhd1ql3ilb7jrr" + "revision": "d1022db80dab2a565563993843e8c60b20a3df39", + "url": "https://github.com/akinsho/flutter-tools.nvim/archive/d1022db80dab2a565563993843e8c60b20a3df39.tar.gz", + "hash": "16dmlag0sakzsiamms30nwq7vxrr8mwq777cgc9z3liikd81kx7h" }, "friendly-snippets": { "type": "Git", @@ -516,9 +516,9 @@ }, "branch": "main", "submodules": false, - "revision": "a3e614173397e947bc2755c8c90633ff57f93c1e", - "url": "https://github.com/ibhagwan/fzf-lua/archive/a3e614173397e947bc2755c8c90633ff57f93c1e.tar.gz", - "hash": "03vh73ss0xm5sw392w3crmh5y60ajpn2b8ipnpslch2vaf155x6z" + "revision": "70a1c1d266af2ea4d1d9c16e09c60d3fc8c5aa5f", + "url": "https://github.com/ibhagwan/fzf-lua/archive/70a1c1d266af2ea4d1d9c16e09c60d3fc8c5aa5f.tar.gz", + "hash": "1df1j9b3rjhqyyz3nfdm9agw37w2pn384skr8jg4q4a7vjpdmh2a" }, "gesture-nvim": { "type": "Git", @@ -581,9 +581,9 @@ }, "branch": "main", "submodules": false, - "revision": "8b729e489f1475615dc6c9737da917b3bc163605", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/8b729e489f1475615dc6c9737da917b3bc163605.tar.gz", - "hash": "06ag4vksr64l8yffrsahl86x45c1klyyfzw7b0fzzncp918drrmi" + "revision": "d0f90ef51d4be86b824b012ec52ed715b5622e51", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/d0f90ef51d4be86b824b012ec52ed715b5622e51.tar.gz", + "hash": "1c5dn4d1s8x7lfh1zzq604l80pcdsbv0vjpzaj0s3fiar2piqrrg" }, "glow-nvim": { "type": "Git", @@ -620,9 +620,9 @@ }, "branch": "main", "submodules": false, - "revision": "1a3648a53002c2911ccb88e9c9f876cdc6c43ad6", - "url": "https://github.com/m4xshen/hardtime.nvim/archive/1a3648a53002c2911ccb88e9c9f876cdc6c43ad6.tar.gz", - "hash": "1dp0ckqq8s7s8si5r4889r84gpr38ghvsnar775rwg5vpsyq917d" + "revision": "145b930954a3146cfb5b8a73cdcad42eb7d2740c", + "url": "https://github.com/m4xshen/hardtime.nvim/archive/145b930954a3146cfb5b8a73cdcad42eb7d2740c.tar.gz", + "hash": "126wxmqc4y8pff7z4rj58pnnzlz61nr9z9vbffk889yphgjjkdfm" }, "harpoon": { "type": "Git", @@ -646,9 +646,9 @@ }, "branch": "master", "submodules": false, - "revision": "7ec43968cd30ba52b1ade311acffaecddb718259", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/7ec43968cd30ba52b1ade311acffaecddb718259.tar.gz", - "hash": "0cgilybpdwb5rd7i4z4f24ff3zz6f6zzk4vlnpkzx36z1538lxn4" + "revision": "3f1a53df82ca72e90752dab473e92f37cdd8bdc6", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/3f1a53df82ca72e90752dab473e92f37cdd8bdc6.tar.gz", + "hash": "0wj7m2w1c3g9fi9lr6pnl0sbz0fqrhakmvawf3pbhaazpl61ws9g" }, "highlight-undo-nvim": { "type": "Git", @@ -766,9 +766,9 @@ }, "branch": "main", "submodules": false, - "revision": "189102b07cdd24de3bd7132e57da8c9614c385fc", - "url": "https://github.com/ggandor/leap.nvim/archive/189102b07cdd24de3bd7132e57da8c9614c385fc.tar.gz", - "hash": "0rdvrxdq43szm360rrnmxzmrm5wp6l91xkysnkl4d9p6rlyx01nz" + "revision": "9958013bd9c41e6f32af0202b9ea41055fe4667e", + "url": "https://github.com/ggandor/leap.nvim/archive/9958013bd9c41e6f32af0202b9ea41055fe4667e.tar.gz", + "hash": "1l4hpjwfa2d2vkfrymjsv1zn0clx6vxnr0xzlfdi2jg41ms1niwq" }, "leetcode-nvim": { "type": "Git", @@ -792,9 +792,9 @@ }, "branch": "master", "submodules": false, - "revision": "2b30d8582126a12a493b737e9761969eb869a05b", - "url": "https://github.com/ray-x/lsp_signature.nvim/archive/2b30d8582126a12a493b737e9761969eb869a05b.tar.gz", - "hash": "12ywprr9mv1kfjagfsmp603r9nyrb993wq86jk5sxppj6zir4va9" + "revision": "d50e40b3bf9324128e71b0b7e589765ce89466d2", + "url": "https://github.com/ray-x/lsp_signature.nvim/archive/d50e40b3bf9324128e71b0b7e589765ce89466d2.tar.gz", + "hash": "0kw5631k18xjzxv0rlbcxv9vy9ai125bda32cr05yijcl86rf7ld" }, "lspkind-nvim": { "type": "Git", @@ -857,9 +857,9 @@ }, "branch": "master", "submodules": false, - "revision": "faf3c94a44508cec1b961406d36cc65113ff3b98", - "url": "https://github.com/L3MON4D3/LuaSnip/archive/faf3c94a44508cec1b961406d36cc65113ff3b98.tar.gz", - "hash": "18d5wmf6s4z7h0vy87nkazikh9jpzk8i8c54g5kpmf3kfliv3lp1" + "revision": "5271933f7cea9f6b1c7de953379469010ed4553a", + "url": "https://github.com/L3MON4D3/LuaSnip/archive/5271933f7cea9f6b1c7de953379469010ed4553a.tar.gz", + "hash": "04c2lsls4085y5rkcw4m5md20vh0n7fz038qmxp9in65k64r2xf7" }, "lz-n": { "type": "Git", @@ -870,9 +870,9 @@ }, "branch": "master", "submodules": false, - "revision": "6984e04b8dfdecedd61687271947725bc86f66d5", - "url": "https://github.com/nvim-neorocks/lz.n/archive/6984e04b8dfdecedd61687271947725bc86f66d5.tar.gz", - "hash": "01qgwcq71v51dcimw1mlcy7ikkrw25s15jsmck1f6hkz4h08zqpq" + "revision": "07a7c61101e1481efd5d8be36ef408a96965686a", + "url": "https://github.com/nvim-neorocks/lz.n/archive/07a7c61101e1481efd5d8be36ef408a96965686a.tar.gz", + "hash": "0bymg0dyc9xb14yr3yd3yywqxshvypb6arixisrzfxq3wg9kk571" }, "lzn-auto-require": { "type": "Git", @@ -896,9 +896,9 @@ }, "branch": "main", "submodules": false, - "revision": "68c9603b6f88fd962444f8579024418fe5e170f1", - "url": "https://github.com/OXY2DEV/markview.nvim/archive/68c9603b6f88fd962444f8579024418fe5e170f1.tar.gz", - "hash": "1kfgr9d3kbxqagcddkns7n5fhmsm6xpx80gsrryyz96hxd8kj9ws" + "revision": "99d9a091915b994b378c4a9cc3553b3cbbe4bad5", + "url": "https://github.com/OXY2DEV/markview.nvim/archive/99d9a091915b994b378c4a9cc3553b3cbbe4bad5.tar.gz", + "hash": "01ww5nj0035yb9g64g9s3rbc190y3vgl3igl2lybypv3qszsnlzf" }, "mind-nvim": { "type": "Git", @@ -922,9 +922,9 @@ }, "branch": "main", "submodules": false, - "revision": "b91997d220086e92edc1fec5ce82094dcc234291", - "url": "https://github.com/echasnovski/mini.ai/archive/b91997d220086e92edc1fec5ce82094dcc234291.tar.gz", - "hash": "0ziv1l9jmj4a0yvj6xrx68j6hgivpxkp25cgnsw5k8i6h7m112mw" + "revision": "5225f16eacf4dce2cb7204ca345123ef54e209d6", + "url": "https://github.com/echasnovski/mini.ai/archive/5225f16eacf4dce2cb7204ca345123ef54e209d6.tar.gz", + "hash": "0vqf5xywkqw84r96malik5jxib7ifr9vpk1f6ifj74d23ldqzs1c" }, "mini-align": { "type": "Git", @@ -1013,9 +1013,9 @@ }, "branch": "main", "submodules": false, - "revision": "8b8598afa285f2a25cfd15a67e7eaa210ad405c3", - "url": "https://github.com/echasnovski/mini.clue/archive/8b8598afa285f2a25cfd15a67e7eaa210ad405c3.tar.gz", - "hash": "12p09p8b9b79fpqw8f9pfbs5l6gra3agbns0zaipm2aja0kkisva" + "revision": "97198ef9d8425e69f74d2875e217440ba0ff1730", + "url": "https://github.com/echasnovski/mini.clue/archive/97198ef9d8425e69f74d2875e217440ba0ff1730.tar.gz", + "hash": "1ma9rmdgqlc9iwl3yrqxljnmibqj4zvs9g3wn2n27mrm10xl1z5y" }, "mini-colors": { "type": "Git", @@ -1172,9 +1172,9 @@ }, "branch": "main", "submodules": false, - "revision": "f1fa8ad34788eada276f0b8a41d96a15622933de", - "url": "https://github.com/echasnovski/mini.hues/archive/f1fa8ad34788eada276f0b8a41d96a15622933de.tar.gz", - "hash": "0yap91dqnr4jpwz1krmzay5p89pxb8v6m5457b6sm6f98956zgqq" + "revision": "62f16a7b4704d051f69c39dbbe867dfdb4f0d3ed", + "url": "https://github.com/echasnovski/mini.hues/archive/62f16a7b4704d051f69c39dbbe867dfdb4f0d3ed.tar.gz", + "hash": "0hmflllpxmp39d1x1lx0j6w3mm2yin3mf0mjgfics2s6jdami3pj" }, "mini-icons": { "type": "Git", @@ -1315,9 +1315,9 @@ }, "branch": "main", "submodules": false, - "revision": "f02e64580a547346128799ba667dfc0e29737532", - "url": "https://github.com/echasnovski/mini.pick/archive/f02e64580a547346128799ba667dfc0e29737532.tar.gz", - "hash": "19aqwx8hisp5smj7qzgdzzcjz8k0p0vk21pxnnnxiv4w85d7s1zz" + "revision": "c272dc61cd0326b344761cd9d031bfcdef1978c7", + "url": "https://github.com/echasnovski/mini.pick/archive/c272dc61cd0326b344761cd9d031bfcdef1978c7.tar.gz", + "hash": "0kpn9ha5kivv46r6m30bpbfv8qksg8k2xgb3n4gih7rlvik9qa3m" }, "mini-sessions": { "type": "Git", @@ -1341,9 +1341,9 @@ }, "branch": "main", "submodules": false, - "revision": "d005684e620e76eb2a5fbbbd211a1eba7212b4aa", - "url": "https://github.com/echasnovski/mini.snippets/archive/d005684e620e76eb2a5fbbbd211a1eba7212b4aa.tar.gz", - "hash": "19xmqzgx0lv6m6lp6dn4pcr53clgjyrlnh45j795cy9szizw4y0x" + "revision": "6f0de3c3f97a8c015f99619f72edf9b2880b6886", + "url": "https://github.com/echasnovski/mini.snippets/archive/6f0de3c3f97a8c015f99619f72edf9b2880b6886.tar.gz", + "hash": "0pbkwp5p0y3djf3xfvmnf6ys1w5287gyhas09s94ha2ghhsyzy2w" }, "mini-splitjoin": { "type": "Git", @@ -1393,9 +1393,9 @@ }, "branch": "main", "submodules": false, - "revision": "5aab42fcdcf31fa010f012771eda5631c077840a", - "url": "https://github.com/echasnovski/mini.surround/archive/5aab42fcdcf31fa010f012771eda5631c077840a.tar.gz", - "hash": "0hsy7ngqz17a663k4gkj9ambbcn24jvqx7010aiv8g4b0gbmzhky" + "revision": "0d278217ca98ffa5b768701fb57f52a88b1e1f93", + "url": "https://github.com/echasnovski/mini.surround/archive/0d278217ca98ffa5b768701fb57f52a88b1e1f93.tar.gz", + "hash": "0r93kgzd5xhykcwxzfjcmdmcd2dmj80hxqfd4r6ikbaxq6b6vnk0" }, "mini-tabline": { "type": "Git", @@ -1419,9 +1419,9 @@ }, "branch": "main", "submodules": false, - "revision": "4c70379d07ea44f697d96c7a6f04c79f17b34bb3", - "url": "https://github.com/echasnovski/mini.test/archive/4c70379d07ea44f697d96c7a6f04c79f17b34bb3.tar.gz", - "hash": "0si92d4jc7lmzj2mppz0vcmgqgsbgy64fl4bj8jwdl7z78bhpjwk" + "revision": "0701f48de3c6af1158b9111957ff956506124c3e", + "url": "https://github.com/echasnovski/mini.test/archive/0701f48de3c6af1158b9111957ff956506124c3e.tar.gz", + "hash": "1v21zpsyxxlnix4g2c1dq23vwpjjbi7sbil4d85ydfl6i3cya90z" }, "mini-trailspace": { "type": "Git", @@ -1513,9 +1513,9 @@ }, "branch": "main", "submodules": false, - "revision": "3f1dd2de5045659e00bfbe27c8aca3b52c1fdbde", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/3f1dd2de5045659e00bfbe27c8aca3b52c1fdbde.tar.gz", - "hash": "0mh0wv4x2pi6khwbp3fvi40n6hd3sz5ak81w9vf2xn3hh2z0mmqc" + "revision": "b287285c24ee5dca63d0000230a5a04e681b8db6", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/b287285c24ee5dca63d0000230a5a04e681b8db6.tar.gz", + "hash": "06nz3z7yq12z4img46bmr1qjm09x3av6hz5fh4hdg5d5n5f2icmd" }, "neocord": { "type": "Git", @@ -1526,9 +1526,9 @@ }, "branch": "main", "submodules": false, - "revision": "41bacd44e9d36f5e36e0271672ac2c02f6fa355a", - "url": "https://github.com/IogaMaster/neocord/archive/41bacd44e9d36f5e36e0271672ac2c02f6fa355a.tar.gz", - "hash": "1n998zsv0bikscwpr75qq11xh559xzx6d7rs7fc21jj1rivkk4aw" + "revision": "2ebf3792a8100376bb65fd66d5dbf60f50af7529", + "url": "https://github.com/IogaMaster/neocord/archive/2ebf3792a8100376bb65fd66d5dbf60f50af7529.tar.gz", + "hash": "1ycx26ppfb5djxji1mwamr7ra29z8sm0fs9a6hhwn0l69x06x353" }, "neorg": { "type": "Git", @@ -1721,9 +1721,9 @@ }, "branch": "master", "submodules": false, - "revision": "b0f983507e3702f073bfe1516846e58b56d4e42f", - "url": "https://github.com/mfussenegger/nvim-dap/archive/b0f983507e3702f073bfe1516846e58b56d4e42f.tar.gz", - "hash": "17fcxlfkzh75q8sasjf21jbh18s78v9g80p5qrlgi0caqznj0hv7" + "revision": "ea82027c3447dc1a022be9a9884de276c05cd33a", + "url": "https://github.com/mfussenegger/nvim-dap/archive/ea82027c3447dc1a022be9a9884de276c05cd33a.tar.gz", + "hash": "0m91bqbprp6n00m7kk5wqrhl237a5q082m98xak6r7gvxg1c7ac7" }, "nvim-dap-go": { "type": "Git", @@ -1786,9 +1786,9 @@ }, "branch": "master", "submodules": false, - "revision": "b47cbb249351873e3a571751c3fb66ed6369852f", - "url": "https://github.com/mfussenegger/nvim-lint/archive/b47cbb249351873e3a571751c3fb66ed6369852f.tar.gz", - "hash": "0cs6vs58p98fv6nmqsyik2kws6xnqbny79gl39mmyssm3z9mpps8" + "revision": "cc26ae6a620298bb3f33b0e0681f99a10ae57781", + "url": "https://github.com/mfussenegger/nvim-lint/archive/cc26ae6a620298bb3f33b0e0681f99a10ae57781.tar.gz", + "hash": "0jspqgw8zwz79jrlcqr15waaxzw68n5c10bvhm3hqw02dr0bbipq" }, "nvim-lspconfig": { "type": "Git", @@ -1799,9 +1799,9 @@ }, "branch": "master", "submodules": false, - "revision": "d45702594afc661a9dfa95e96acf18c56006d4d9", - "url": "https://github.com/neovim/nvim-lspconfig/archive/d45702594afc661a9dfa95e96acf18c56006d4d9.tar.gz", - "hash": "0rkbb0difvd68ihprsjvw59m6jlfdlpyqgamlfcfqn53yxawgbw3" + "revision": "036885e8e5456d3907626b634693234f628afef6", + "url": "https://github.com/neovim/nvim-lspconfig/archive/036885e8e5456d3907626b634693234f628afef6.tar.gz", + "hash": "1zkjmr33srzdcjriwdlvq1dmpia7n0xgy3k5l3cdhrfn66k3mwl2" }, "nvim-metals": { "type": "Git", @@ -1812,9 +1812,9 @@ }, "branch": "main", "submodules": false, - "revision": "d1639b7fccd845875e33444c7860ad292ab8670d", - "url": "https://github.com/scalameta/nvim-metals/archive/d1639b7fccd845875e33444c7860ad292ab8670d.tar.gz", - "hash": "1f6cgzs3vwqdva06jdcmyy5rldjlxg8x5fbdyq61hbl3xw5qjvsq" + "revision": "5ab889232ccb6e749094294e7979fda4a71fdecb", + "url": "https://github.com/scalameta/nvim-metals/archive/5ab889232ccb6e749094294e7979fda4a71fdecb.tar.gz", + "hash": "10asl4vi6di8vzhhjsczf8c5l16lcj0ygj2fbylav44ydy4dlwxd" }, "nvim-navbuddy": { "type": "Git", @@ -1916,9 +1916,9 @@ }, "branch": "master", "submodules": false, - "revision": "ebcaccda1c575fa19a8087445276e6671e2b9b37", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/ebcaccda1c575fa19a8087445276e6671e2b9b37.tar.gz", - "hash": "1x1yw3xjpn2g0qxsniyjq4pxkccycbz499mwp9m6h8xdyhbafsvg" + "revision": "1c733e8c1957dc67f47580fe9c458a13b5612d5b", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/1c733e8c1957dc67f47580fe9c458a13b5612d5b.tar.gz", + "hash": "1a92zsb1r48s6cjphvx406lbxyc1v9w3gk9kkp3ri0k1l134aaw8" }, "nvim-treesitter-context": { "type": "Git", @@ -1929,9 +1929,9 @@ }, "branch": "master", "submodules": false, - "revision": "153a076598076bf5664ab868fb01d3418ecffce9", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/153a076598076bf5664ab868fb01d3418ecffce9.tar.gz", - "hash": "0l57jpnx5nfmddrsrnsj2wxfn4xl2fp5xghhjrdbhp8rg0xm6qn8" + "revision": "464a443b5a6657f39772b20baa95d02ffe97b268", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/464a443b5a6657f39772b20baa95d02ffe97b268.tar.gz", + "hash": "1q8ll6lkgqc2vhr9jz687a9rgzxrd0swy8cnsy2mb6c6626sxxhq" }, "nvim-treesitter-textobjects": { "type": "Git", @@ -2007,9 +2007,9 @@ }, "branch": "master", "submodules": false, - "revision": "685cdb4ffa74473d75a1b97451f8654ceeab0f4a", - "url": "https://github.com/stevearc/oil.nvim/archive/685cdb4ffa74473d75a1b97451f8654ceeab0f4a.tar.gz", - "hash": "1wqbsfh274wkyyx8nf5gbcnsk92y4bwsrwq2vl85x3cx73kkzlhv" + "revision": "08c2bce8b00fd780fb7999dbffdf7cd174e896fb", + "url": "https://github.com/stevearc/oil.nvim/archive/08c2bce8b00fd780fb7999dbffdf7cd174e896fb.tar.gz", + "hash": "1hz1fx5nc81l91p89vb3fwnflpfp96yk08ff79lxl9am7x2mpd3x" }, "omnisharp-extended-lsp-nvim": { "type": "Git", @@ -2046,9 +2046,9 @@ }, "branch": "master", "submodules": false, - "revision": "55b68bbdfd22588d767f4401a3304df5d7427e19", - "url": "https://github.com/nvim-orgmode/orgmode/archive/55b68bbdfd22588d767f4401a3304df5d7427e19.tar.gz", - "hash": "03ywkg95c48bmpfqlc1ndzin09wfhzqgjv8mfjjz0ksh8xh8xv0l" + "revision": "32ef9e95f43a6e951fb931b438372546a4f0c524", + "url": "https://github.com/nvim-orgmode/orgmode/archive/32ef9e95f43a6e951fb931b438372546a4f0c524.tar.gz", + "hash": "0kh1rj76np36ifm412j1b28hnm8k471va1g0l0jcdzkzlwdvpkj3" }, "otter-nvim": { "type": "Git", @@ -2059,9 +2059,9 @@ }, "branch": "main", "submodules": false, - "revision": "fa436071c67233e6cd466268212feaf4ff4ed406", - "url": "https://github.com/jmbuhr/otter.nvim/archive/fa436071c67233e6cd466268212feaf4ff4ed406.tar.gz", - "hash": "0i8bkgyh8zaszm15h8lznd9ik1fh0l0mdcwyam4mnn4q0nhjqznb" + "revision": "1348aad77adac26fe3dff44aa220c5a7e96aa8ae", + "url": "https://github.com/jmbuhr/otter.nvim/archive/1348aad77adac26fe3dff44aa220c5a7e96aa8ae.tar.gz", + "hash": "0qdc2dy16jk9a081g1kfiiibxfmzwxvnl5d5m239mcfivzkwn8yq" }, "oxocarbon": { "type": "Git", @@ -2072,9 +2072,9 @@ }, "branch": "main", "submodules": false, - "revision": "004777819ba294423b638a35a75c9f0c7be758ed", - "url": "https://github.com/nyoom-engineering/oxocarbon.nvim/archive/004777819ba294423b638a35a75c9f0c7be758ed.tar.gz", - "hash": "1qllk870nqc9nhkdgmqm8km2rar6dsmyhfhpcfx8crrg640yfbqy" + "revision": "acdfdd5d319c36170b5ad2a120283bec2f450081", + "url": "https://github.com/nyoom-engineering/oxocarbon.nvim/archive/acdfdd5d319c36170b5ad2a120283bec2f450081.tar.gz", + "hash": "1byvqvrnf56y050r6dl4sykn22z11i8qxxai8j552a06l7jxyiw4" }, "pathlib-nvim": { "type": "Git", @@ -2176,9 +2176,9 @@ }, "branch": "main", "submodules": false, - "revision": "df64d5d5432e13026a79384ec4e2bab185fd4eb5", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/df64d5d5432e13026a79384ec4e2bab185fd4eb5.tar.gz", - "hash": "1pdl0s2k3sjlzdw1w6fv5cil51nkm4c6yjidp1xly94qjxwj6sv4" + "revision": "6f5a4c36d9383b2a916facaa63dcd573afa11ee8", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/6f5a4c36d9383b2a916facaa63dcd573afa11ee8.tar.gz", + "hash": "15q8169wxslr6kmzqagvsj20j745cym72a2yjmdavh61mgs56rxh" }, "rose-pine": { "type": "Git", @@ -2228,9 +2228,9 @@ }, "branch": "master", "submodules": false, - "revision": "eaa8d3dc22026da53fbb1b63f504541c70de44f4", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/eaa8d3dc22026da53fbb1b63f504541c70de44f4.tar.gz", - "hash": "0wkpj6nd48k4gi7z82wfr5686nlp2g4s335zjgn5mkra0cfgflh7" + "revision": "a0c8e9698ef90bcfdf42806a38bf55b612b65b18", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/a0c8e9698ef90bcfdf42806a38bf55b612b65b18.tar.gz", + "hash": "1j63qpal1n8m9kj3fdjjw81ljbsqjzph65q2cacwm5ziwi2xvncx" }, "smartcolumn-nvim": { "type": "Git", From 7644edfe2b5a170c835098d693d17ab3a28e8b32 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 11 Jun 2025 10:10:47 +0300 Subject: [PATCH 175/271] utility/telescope: document missing layout options --- .../plugins/utility/telescope/telescope.nix | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/modules/plugins/utility/telescope/telescope.nix b/modules/plugins/utility/telescope/telescope.nix index 7c01bb8f..9ed6f263 100644 --- a/modules/plugins/utility/telescope/telescope.nix +++ b/modules/plugins/utility/telescope/telescope.nix @@ -95,42 +95,42 @@ options = { horizontal = { prompt_position = mkOption { - description = ""; - type = str; + type = enum ["top" "bottom"]; default = "top"; + description = "Where to place prompt window"; }; preview_width = mkOption { - description = ""; type = float; default = 0.55; + description = "Change the width of Telescope's preview window"; }; }; vertical = { mirror = mkOption { - description = ""; type = bool; default = false; + description = "Flip the location of the results/prompt and preview windows"; }; }; width = mkOption { - description = ""; type = float; default = 0.8; + description = "How wide to make Telescope's entire layout"; }; height = mkOption { - description = ""; type = float; default = 0.8; + description = "How tall to make Telescope's entire layout"; }; preview_cutoff = mkOption { - description = ""; type = int; default = 120; + description = "When lines are less than this value, the preview will be disabled"; }; }; }; @@ -145,13 +145,10 @@ file_ignore_patterns = mkOption { type = listOf str; default = ["node_modules" "%.git/" "dist/" "build/" "target/" "result/"]; + description = "File patterns to omit from Telescope results"; }; - color_devicons = mkOption { - type = bool; - default = true; - description = "Boolean if devicons should be enabled or not."; - }; + color_devicons = mkEnableOption "colored devicons"; path_display = mkOption { type = listOf (enum ["hidden" "tail" "absolute" "smart" "shorten" "truncate"]); @@ -168,7 +165,7 @@ winblend = mkOption { type = int; default = 0; - description = "pseudo-transparency of keymap hints floating window"; + description = "Pseudo-transparency of keymap hints floating window"; }; extensions = mkOption { From cd98ed56db734cf73c83bad3fbfa02ef5773de13 Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Wed, 4 Jun 2025 18:53:20 -0400 Subject: [PATCH 176/271] fix: pluginOverrides attempting to build --- modules/wrapper/build/config.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index 585e9839..a1807388 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -7,9 +7,9 @@ }: let inherit (pkgs) vimPlugins; inherit (lib.trivial) flip; - inherit (builtins) filter isString; + inherit (builtins) filter isString hasAttr getAttr; - getPin = name: ((pkgs.callPackages ../../../npins/sources.nix {}) // config.vim.pluginOverrides).${name}; + getPin = flip getAttr (pkgs.callPackages ../../../npins/sources.nix {}); noBuildPlug = pname: let pin = getPin pname; @@ -54,7 +54,16 @@ buildConfigPlugins = plugins: map (plug: if (isString plug) - then pluginBuilders.${plug} or (noBuildPlug plug) + then + if hasAttr plug config.vim.pluginOverrides + then + (let + plugin = config.vim.pluginOverrides.${plug}; + in + if (lib.isType "flake" plugin) + then plugin // {name = plug;} + else plugin) + else pluginBuilders.${plug} or (noBuildPlug plug) else plug) ( filter (f: f != null) plugins ); From 3c4360b222d46c0a742a465bdada0bb6bf1fbdc0 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Thu, 12 Jun 2025 16:08:09 +0300 Subject: [PATCH 177/271] blink.cmp: 1.2.0 -> 1.3.1 --- flake/blink/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flake/blink/default.nix b/flake/blink/default.nix index ef1498d8..f7d25e77 100644 --- a/flake/blink/default.nix +++ b/flake/blink/default.nix @@ -5,13 +5,13 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "blink-cmp"; - version = "1.2.0"; + version = "1.3.1"; src = fetchFromGitHub { owner = "Saghen"; repo = "blink.cmp"; tag = "v${finalAttrs.version}"; - hash = "sha256-bKe8SSg1HPWE7b4iRQJwiOVCrvvgttuHCOIa4U/38AY="; + hash = "sha256-8lyDDrsh3sY7l0i0TPyhL69Oq0l63+/QPnLaU/mhq5A="; }; forceShare = [ @@ -21,8 +21,10 @@ rustPlatform.buildRustPackage (finalAttrs: { 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" ''; From f869248ef6bd48f29cab3cfc28c5f164f7ff564d Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 13 Jun 2025 10:53:31 +0300 Subject: [PATCH 178/271] flake: bump inputs --- flake.lock | 45 ++++++++++----------------------------------- flake.nix | 4 ++-- 2 files changed, 12 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index 6f8bd916..cf463484 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1748821116, - "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -53,20 +53,16 @@ }, "nil": { "inputs": { - "flake-utils": [ - "flake-utils" - ], "nixpkgs": [ "nixpkgs" - ], - "rust-overlay": "rust-overlay" + ] }, "locked": { - "lastModified": 1741118843, - "narHash": "sha256-ggXU3RHv6NgWw+vc+HO4/9n0GPufhTIUjVuLci8Za8c=", + "lastModified": 1749796250, + "narHash": "sha256-oxvVAFUO9husnRk6XZcLFLjLWL9z0pW25Fk6kVKwt1c=", "owner": "oxalica", "repo": "nil", - "rev": "577d160da311cc7f5042038456a0713e9863d09e", + "rev": "9e4cccb088440c20703d62db9de8d5ae06d4a449", "type": "github" }, "original": { @@ -77,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1749174413, - "narHash": "sha256-urN9UMK5cd1dzhR+Lx0xHeTgBp2MatA5+6g9JaxjuQs=", + "lastModified": 1749743618, + "narHash": "sha256-ibsz06u1jlWyH7YURnRhLQn38Tuc5zwknr00suFjvfA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6ad174a6dc07c7742fc64005265addf87ad08615", + "rev": "8d6cdc7756817e0c4b24567271634a44bcf80752", "type": "github" }, "original": { @@ -116,27 +112,6 @@ "systems": "systems_2" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "nil", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1741055476, - "narHash": "sha256-52vwEV0oS2lCnx3c/alOFGglujZTLmObit7K8VblnS8=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "aefb7017d710f150970299685e8d8b549d653649", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, diff --git a/flake.nix b/flake.nix index e958f91c..12ace081 100644 --- a/flake.nix +++ b/flake.nix @@ -83,11 +83,11 @@ # Alternate neovim-wrapper mnw.url = "github:Gerg-L/mnw"; - # Language servers (use master instead of nixpkgs) + ## Language servers (use master instead of nixpkgs) + # Nix LSP nil = { url = "github:oxalica/nil"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "flake-utils"; }; }; } From 32e1e164c118184b5bd5b77fb2b818a5c5de5081 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 13 Jun 2025 12:04:11 +0300 Subject: [PATCH 179/271] ci: get rid of maximize-build-space job --- .github/workflows/cachix.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/cachix.yml b/.github/workflows/cachix.yml index 959a04b6..8f392c47 100644 --- a/.github/workflows/cachix.yml +++ b/.github/workflows/cachix.yml @@ -21,15 +21,6 @@ jobs: - nix - maximal steps: - - uses: easimon/maximize-build-space@v10 - name: Maximize build space - with: - overprovision-lvm: true - remove-android: true - remove-dotnet: true - remove-haskell: true - remove-codeql: true - - uses: actions/checkout@v4 name: Checkout From f7b1b238f7bc109f0c61f174560ed37ee603a876 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Fri, 13 Jun 2025 18:45:49 +0200 Subject: [PATCH 180/271] themes/solarized: init --- docs/release-notes/rl-0.8.md | 8 +++- modules/plugins/theme/supported-themes.nix | 44 +++++++++++++++++++++- npins/sources.json | 16 ++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index d9007a12..979586ac 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -426,4 +426,10 @@ [theutz](https://github.com/theutz): -- Added "auto" flavour for catppuccin theme \ No newline at end of file +- Added "auto" flavour for catppuccin theme + +[lackac](https://github.com/lackac): + +[solarized.nvim]: https://github.com/maxmx03/solarized.nvim + +- Add [solarized.nvim] theme with support for multiple variants diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index 722f6d65..d0777a84 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -2,7 +2,9 @@ config, lib, }: let - inherit (lib.strings) optionalString; + inherit (lib.strings) optionalString splitString; + inherit (lib.attrsets) mapCartesianProduct; + inherit (lib.lists) intersectLists; inherit (lib.trivial) boolToString warnIf; inherit (lib.nvim.lua) toLuaObject; in { @@ -217,6 +219,46 @@ in { ''; styles = ["dark" "light" "dark_dimmed" "dark_default" "light_default" "dark_high_contrast" "light_high_contrast" "dark_colorblind" "light_colorblind" "dark_tritanopia" "light_tritanopia"]; }; + + solarized = let + backgrounds = ["light" "dark"]; + palettes = ["solarized" "selenized"]; + variants = ["spring" "summer" "autumn" "winter"]; + in { + setup = { + style ? "", # use plugin defaults + transparent ? false, + ... + }: let + parts = splitString "-" style; + detect = list: + let intersection = intersectLists parts list; + in if intersection == [] then null else builtins.head intersection; + background = detect backgrounds; + palette = detect palettes; + variant = detect variants; + in '' + -- Solarized theme + require('solarized').setup { + transparent = { + enabled = ${boolToString transparent}, + }, + ${optionalString (!isNull palette) ''palette = "${palette}",''} + ${optionalString (!isNull variant) ''variant = "${variant}",''} + } + ${optionalString (!isNull background) ''vim.opt.background = "${background}"''} + vim.cmd.colorscheme "solarized" + ''; + styles = let + joinWithDashes = parts: lib.concatStringsSep "-" (lib.filter (s: s != "") parts); + combinations = mapCartesianProduct ({bg, pal, var}: joinWithDashes [bg pal var]) { + bg = [""] ++ backgrounds; + pal = [""] ++ palettes; + var = [""] ++ variants; + }; + in lib.filter (s: s != "") combinations; + }; + solarized-osaka = { setup = {transparent ? false, ...}: '' require("solarized-osaka").setup({ diff --git a/npins/sources.json b/npins/sources.json index f98d517e..b5d796c4 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2261,6 +2261,22 @@ "url": "https://api.github.com/repos/folke/snacks.nvim/tarball/v2.22.0", "hash": "1hbm4fnw51qdp0nz83fcxbvnxjq2k57a37w6dp0wz6wkcx7cwxw9" }, + "solarized": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "maxmx03", + "repo": "solarized.nvim" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "submodules": false, + "version": "v3.6.0", + "revision": "c0dfe1cbfabd93b546baf5f1408f5df7e02e2050", + "url": "https://api.github.com/repos/maxmx03/solarized.nvim/tarball/v3.6.0", + "hash": "1fz1wc569w26aanmj3hhsc17xrx29g6bfsjsbgssa7jq76aavp3w" + }, "solarized-osaka": { "type": "Git", "repository": { From 6df9ed87a74f7608a3d283f9ce31e3c9ee078e2a Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Fri, 13 Jun 2025 19:48:03 +0200 Subject: [PATCH 181/271] style: fix formatting --- modules/plugins/theme/supported-themes.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index d0777a84..1d1f2397 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -231,9 +231,12 @@ in { ... }: let parts = splitString "-" style; - detect = list: - let intersection = intersectLists parts list; - in if intersection == [] then null else builtins.head intersection; + detect = list: let + intersection = intersectLists parts list; + in + if intersection == [] + then null + else builtins.head intersection; background = detect backgrounds; palette = detect palettes; variant = detect variants; @@ -251,12 +254,18 @@ in { ''; styles = let joinWithDashes = parts: lib.concatStringsSep "-" (lib.filter (s: s != "") parts); - combinations = mapCartesianProduct ({bg, pal, var}: joinWithDashes [bg pal var]) { + combinations = mapCartesianProduct ({ + bg, + pal, + var, + }: + joinWithDashes [bg pal var]) { bg = [""] ++ backgrounds; pal = [""] ++ palettes; var = [""] ++ variants; }; - in lib.filter (s: s != "") combinations; + in + lib.filter (s: s != "") combinations; }; solarized-osaka = { From 5056e02f08b12907536745087e1cfa7020d1914d Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Sat, 14 Jun 2025 11:37:51 +0200 Subject: [PATCH 182/271] fix(yanky-nvim): shada assertion condition --- modules/plugins/utility/yanky-nvim/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/utility/yanky-nvim/config.nix b/modules/plugins/utility/yanky-nvim/config.nix index 4a74fa75..c5e89477 100644 --- a/modules/plugins/utility/yanky-nvim/config.nix +++ b/modules/plugins/utility/yanky-nvim/config.nix @@ -32,7 +32,7 @@ in { assertions = [ { - assertion = usingShada && ((config.vim.options.shada or "") == ""); + assertion = usingShada -> (config.vim.options.shada or "") != ""; message = '' Yanky.nvim is configured to use 'shada' for the storage backend, but shada is disabled in 'vim.options'. Please re-enable shada, or switch to a different backend. From d6d569c53e52e6122161159f179bdd789b438d61 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Mon, 16 Jun 2025 13:56:46 +0200 Subject: [PATCH 183/271] utility/smart-splits: init --- configuration.nix | 1 + docs/release-notes/rl-0.8.md | 5 ++ modules/plugins/utility/default.nix | 1 + .../plugins/utility/smart-splits/config.nix | 51 +++++++++++++++++++ .../plugins/utility/smart-splits/default.nix | 6 +++ .../utility/smart-splits/smart-splits.nix | 37 ++++++++++++++ 6 files changed, 101 insertions(+) create mode 100644 modules/plugins/utility/smart-splits/config.nix create mode 100644 modules/plugins/utility/smart-splits/default.nix create mode 100644 modules/plugins/utility/smart-splits/smart-splits.nix diff --git a/configuration.nix b/configuration.nix index 2995fee8..6f26f040 100644 --- a/configuration.nix +++ b/configuration.nix @@ -191,6 +191,7 @@ isMaximal: { surround.enable = isMaximal; leetcode-nvim.enable = isMaximal; multicursors.enable = isMaximal; + smart-splits.enable = isMaximal; motion = { hop.enable = true; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 979586ac..a1a967ff 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -431,5 +431,10 @@ [lackac](https://github.com/lackac): [solarized.nvim]: https://github.com/maxmx03/solarized.nvim +[smart-splits.nvim]: https://github.com/mrjones2014/smart-splits.nvim - 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`. + diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index e3ae7c5e..8069b6c1 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -19,6 +19,7 @@ ./outline ./preview ./sleuth + ./smart-splits ./snacks-nvim ./surround ./telescope diff --git a/modules/plugins/utility/smart-splits/config.nix b/modules/plugins/utility/smart-splits/config.nix new file mode 100644 index 00000000..552bc7ac --- /dev/null +++ b/modules/plugins/utility/smart-splits/config.nix @@ -0,0 +1,51 @@ +{ + pkgs, + config, + options, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.utility.smart-splits; + inherit (options.vim.utility.smart-splits) keymaps; + mkSmartSplitKey = act: let + key = cfg.keymaps.${act}; + in + lib.optional (key != null) { + inherit key; + desc = keymaps.${act}.description; + action = ''function() require('smart-splits').${act}() end''; + mode = "n"; + lua = true; + }; +in { + config = mkIf cfg.enable { + vim.lazy.plugins = { + ${pkgs.vimPlugins.smart-splits-nvim.pname} = { + package = pkgs.vimPlugins.smart-splits-nvim; + setupModule = "smart-splits"; + inherit (cfg) setupOpts; + + # plugin needs to be loaded right after startup so that the multiplexer detects vim running in the pane + event = ["DeferredUIEnter"]; + + keys = lib.flatten [ + (mkSmartSplitKey "resize_left") + (mkSmartSplitKey "resize_down") + (mkSmartSplitKey "resize_up") + (mkSmartSplitKey "resize_right") + (mkSmartSplitKey "move_cursor_left") + (mkSmartSplitKey "move_cursor_down") + (mkSmartSplitKey "move_cursor_up") + (mkSmartSplitKey "move_cursor_right") + (mkSmartSplitKey "move_cursor_previous") + (mkSmartSplitKey "swap_buf_left") + (mkSmartSplitKey "swap_buf_down") + (mkSmartSplitKey "swap_buf_up") + (mkSmartSplitKey "swap_buf_right") + ]; + }; + }; + }; +} diff --git a/modules/plugins/utility/smart-splits/default.nix b/modules/plugins/utility/smart-splits/default.nix new file mode 100644 index 00000000..a994da8f --- /dev/null +++ b/modules/plugins/utility/smart-splits/default.nix @@ -0,0 +1,6 @@ +_: { + imports = [ + ./config.nix + ./smart-splits.nix + ]; +} diff --git a/modules/plugins/utility/smart-splits/smart-splits.nix b/modules/plugins/utility/smart-splits/smart-splits.nix new file mode 100644 index 00000000..dd5c55a3 --- /dev/null +++ b/modules/plugins/utility/smart-splits/smart-splits.nix @@ -0,0 +1,37 @@ +{lib, ...}: let + inherit (lib.options) mkOption; + inherit (lib.types) bool; + inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.nvim.binds) mkMappingOption; +in { + options.vim.utility.smart-splits = { + enable = mkOption { + type = bool; + default = false; + description = '' + Whether to enable smart-splits.nvim, a Neovim plugin for smart, + seamless, directional navigation and resizing of splits. + + Supports tmux, Wezterm, Kitty, and Zellij multiplexer integrations. + ''; + }; + + setupOpts = mkPluginSetupOption "smart-splits" {}; + + keymaps = { + resize_left = mkMappingOption "Resize Window/Pane Left" ""; + resize_down = mkMappingOption "Resize Window/Pane Down" ""; + resize_up = mkMappingOption "Resize Window/Pane Up" ""; + resize_right = mkMappingOption "Resize Window/Pane Right" ""; + move_cursor_left = mkMappingOption "Focus Window/Pane on the Left" ""; + move_cursor_down = mkMappingOption "Focus Window/Pane Below" ""; + move_cursor_up = mkMappingOption "Focus Window/Pane Above" ""; + move_cursor_right = mkMappingOption "Focus Window/Pane on the Right" ""; + move_cursor_previous = mkMappingOption "Focus Previous Window/Pane" ""; + swap_buf_left = mkMappingOption "Swap Buffer Left" "h"; + swap_buf_down = mkMappingOption "Swap Buffer Down" "j"; + swap_buf_up = mkMappingOption "Swap Buffer Up" "k"; + swap_buf_right = mkMappingOption "Swap Buffer Right" "l"; + }; + }; +} From 8483a6de972586ff661916cd6faba667da3e4ce7 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Mon, 16 Jun 2025 21:13:43 +0200 Subject: [PATCH 184/271] utility/smart-splits: get plugin from github instead of nixpkgs --- modules/plugins/utility/smart-splits/config.nix | 6 +++--- modules/plugins/utility/smart-splits/default.nix | 2 +- npins/sources.json | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/modules/plugins/utility/smart-splits/config.nix b/modules/plugins/utility/smart-splits/config.nix index 552bc7ac..c175d7ac 100644 --- a/modules/plugins/utility/smart-splits/config.nix +++ b/modules/plugins/utility/smart-splits/config.nix @@ -21,9 +21,9 @@ }; in { config = mkIf cfg.enable { - vim.lazy.plugins = { - ${pkgs.vimPlugins.smart-splits-nvim.pname} = { - package = pkgs.vimPlugins.smart-splits-nvim; + vim = { + lazy.plugins.smart-splits = { + package = "smart-splits"; setupModule = "smart-splits"; inherit (cfg) setupOpts; diff --git a/modules/plugins/utility/smart-splits/default.nix b/modules/plugins/utility/smart-splits/default.nix index a994da8f..2b38462e 100644 --- a/modules/plugins/utility/smart-splits/default.nix +++ b/modules/plugins/utility/smart-splits/default.nix @@ -1,4 +1,4 @@ -_: { +{ imports = [ ./config.nix ./smart-splits.nix diff --git a/npins/sources.json b/npins/sources.json index b5d796c4..455e1bd6 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2232,6 +2232,22 @@ "url": "https://github.com/mrcjkb/rustaceanvim/archive/a0c8e9698ef90bcfdf42806a38bf55b612b65b18.tar.gz", "hash": "1j63qpal1n8m9kj3fdjjw81ljbsqjzph65q2cacwm5ziwi2xvncx" }, + "smart-splits": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "mrjones2014", + "repo": "smart-splits.nvim" + }, + "pre_releases": false, + "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" + }, "smartcolumn-nvim": { "type": "Git", "repository": { From 6ad7500a06decb6cea09a320fdcb7aaa5e7e9d29 Mon Sep 17 00:00:00 2001 From: Martin Treml Date: Tue, 17 Jun 2025 00:32:15 +0200 Subject: [PATCH 185/271] avante-nvim: Migrate provider options Migrate the provider options according to the migration guide. https://github.com/yetone/avante.nvim/wiki/Provider-configuration-migration-guide --- .../plugins/assistant/avante/avante-nvim.nix | 52 ++++++++++++------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/modules/plugins/assistant/avante/avante-nvim.nix b/modules/plugins/assistant/avante/avante-nvim.nix index 7d52fab8..8dfa31fc 100644 --- a/modules/plugins/assistant/avante/avante-nvim.nix +++ b/modules/plugins/assistant/avante/avante-nvim.nix @@ -13,28 +13,44 @@ in { description = "The provider used in Aider mode or in the planning phase of Cursor Planning Mode."; }; - vendors = mkOption { + providers = mkOption { type = nullOr attrs; default = null; - description = "Define Your Custom providers."; + description = "Define settings for builtin and custom providers."; example = literalMD '' ```nix - ollama = { - __inherited_from = "openai"; - api_key_name = ""; - endpoint = "http://127.0.0.1:11434/v1"; - model = "qwen2.5u-coder:7b"; - max_tokens = 4096; - disable_tools = true; - }; - ollama_ds = { - __inherited_from = "openai"; - api_key_name = ""; - endpoint = "http://127.0.0.1:11434/v1"; - model = "deepseek-r1u:7b"; - max_tokens = 4096; - disable_tools = true; - }; + openai = { + endpoint = "https://api.openai.com/v1"; + model = "gpt-4o"; # your desired model (or use gpt-4o, etc.) + timeout = 30000; # Timeout in milliseconds, increase this for reasoning models + extra_request_body = { + temperature = 0; + max_completion_tokens = 8192; # Increase this to include reasoning tokens (for reasoning models) + reasoning_effort = "medium"; # low|medium|high, only used for reasoning models + }; + }; + ollama = { + endpoint = "http://127.0.0.1:11434"; + timeout = 30000; # Timeout in milliseconds + extra_request_body = { + options = { + temperature = 0.75; + num_ctx = 20480; + keep_alive = "5m"; + }; + }; + }; + groq = { + __inherited_from = "openai"; + api_key_name = "GROQ_API_KEY"; + endpoint = "https://api.groq.com/openai/v1/"; + model = "llama-3.3-70b-versatile"; + disable_tools = true; + extra_request_body = { + temperature = 1; + max_tokens = 32768; # remember to increase this value, otherwise it will stop generating halfway + }; + }; ``` ''; }; From 787678dd731e0246d42ca70b758ae0ac35bd48e2 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 18 Jun 2025 23:41:50 +0300 Subject: [PATCH 186/271] flake: bump inputs --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index cf463484..bd1dc28d 100644 --- a/flake.lock +++ b/flake.lock @@ -58,11 +58,11 @@ ] }, "locked": { - "lastModified": 1749796250, - "narHash": "sha256-oxvVAFUO9husnRk6XZcLFLjLWL9z0pW25Fk6kVKwt1c=", + "lastModified": 1750047244, + "narHash": "sha256-vluLARrk4485npdyHOj8XKr0yk6H22pNf+KVRNL+i/Y=", "owner": "oxalica", "repo": "nil", - "rev": "9e4cccb088440c20703d62db9de8d5ae06d4a449", + "rev": "870a4b1b5f12004832206703ac15aa85c42c247b", "type": "github" }, "original": { @@ -73,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1749743618, - "narHash": "sha256-ibsz06u1jlWyH7YURnRhLQn38Tuc5zwknr00suFjvfA=", + "lastModified": 1750215678, + "narHash": "sha256-Rc/ytpamXRf6z8UA2SGa4aaWxUXRbX2MAWIu2C8M+ok=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8d6cdc7756817e0c4b24567271634a44bcf80752", + "rev": "5395fb3ab3f97b9b7abca147249fa2e8ed27b192", "type": "github" }, "original": { From 8c7fdc0f5d6fea7e1081e053d41a896b8ea45a47 Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Tue, 17 Jun 2025 11:23:43 +0800 Subject: [PATCH 187/271] feat(snippets/luasnip): allow custom snippets --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/snippets/luasnip/config.nix | 44 ++++++++++++++- modules/plugins/snippets/luasnip/luasnip.nix | 58 +++++++++++++++++++- 3 files changed, 101 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a1a967ff..c01bc043 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -352,6 +352,7 @@ [rrvsh](https://github.com/rrvsh): +- Add custom snippet support to `vim.snippets.luasnip` - Fix namespace of python-lsp-server by changing it to python3Packages [Noah765](https://github.com/Noah765): diff --git a/modules/plugins/snippets/luasnip/config.nix b/modules/plugins/snippets/luasnip/config.nix index 11be37c1..5f2abdf0 100644 --- a/modules/plugins/snippets/luasnip/config.nix +++ b/modules/plugins/snippets/luasnip/config.nix @@ -1,11 +1,48 @@ { config, lib, + pkgs, ... }: let inherit (lib.modules) mkIf; + inherit (lib.lists) replicate; + inherit + (lib.strings) + optionalString + removeSuffix + concatStrings + stringAsChars + concatMapStringsSep + ; + inherit (lib.attrsets) mapAttrsToList; + inherit (pkgs) writeTextFile; cfg = config.vim.snippets.luasnip; + # LuaSnip freaks out if the indentation is wrong in snippets + indent = n: s: let + indentString = concatStrings (replicate n " "); + sep = "\n" + indentString; + in + indentString + + stringAsChars (c: + if c == "\n" + then sep + else c) (removeSuffix "\n" s); + customSnipmateSnippetFiles = + mapAttrsToList ( + name: value: + writeTextFile { + name = "${name}.snippets"; + text = + concatMapStringsSep "\n" (x: '' + snippet ${x.trigger} ${x.description} + ${indent 2 x.body} + '') + value; + destination = "/snippets/${name}.snippets"; + } + ) + cfg.customSnippets.snipmate; in { config = mkIf cfg.enable { vim = { @@ -19,11 +56,16 @@ in { after = cfg.loaders; }; - startPlugins = cfg.providers; + startPlugins = cfg.providers ++ customSnipmateSnippetFiles; autocomplete.nvim-cmp = mkIf config.vim.autocomplete.nvim-cmp.enable { sources = {luasnip = "[LuaSnip]";}; sourcePlugins = ["cmp-luasnip"]; }; + snippets.luasnip.loaders = '' + ${optionalString ( + cfg.customSnippets.snipmate != {} + ) "require('luasnip.loaders.from_snipmate').lazy_load()"} + ''; }; }; } diff --git a/modules/plugins/snippets/luasnip/luasnip.nix b/modules/plugins/snippets/luasnip/luasnip.nix index 6b189b61..601dc109 100644 --- a/modules/plugins/snippets/luasnip/luasnip.nix +++ b/modules/plugins/snippets/luasnip/luasnip.nix @@ -1,6 +1,6 @@ {lib, ...}: let inherit (lib.options) mkEnableOption mkOption literalExpression literalMD; - inherit (lib.types) listOf lines; + inherit (lib.types) listOf lines submodule str attrsOf; inherit (lib.nvim.types) pluginType mkPluginSetupOption; in { options.vim.snippets.luasnip = { @@ -36,5 +36,61 @@ in { setupOpts = mkPluginSetupOption "LuaSnip" { enable_autosnippets = mkEnableOption "autosnippets"; }; + + customSnippets.snipmate = mkOption { + type = attrsOf ( + listOf (submodule { + options = { + trigger = mkOption { + type = str; + description = '' + The trigger used to activate this snippet. + ''; + }; + description = mkOption { + type = str; + default = ""; + description = '' + The description shown for this snippet. + ''; + }; + body = mkOption { + type = str; + description = '' + [LuaSnip Documentation]: https://github.com/L3MON4D3/LuaSnip#add-snippets + The body of the snippet in SnipMate format (see [LuaSnip Documentation]). + ''; + }; + }; + }) + ); + default = {}; + example = '' + { + all = [ + { + trigger = "if"; + body = "if $1 else $2"; + } + ]; + nix = [ + { + trigger = "mkOption"; + body = ''' + mkOption { + type = $1; + default = $2; + description = $3; + example = $4; + } + '''; + } + ]; + } + ''; + description = '' + A list containing custom snippets in the SnipMate format to be loaded by LuaSnip. + ''; + }; }; } From 18c17b7b8dbf6e0f10e3eb5f1fa5341a9175a3b1 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 20 Jun 2025 20:44:42 +0300 Subject: [PATCH 188/271] meta: don't check indent style for npins sources & lockfile --- .editorconfig | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.editorconfig b/.editorconfig index c7fdc76d..1f39b72e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -19,13 +19,12 @@ indent_style = space indent_size = 2 tab_width = 2 -[*.{diff,patch}] +[*.{diff,patch,lock}] end_of_line = unset insert_final_newline = unset trim_trailing_whitespace = unset -[*.lock] -indent_size = unset - [npins/sources.json] -insert_final_newline = unset +indent_style = unset +indent_size = unset +trim_trailing_whitespace = unset From 688d7df0e572f79f75ca4f8e4969fdd3a3eb0e30 Mon Sep 17 00:00:00 2001 From: Tofixrs <73693639+Tofixrs@users.noreply.github.com> Date: Wed, 25 Jun 2025 10:31:48 +0200 Subject: [PATCH 189/271] nvim-session-manager: add GitSession autoload mode Adds the missing autoload mode from the docs https://github.com/Shatur/neovim-session-manager?tab=readme-ov-file#autoload-mode --- .../session/nvim-session-manager/nvim-session-manager.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix b/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix index e60a4a5d..8390d1ce 100644 --- a/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix +++ b/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix @@ -77,7 +77,7 @@ in { }; autoload_mode = mkOption { - type = either (enum ["Disabled" "CurrentDir" "LastSession"]) luaInline; + type = either (enum ["Disabled" "CurrentDir" "LastSession" "GitSession"]) luaInline; # Variable 'sm' is defined in the pluginRC of nvim-session-manager. The # definition is as follows: `local sm = require('session_manager.config')` apply = val: @@ -88,7 +88,7 @@ in { description = '' Define what to do when Neovim is started without arguments. - Takes either one of `"Disabled"`, `"CurrentDir"`, `"LastSession` in which case the value + Takes either one of `"Disabled"`, `"CurrentDir"`, `"LastSession"`, `"GitSession"` in which case the value will be inserted into `sm.AutoloadMode.`, or an inline Lua value. ''; }; From f728834aa3da83beb43f27cf5f6bd0e41e3a09bd Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Thu, 26 Jun 2025 15:25:57 +0200 Subject: [PATCH 190/271] binds/which-key: allow deregistering binds or groups --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/utility/binds/which-key/config.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c01bc043..90db7b68 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -439,3 +439,4 @@ - Add [smart-splits.nvim] for navigating between Neovim windows and terminal multiplexer panes. Available at `vim.utility.smart-splits`. +- Allow deregistering which-key binds or groups by setting them to `null` diff --git a/modules/plugins/utility/binds/which-key/config.nix b/modules/plugins/utility/binds/which-key/config.nix index 68dbbfbf..625a6215 100644 --- a/modules/plugins/utility/binds/which-key/config.nix +++ b/modules/plugins/utility/binds/which-key/config.nix @@ -10,7 +10,7 @@ inherit (lib.nvim.dag) entryAnywhere; cfg = config.vim.binds.whichKey; - register = mapAttrsToList (n: v: mkLuaInline "{ '${n}', desc = '${v}' }") cfg.register; + register = mapAttrsToList (n: v: lib.lists.optional (! isNull v) (mkLuaInline "{ '${n}', desc = '${v}' }")) cfg.register; in { config = mkIf cfg.enable { vim = { From b79a5b1dcb59fc7342e706a83fb139f678132fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20V=C3=A1clavek?= <118657567+vaclavek-kamil@users.noreply.github.com> Date: Fri, 27 Jun 2025 15:15:11 +0200 Subject: [PATCH 191/271] Update vim.clipboard.registers type to str nvf.settings.vim.clipboard.registers allows for either a string or a list of strings, but Neovim only accepts a string value. Solved by updating the type to allow strings only. --- modules/neovim/init/clipboard.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/neovim/init/clipboard.nix b/modules/neovim/init/clipboard.nix index 011effaf..d1d0622c 100644 --- a/modules/neovim/init/clipboard.nix +++ b/modules/neovim/init/clipboard.nix @@ -20,7 +20,7 @@ in { ''; registers = mkOption { - type = either str (listOf str); + type = str; default = ""; example = "unnamedplus"; description = '' @@ -33,8 +33,8 @@ in { `"+"` ({command}`:h quoteplus`) instead of register `"*"` for all yank, delete, change and put operations which would normally go to the unnamed register. - When `unnamed` and `unnamedplus` is included simultaneously yank and delete - operations (but not put) will additionally copy the text into register `"*"`. + When `unnamed` and `unnamedplus` is included simultaneously as `"unnamed,unnamedplus"`, + yank and delete operations (but not put) will additionally copy the text into register `"*"`. Please see {command}`:h clipboard` for more details. From 398b8456553665cf3421bc524bb85b1775ea8aa3 Mon Sep 17 00:00:00 2001 From: vai Date: Wed, 2 Jul 2025 15:59:07 -0700 Subject: [PATCH 192/271] doc: fix un-buildable example code in pure lua config section The example code references an invalid nvf option: `vim.additionalRuntimeDirectories`. The correct option is `vim.additionalRuntimePaths`. --- docs/manual/tips/pure-lua-config.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/manual/tips/pure-lua-config.md b/docs/manual/tips/pure-lua-config.md index eb8881e9..1dca8296 100644 --- a/docs/manual/tips/pure-lua-config.md +++ b/docs/manual/tips/pure-lua-config.md @@ -23,7 +23,7 @@ manner. # flake.nix. For the sake of the argument, we will assume that the Neovim lua # configuration is in a nvim/ directory relative to flake.nix. vim = { - additionalRuntimeDirectories = [ + additionalRuntimePaths = [ # This will be added to Neovim's runtime paths. Conceptually, this behaves # very similarly to ~/.config/nvim but you may not place a top-level # init.lua to be able to require it directly. @@ -41,7 +41,7 @@ directory, and call it with [](#opt-vim.luaConfigRC). ```nix {pkgs, ...}: { vim = { - additionalRuntimeDirectories = [ + additionalRuntimePaths = [ # You can list more than one file here. ./nvim-custom-1 From 06b5903b534c9ce19f00943bc31ca9932ca37525 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Thu, 3 Jul 2025 17:06:12 +0200 Subject: [PATCH 193/271] lualine: fix separator options to work with recent versions of lualine --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/statusline/lualine/config.nix | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c01bc043..3a8bbc3b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -439,3 +439,4 @@ - Add [smart-splits.nvim] for navigating between Neovim windows and terminal multiplexer panes. Available at `vim.utility.smart-splits`. +- Fix lualine separator options diff --git a/modules/plugins/statusline/lualine/config.nix b/modules/plugins/statusline/lualine/config.nix index 89dcbbe5..010b6cd2 100644 --- a/modules/plugins/statusline/lualine/config.nix +++ b/modules/plugins/statusline/lualine/config.nix @@ -63,8 +63,8 @@ in { options = { icons_enabled = mkDefault cfg.icons.enable; theme = mkDefault cfg.theme; - component_separators = mkDefault [cfg.componentSeparator.left cfg.componentSeparator.right]; - section_separators = mkDefault [cfg.sectionSeparator.left cfg.sectionSeparator.right]; + component_separators = mkDefault cfg.componentSeparator; + section_separators = mkDefault cfg.sectionSeparator; globalstatus = mkDefault cfg.globalStatus; refresh = mkDefault cfg.refresh; always_divide_middle = mkDefault cfg.alwaysDivideMiddle; From 6ec28999cb40b8a443a5148d846c57b4f81ed5a5 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Fri, 4 Jul 2025 22:38:25 +0200 Subject: [PATCH 194/271] docs: working example for `vim.diagnostics.config.signs` Fixes #863 --- modules/neovim/init/diagnostics.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/modules/neovim/init/diagnostics.nix b/modules/neovim/init/diagnostics.nix index 18717edf..389835a9 100644 --- a/modules/neovim/init/diagnostics.nix +++ b/modules/neovim/init/diagnostics.nix @@ -57,14 +57,21 @@ signs = mkOption { type = diagnosticType; default = false; - example = { - signs.text = { - "vim.diagnostic.severity.ERROR" = "󰅚 "; - "vim.diagnostic.severity.WARN" = "󰀪 "; - }; - }; + example = literalExpression '' + signs.text = lib.generators.mkLuaInline ''' + { + [vim.diagnostic.severity.ERROR] = "󰅚 ", + [vim.diagnostic.severity.WARN] = "󰀪 ", + } + '''; + ''; description = '' Use signs for diagnostics. See {command}`:help diagnostic-signs`. + + :::{.note} + The code presented in that help section uses lua expressions as object keys which + only translate well if you use `lib.generators.mkLuaInline` as in the example. + ::: ''; }; From 045f098f0e2b8ca28300b76059d8b785ac00f0ac Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Sat, 5 Jul 2025 18:48:20 +0200 Subject: [PATCH 195/271] spellcheck: restore configuration for vim-dirtytalk --- configuration.nix | 1 + docs/release-notes/rl-0.8.md | 1 + modules/modules.nix | 2 +- modules/neovim/init/spellcheck.nix | 2 ++ modules/plugins/spellcheck/vim-dirtytalk/config.nix | 2 +- 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/configuration.nix b/configuration.nix index 6f26f040..060362ca 100644 --- a/configuration.nix +++ b/configuration.nix @@ -15,6 +15,7 @@ isMaximal: { spellcheck = { enable = true; + programmingWordlist.enable = isMaximal; }; lsp = { diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c01bc043..1213c9e5 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -439,3 +439,4 @@ - 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. diff --git a/modules/modules.nix b/modules/modules.nix index 97bfa211..1eca042a 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -38,7 +38,7 @@ "runner" "session" "snippets" - # "spellcheck" # FIXME: see neovim/init/spellcheck.nix + "spellcheck" "statusline" "tabline" "terminal" diff --git a/modules/neovim/init/spellcheck.nix b/modules/neovim/init/spellcheck.nix index fb0f86ea..5c593a65 100644 --- a/modules/neovim/init/spellcheck.nix +++ b/modules/neovim/init/spellcheck.nix @@ -94,6 +94,8 @@ in { Enabling this option will unconditionally set {option}`vim.spellcheck.enable` to true as vim-dirtytalk depends on spellchecking having been set up. + + Run {command}`:DirtytalkUpdate` on first use to download the spellfile. ::: ''; }; diff --git a/modules/plugins/spellcheck/vim-dirtytalk/config.nix b/modules/plugins/spellcheck/vim-dirtytalk/config.nix index 51ccfb81..7fd32d61 100644 --- a/modules/plugins/spellcheck/vim-dirtytalk/config.nix +++ b/modules/plugins/spellcheck/vim-dirtytalk/config.nix @@ -17,7 +17,7 @@ in { # like to append programming to spelllangs as soon as # possible while the plugin is enabled and the state # directory can be found. - pluginRC.vim-dirtytalk = entryAfter ["spellcheck"] '' + luaConfigRC.vim-dirtytalk = entryAfter ["spellcheck"] '' -- If Neovim can find (or access) the state directory -- then append "programming" wordlist from vim-dirtytalk -- to spelllang table. If path cannot be found, display From f86030bc0e5ad0d1c4871d3c50bddb815fdade46 Mon Sep 17 00:00:00 2001 From: poz Date: Sun, 6 Jul 2025 03:06:29 +0200 Subject: [PATCH 196/271] treewide: move away from deprecated `nodePackages` aliases --- modules/plugins/languages/bash.nix | 2 +- modules/plugins/languages/svelte.nix | 2 +- modules/plugins/languages/yaml.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/plugins/languages/bash.nix b/modules/plugins/languages/bash.nix index e02596cf..9a5e3e13 100644 --- a/modules/plugins/languages/bash.nix +++ b/modules/plugins/languages/bash.nix @@ -66,7 +66,7 @@ in { package = mkOption { description = "bash-language-server package, or the command to run as a list of strings"; - example = literalExpression ''[lib.getExe pkgs.nodePackages.bash-language-server "start"]''; + example = literalExpression ''[lib.getExe pkgs.bash-language-server "start"]''; type = either package (listOf str); default = pkgs.bash-language-server; }; diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index 4eb84176..ed4176e0 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -19,7 +19,7 @@ defaultServer = "svelte"; servers = { svelte = { - package = pkgs.nodePackages.svelte-language-server; + package = pkgs.svelte-language-server; lspConfig = '' lspconfig.svelte.setup { capabilities = capabilities; diff --git a/modules/plugins/languages/yaml.nix b/modules/plugins/languages/yaml.nix index 7a1a4552..a75a921f 100644 --- a/modules/plugins/languages/yaml.nix +++ b/modules/plugins/languages/yaml.nix @@ -28,7 +28,7 @@ defaultServer = "yaml-language-server"; servers = { yaml-language-server = { - package = pkgs.nodePackages.yaml-language-server; + package = pkgs.yaml-language-server; lspConfig = '' From ad69bef1f5142931abbafcbb279a69451d3ec4fe Mon Sep 17 00:00:00 2001 From: poz Date: Sun, 6 Jul 2025 03:30:44 +0200 Subject: [PATCH 197/271] treewide: remove unused inherits --- lib/lua.nix | 2 +- modules/neovim/init/clipboard.nix | 2 +- modules/neovim/mappings/config.nix | 2 +- modules/plugins/assistant/copilot/config.nix | 1 - modules/plugins/completion/blink-cmp/blink-cmp.nix | 1 - modules/plugins/completion/nvim-cmp/config.nix | 3 +-- modules/plugins/completion/nvim-cmp/nvim-cmp.nix | 2 +- modules/plugins/dashboard/alpha/config.nix | 1 - modules/plugins/languages/astro.nix | 1 - modules/plugins/languages/nim.nix | 1 - modules/plugins/languages/svelte.nix | 1 - modules/plugins/languages/ts.nix | 1 - modules/plugins/mini/hues/hues.nix | 1 - modules/plugins/utility/leetcode-nvim/leetcode-nvim.nix | 2 +- modules/plugins/utility/motion/flash/config.nix | 2 -- modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix | 2 +- 16 files changed, 7 insertions(+), 18 deletions(-) diff --git a/lib/lua.nix b/lib/lua.nix index e3f94498..4106a4c2 100644 --- a/lib/lua.nix +++ b/lib/lua.nix @@ -2,7 +2,7 @@ {lib}: let inherit (builtins) hasAttr head throw typeOf isList isAttrs isBool isInt isString isPath isFloat toJSON; inherit (lib.attrsets) mapAttrsToList filterAttrs; - inherit (lib.strings) concatStringsSep concatMapStringsSep stringToCharacters concatLines; + inherit (lib.strings) concatStringsSep concatMapStringsSep stringToCharacters; inherit (lib.trivial) boolToString warn; in rec { # Convert a null value to lua's nil diff --git a/modules/neovim/init/clipboard.nix b/modules/neovim/init/clipboard.nix index d1d0622c..132079b4 100644 --- a/modules/neovim/init/clipboard.nix +++ b/modules/neovim/init/clipboard.nix @@ -6,7 +6,7 @@ }: let inherit (lib.modules) mkIf; inherit (lib.options) mkOption mkEnableOption mkPackageOption; - inherit (lib.types) nullOr either str listOf submodule; + inherit (lib.types) str submodule; inherit (lib.attrsets) mapAttrs mapAttrsToList filterAttrs; cfg = config.vim.clipboard; in { diff --git a/modules/neovim/mappings/config.nix b/modules/neovim/mappings/config.nix index 230df030..a62a6ca2 100644 --- a/modules/neovim/mappings/config.nix +++ b/modules/neovim/mappings/config.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.modules) mkIf mkMerge; + inherit (lib.modules) mkMerge; inherit (lib.trivial) pipe; inherit (lib.attrsets) mapAttrsToList; inherit (lib.lists) flatten; diff --git a/modules/plugins/assistant/copilot/config.nix b/modules/plugins/assistant/copilot/config.nix index 525fe3bd..39b0d0ff 100644 --- a/modules/plugins/assistant/copilot/config.nix +++ b/modules/plugins/assistant/copilot/config.nix @@ -5,7 +5,6 @@ }: let inherit (builtins) toJSON; inherit (lib.modules) mkIf; - inherit (lib.strings) optionalString; cfg = config.vim.assistant.copilot; diff --git a/modules/plugins/completion/blink-cmp/blink-cmp.nix b/modules/plugins/completion/blink-cmp/blink-cmp.nix index d9e9945b..d07c777e 100644 --- a/modules/plugins/completion/blink-cmp/blink-cmp.nix +++ b/modules/plugins/completion/blink-cmp/blink-cmp.nix @@ -1,7 +1,6 @@ {lib, ...}: let inherit (lib.options) mkEnableOption mkOption literalMD; inherit (lib.types) bool listOf str either attrsOf submodule enum anything int nullOr; - inherit (lib.generators) mkLuaInline; inherit (lib.nvim.types) mkPluginSetupOption luaInline pluginType; inherit (lib.nvim.binds) mkMappingOption; inherit (lib.nvim.config) mkBool; diff --git a/modules/plugins/completion/nvim-cmp/config.nix b/modules/plugins/completion/nvim-cmp/config.nix index 749ebb7c..9cceb0b7 100644 --- a/modules/plugins/completion/nvim-cmp/config.nix +++ b/modules/plugins/completion/nvim-cmp/config.nix @@ -3,11 +3,10 @@ config, ... }: let - inherit (lib.modules) mkIf mkMerge; + inherit (lib.modules) mkIf; inherit (lib.strings) optionalString; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.lua) toLuaObject; - inherit (lib.nvim.attrsets) mapListToAttrs; inherit (builtins) attrNames typeOf tryEval concatStringsSep; borders = config.vim.ui.borders.plugins.nvim-cmp; diff --git a/modules/plugins/completion/nvim-cmp/nvim-cmp.nix b/modules/plugins/completion/nvim-cmp/nvim-cmp.nix index 2c8c77d3..4391a144 100644 --- a/modules/plugins/completion/nvim-cmp/nvim-cmp.nix +++ b/modules/plugins/completion/nvim-cmp/nvim-cmp.nix @@ -3,7 +3,7 @@ config, ... }: let - inherit (lib.options) mkEnableOption mkOption literalExpression literalMD; + inherit (lib.options) mkEnableOption mkOption literalMD; inherit (lib.types) str attrsOf nullOr either listOf; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.binds) mkMappingOption; diff --git a/modules/plugins/dashboard/alpha/config.nix b/modules/plugins/dashboard/alpha/config.nix index 804189b9..7a29bd0b 100644 --- a/modules/plugins/dashboard/alpha/config.nix +++ b/modules/plugins/dashboard/alpha/config.nix @@ -4,7 +4,6 @@ ... }: let inherit (lib.modules) mkIf; - inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.dashboard.alpha; diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index e1ae8f9d..21b6e5a3 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -10,7 +10,6 @@ inherit (lib.lists) isList; inherit (lib.meta) getExe; inherit (lib.types) enum either listOf package str; - inherit (lib.generators) mkLuaInline; inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.types) mkGrammarOption diagnostics; diff --git a/modules/plugins/languages/nim.nix b/modules/plugins/languages/nim.nix index d9a29e37..6e5885e2 100644 --- a/modules/plugins/languages/nim.nix +++ b/modules/plugins/languages/nim.nix @@ -6,7 +6,6 @@ }: let inherit (builtins) attrNames; inherit (lib.options) mkEnableOption mkOption; - inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.lists) isList; inherit (lib.types) enum either listOf package str; diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index ed4176e0..4cc9ffe9 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -9,7 +9,6 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.lists) isList; inherit (lib.meta) getExe; - inherit (lib.generators) mkLuaInline; inherit (lib.types) enum either listOf package str; inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.types) mkGrammarOption diagnostics; diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index 2939e2f3..6064da98 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -9,7 +9,6 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.lists) isList; inherit (lib.meta) getExe; - inherit (lib.generators) mkLuaInline; inherit (lib.types) enum either listOf package str bool; inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.types) mkGrammarOption diagnostics mkPluginSetupOption; diff --git a/modules/plugins/mini/hues/hues.nix b/modules/plugins/mini/hues/hues.nix index 13de5116..79638c47 100644 --- a/modules/plugins/mini/hues/hues.nix +++ b/modules/plugins/mini/hues/hues.nix @@ -4,7 +4,6 @@ ... }: let inherit (lib.options) mkEnableOption mkOption; - inherit (lib.strings) hasPrefix; inherit (lib.nvim.types) mkPluginSetupOption; inherit (lib.nvim.types) hexColor; in { diff --git a/modules/plugins/utility/leetcode-nvim/leetcode-nvim.nix b/modules/plugins/utility/leetcode-nvim/leetcode-nvim.nix index f71da02a..feb61570 100644 --- a/modules/plugins/utility/leetcode-nvim/leetcode-nvim.nix +++ b/modules/plugins/utility/leetcode-nvim/leetcode-nvim.nix @@ -1,6 +1,6 @@ {lib, ...}: let inherit (lib.options) mkOption mkEnableOption; - inherit (lib.types) enum str bool; + inherit (lib.types) enum str; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.types) mkPluginSetupOption luaInline; in { diff --git a/modules/plugins/utility/motion/flash/config.nix b/modules/plugins/utility/motion/flash/config.nix index 3adf0de8..83ddd0b9 100644 --- a/modules/plugins/utility/motion/flash/config.nix +++ b/modules/plugins/utility/motion/flash/config.nix @@ -5,8 +5,6 @@ }: let inherit (lib.modules) mkIf; inherit (lib.nvim.binds) mkKeymap; - inherit (lib.nvim.lua) toLuaObject; - inherit (lib.nvim.dag) entryAnywhere; cfg = config.vim.utility.motion.flash-nvim; in { diff --git a/modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix b/modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix index 109b06f0..2173e3be 100644 --- a/modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix +++ b/modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix @@ -1,7 +1,7 @@ {lib, ...}: let inherit (lib.modules) mkRemovedOptionModule; inherit (lib.options) mkOption mkEnableOption; - inherit (lib.types) submodule attrs attrsOf; + inherit (lib.types) attrs; inherit (lib.nvim.types) mkPluginSetupOption; in { imports = [ From a9503c8ef8338f6425e23ee4b5c8863a97d85064 Mon Sep 17 00:00:00 2001 From: poz Date: Sun, 6 Jul 2025 03:31:18 +0200 Subject: [PATCH 198/271] treewide: remove unused function arguments --- lib/stdlib-extended.nix | 6 +----- modules/plugins/mini/ai/ai.nix | 6 +----- modules/plugins/mini/align/align.nix | 6 +----- modules/plugins/mini/animate/animate.nix | 6 +----- modules/plugins/mini/basics/basics.nix | 6 +----- modules/plugins/mini/bracketed/bracketed.nix | 6 +----- modules/plugins/mini/bufremove/bufremove.nix | 6 +----- modules/plugins/mini/clue/clue.nix | 6 +----- modules/plugins/mini/colors/colors.nix | 6 +----- modules/plugins/mini/comment/comment.nix | 6 +----- modules/plugins/mini/completion/completion.nix | 6 +----- modules/plugins/mini/diff/diff.nix | 6 +----- modules/plugins/mini/doc/doc.nix | 6 +----- modules/plugins/mini/extra/extra.nix | 6 +----- modules/plugins/mini/files/files.nix | 6 +----- modules/plugins/mini/fuzzy/fuzzy.nix | 6 +----- modules/plugins/mini/git/git.nix | 6 +----- modules/plugins/mini/hipatterns/hipatterns.nix | 6 +----- modules/plugins/mini/hues/hues.nix | 6 +----- modules/plugins/mini/icons/icons.nix | 6 +----- modules/plugins/mini/jump/jump.nix | 6 +----- modules/plugins/mini/jump2d/jump2d.nix | 6 +----- modules/plugins/mini/map/map.nix | 6 +----- modules/plugins/mini/misc/misc.nix | 6 +----- modules/plugins/mini/move/move.nix | 6 +----- modules/plugins/mini/operators/operators.nix | 6 +----- modules/plugins/mini/pairs/pairs.nix | 6 +----- modules/plugins/mini/pick/pick.nix | 6 +----- modules/plugins/mini/sessions/sessions.nix | 6 +----- modules/plugins/mini/snippets/snippets.nix | 6 +----- modules/plugins/mini/splitjoin/splitjoin.nix | 6 +----- modules/plugins/mini/starter/starter.nix | 6 +----- modules/plugins/mini/statusline/statusline.nix | 6 +----- modules/plugins/mini/surround/surround.nix | 6 +----- modules/plugins/mini/tabline/tabline.nix | 6 +----- modules/plugins/mini/test/test.nix | 6 +----- modules/plugins/mini/trailspace/trailspace.nix | 6 +----- modules/plugins/mini/visits/visits.nix | 6 +----- modules/plugins/utility/smart-splits/config.nix | 1 - .../plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix | 6 +----- .../visuals/rainbow-delimiters/rainbow-delimiters.nix | 6 +----- 41 files changed, 40 insertions(+), 201 deletions(-) diff --git a/lib/stdlib-extended.nix b/lib/stdlib-extended.nix index a85160c3..403c7b28 100644 --- a/lib/stdlib-extended.nix +++ b/lib/stdlib-extended.nix @@ -1,10 +1,6 @@ # Convenience function that returns the given Nixpkgs standard library # extended with our functions using `lib.extend`. -{ - inputs, - self, - ... -} @ args: +{inputs, ...} @ args: inputs.nixpkgs.lib.extend (self: super: { # WARNING: New functions should not be added here, but to files # imported by `./default.nix` under their own categories. If your diff --git a/modules/plugins/mini/ai/ai.nix b/modules/plugins/mini/ai/ai.nix index d0da31d7..d4c43941 100644 --- a/modules/plugins/mini/ai/ai.nix +++ b/modules/plugins/mini/ai/ai.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/align/align.nix b/modules/plugins/mini/align/align.nix index 96c82947..56a68c1f 100644 --- a/modules/plugins/mini/align/align.nix +++ b/modules/plugins/mini/align/align.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/animate/animate.nix b/modules/plugins/mini/animate/animate.nix index fb17c0bd..d35f7461 100644 --- a/modules/plugins/mini/animate/animate.nix +++ b/modules/plugins/mini/animate/animate.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/basics/basics.nix b/modules/plugins/mini/basics/basics.nix index e855caa6..9bac3b1c 100644 --- a/modules/plugins/mini/basics/basics.nix +++ b/modules/plugins/mini/basics/basics.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/bracketed/bracketed.nix b/modules/plugins/mini/bracketed/bracketed.nix index 3152f046..454328e9 100644 --- a/modules/plugins/mini/bracketed/bracketed.nix +++ b/modules/plugins/mini/bracketed/bracketed.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/bufremove/bufremove.nix b/modules/plugins/mini/bufremove/bufremove.nix index 5e04609d..82819df9 100644 --- a/modules/plugins/mini/bufremove/bufremove.nix +++ b/modules/plugins/mini/bufremove/bufremove.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/clue/clue.nix b/modules/plugins/mini/clue/clue.nix index 50d33c65..825aa697 100644 --- a/modules/plugins/mini/clue/clue.nix +++ b/modules/plugins/mini/clue/clue.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/colors/colors.nix b/modules/plugins/mini/colors/colors.nix index 7d56cd49..b65c86aa 100644 --- a/modules/plugins/mini/colors/colors.nix +++ b/modules/plugins/mini/colors/colors.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; in { options.vim.mini.colors = { diff --git a/modules/plugins/mini/comment/comment.nix b/modules/plugins/mini/comment/comment.nix index c46c0a58..e3e03833 100644 --- a/modules/plugins/mini/comment/comment.nix +++ b/modules/plugins/mini/comment/comment.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/completion/completion.nix b/modules/plugins/mini/completion/completion.nix index fc36ed84..7c70e5e2 100644 --- a/modules/plugins/mini/completion/completion.nix +++ b/modules/plugins/mini/completion/completion.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/diff/diff.nix b/modules/plugins/mini/diff/diff.nix index 4a72fda2..9df564a4 100644 --- a/modules/plugins/mini/diff/diff.nix +++ b/modules/plugins/mini/diff/diff.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/doc/doc.nix b/modules/plugins/mini/doc/doc.nix index 8699fa11..2b302475 100644 --- a/modules/plugins/mini/doc/doc.nix +++ b/modules/plugins/mini/doc/doc.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/extra/extra.nix b/modules/plugins/mini/extra/extra.nix index c697fdd6..f0c4133e 100644 --- a/modules/plugins/mini/extra/extra.nix +++ b/modules/plugins/mini/extra/extra.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; in { options.vim.mini.extra = { diff --git a/modules/plugins/mini/files/files.nix b/modules/plugins/mini/files/files.nix index 4ba5fcc4..80d68589 100644 --- a/modules/plugins/mini/files/files.nix +++ b/modules/plugins/mini/files/files.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/fuzzy/fuzzy.nix b/modules/plugins/mini/fuzzy/fuzzy.nix index 977a1763..64a3f42f 100644 --- a/modules/plugins/mini/fuzzy/fuzzy.nix +++ b/modules/plugins/mini/fuzzy/fuzzy.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/git/git.nix b/modules/plugins/mini/git/git.nix index ebbf4282..6c64bbf7 100644 --- a/modules/plugins/mini/git/git.nix +++ b/modules/plugins/mini/git/git.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/hipatterns/hipatterns.nix b/modules/plugins/mini/hipatterns/hipatterns.nix index 019626cf..943ad9e5 100644 --- a/modules/plugins/mini/hipatterns/hipatterns.nix +++ b/modules/plugins/mini/hipatterns/hipatterns.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/hues/hues.nix b/modules/plugins/mini/hues/hues.nix index 79638c47..060d0eca 100644 --- a/modules/plugins/mini/hues/hues.nix +++ b/modules/plugins/mini/hues/hues.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption mkOption; inherit (lib.nvim.types) mkPluginSetupOption; inherit (lib.nvim.types) hexColor; diff --git a/modules/plugins/mini/icons/icons.nix b/modules/plugins/mini/icons/icons.nix index 27928a93..4f201cc1 100644 --- a/modules/plugins/mini/icons/icons.nix +++ b/modules/plugins/mini/icons/icons.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/jump/jump.nix b/modules/plugins/mini/jump/jump.nix index 1e16ae7a..5a6b0d08 100644 --- a/modules/plugins/mini/jump/jump.nix +++ b/modules/plugins/mini/jump/jump.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/jump2d/jump2d.nix b/modules/plugins/mini/jump2d/jump2d.nix index 59f7c2ba..f1e76570 100644 --- a/modules/plugins/mini/jump2d/jump2d.nix +++ b/modules/plugins/mini/jump2d/jump2d.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/map/map.nix b/modules/plugins/mini/map/map.nix index 2d42fe70..31735d08 100644 --- a/modules/plugins/mini/map/map.nix +++ b/modules/plugins/mini/map/map.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/misc/misc.nix b/modules/plugins/mini/misc/misc.nix index 1f4dcf55..4e82dd6f 100644 --- a/modules/plugins/mini/misc/misc.nix +++ b/modules/plugins/mini/misc/misc.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/move/move.nix b/modules/plugins/mini/move/move.nix index ec9eccac..4e598126 100644 --- a/modules/plugins/mini/move/move.nix +++ b/modules/plugins/mini/move/move.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/operators/operators.nix b/modules/plugins/mini/operators/operators.nix index 639229bf..1401e939 100644 --- a/modules/plugins/mini/operators/operators.nix +++ b/modules/plugins/mini/operators/operators.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/pairs/pairs.nix b/modules/plugins/mini/pairs/pairs.nix index 926c93d3..da599cc5 100644 --- a/modules/plugins/mini/pairs/pairs.nix +++ b/modules/plugins/mini/pairs/pairs.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/pick/pick.nix b/modules/plugins/mini/pick/pick.nix index d8ccbfd5..159d007b 100644 --- a/modules/plugins/mini/pick/pick.nix +++ b/modules/plugins/mini/pick/pick.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/sessions/sessions.nix b/modules/plugins/mini/sessions/sessions.nix index 0ceba595..61f235a8 100644 --- a/modules/plugins/mini/sessions/sessions.nix +++ b/modules/plugins/mini/sessions/sessions.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/snippets/snippets.nix b/modules/plugins/mini/snippets/snippets.nix index d7f0355c..05109e87 100644 --- a/modules/plugins/mini/snippets/snippets.nix +++ b/modules/plugins/mini/snippets/snippets.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/splitjoin/splitjoin.nix b/modules/plugins/mini/splitjoin/splitjoin.nix index 44b2f23f..b553bbb3 100644 --- a/modules/plugins/mini/splitjoin/splitjoin.nix +++ b/modules/plugins/mini/splitjoin/splitjoin.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/starter/starter.nix b/modules/plugins/mini/starter/starter.nix index df550857..d0041382 100644 --- a/modules/plugins/mini/starter/starter.nix +++ b/modules/plugins/mini/starter/starter.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/statusline/statusline.nix b/modules/plugins/mini/statusline/statusline.nix index 2c850ae1..23f43af1 100644 --- a/modules/plugins/mini/statusline/statusline.nix +++ b/modules/plugins/mini/statusline/statusline.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/surround/surround.nix b/modules/plugins/mini/surround/surround.nix index 726bf3f9..537293a8 100644 --- a/modules/plugins/mini/surround/surround.nix +++ b/modules/plugins/mini/surround/surround.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/tabline/tabline.nix b/modules/plugins/mini/tabline/tabline.nix index 936273db..ae924e27 100644 --- a/modules/plugins/mini/tabline/tabline.nix +++ b/modules/plugins/mini/tabline/tabline.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/test/test.nix b/modules/plugins/mini/test/test.nix index 28135a26..f6ca5f51 100644 --- a/modules/plugins/mini/test/test.nix +++ b/modules/plugins/mini/test/test.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/trailspace/trailspace.nix b/modules/plugins/mini/trailspace/trailspace.nix index 19757bfb..5d540d41 100644 --- a/modules/plugins/mini/trailspace/trailspace.nix +++ b/modules/plugins/mini/trailspace/trailspace.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/visits/visits.nix b/modules/plugins/mini/visits/visits.nix index c01e8ebf..5f9c6c1f 100644 --- a/modules/plugins/mini/visits/visits.nix +++ b/modules/plugins/mini/visits/visits.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/utility/smart-splits/config.nix b/modules/plugins/utility/smart-splits/config.nix index c175d7ac..82c43bac 100644 --- a/modules/plugins/utility/smart-splits/config.nix +++ b/modules/plugins/utility/smart-splits/config.nix @@ -1,5 +1,4 @@ { - pkgs, config, options, lib, diff --git a/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix b/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix index 2796a5e6..6ff22614 100644 --- a/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix +++ b/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.modules) mkRenamedOptionModule; inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.types) nullOr attrsOf attrs enum; diff --git a/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix b/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix index 3fed4a64..4f316cf3 100644 --- a/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix +++ b/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { From 94908ffb0a84d2ac2fffc4496115da67bad6fe00 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Sun, 6 Jul 2025 15:26:42 +0200 Subject: [PATCH 199/271] git/neogit: module init --- configuration.nix | 1 + docs/release-notes/rl-0.8.md | 4 +-- modules/plugins/git/default.nix | 1 + modules/plugins/git/gitsigns/config.nix | 2 +- modules/plugins/git/neogit/config.nix | 39 +++++++++++++++++++++++++ modules/plugins/git/neogit/default.nix | 6 ++++ modules/plugins/git/neogit/neogit.nix | 17 +++++++++++ npins/sources.json | 16 ++++++++++ 8 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 modules/plugins/git/neogit/config.nix create mode 100644 modules/plugins/git/neogit/default.nix create mode 100644 modules/plugins/git/neogit/neogit.nix diff --git a/configuration.nix b/configuration.nix index 6f26f040..2e392897 100644 --- a/configuration.nix +++ b/configuration.nix @@ -162,6 +162,7 @@ isMaximal: { enable = true; gitsigns.enable = true; gitsigns.codeActions.enable = false; # throws an annoying debug message + neogit.enable = isMaximal; }; minimap = { diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c01bc043..2157fcaa 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -433,9 +433,9 @@ [solarized.nvim]: https://github.com/maxmx03/solarized.nvim [smart-splits.nvim]: https://github.com/mrjones2014/smart-splits.nvim +[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`. - +- Add [neogit], an interactive and powerful Git interface for Neovim, inspired by Magit diff --git a/modules/plugins/git/default.nix b/modules/plugins/git/default.nix index 06c80f35..5b30b74a 100644 --- a/modules/plugins/git/default.nix +++ b/modules/plugins/git/default.nix @@ -6,6 +6,7 @@ in { ./vim-fugitive ./git-conflict ./gitlinker-nvim + ./neogit ]; options.vim.git = { diff --git a/modules/plugins/git/gitsigns/config.nix b/modules/plugins/git/gitsigns/config.nix index f5d9f910..e89eebcf 100644 --- a/modules/plugins/git/gitsigns/config.nix +++ b/modules/plugins/git/gitsigns/config.nix @@ -69,7 +69,7 @@ in { }; binds.whichKey.register = pushDownDefault { - "g" = "+Gitsigns"; + "h" = "+Gitsigns"; }; pluginRC.gitsigns = entryAnywhere '' diff --git a/modules/plugins/git/neogit/config.nix b/modules/plugins/git/neogit/config.nix new file mode 100644 index 00000000..20928857 --- /dev/null +++ b/modules/plugins/git/neogit/config.nix @@ -0,0 +1,39 @@ +{ + options, + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.binds) pushDownDefault mkKeymap; + + cfg = config.vim.git.neogit; + + keys = cfg.mappings; + inherit (options.vim.git.neogit) mappings; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["plenary-nvim"]; + + lazy.plugins.neogit = { + package = "neogit"; + setupModule = "neogit"; + inherit (cfg) setupOpts; + + cmd = ["Neogit"]; + + keys = [ + (mkKeymap "n" keys.open "Neogit" {desc = mappings.open.description;}) + (mkKeymap "n" keys.commit "Neogit commit" {desc = mappings.commit.description;}) + (mkKeymap "n" keys.pull "Neogit pull" {desc = mappings.pull.description;}) + (mkKeymap "n" keys.push "Neogit push" {desc = mappings.push.description;}) + ]; + }; + + binds.whichKey.register = pushDownDefault { + "g" = "+Git"; + }; + }; + }; +} diff --git a/modules/plugins/git/neogit/default.nix b/modules/plugins/git/neogit/default.nix new file mode 100644 index 00000000..d3f82759 --- /dev/null +++ b/modules/plugins/git/neogit/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./neogit.nix + ]; +} diff --git a/modules/plugins/git/neogit/neogit.nix b/modules/plugins/git/neogit/neogit.nix new file mode 100644 index 00000000..fa988a32 --- /dev/null +++ b/modules/plugins/git/neogit/neogit.nix @@ -0,0 +1,17 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.binds) mkMappingOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.git.neogit = { + enable = mkEnableOption "An Interactive and powerful Git interface [Neogit]"; + setupOpts = mkPluginSetupOption "neogit" {}; + + mappings = { + open = mkMappingOption "Git Status [Neogit]" "gs"; + commit = mkMappingOption "Git Commit [Neogit]" "gc"; + pull = mkMappingOption "Git pull [Neogit]" "gp"; + push = mkMappingOption "Git push [Neogit]" "gP"; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 455e1bd6..6b51ae44 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1530,6 +1530,22 @@ "url": "https://github.com/IogaMaster/neocord/archive/2ebf3792a8100376bb65fd66d5dbf60f50af7529.tar.gz", "hash": "1ycx26ppfb5djxji1mwamr7ra29z8sm0fs9a6hhwn0l69x06x353" }, + "neogit": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "NeogitOrg", + "repo": "neogit" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "submodules": false, + "version": "v2.0.0", + "revision": "7f97dbfc5af3b898c6660d927c23e3a96a5bd069", + "url": "https://api.github.com/repos/NeogitOrg/neogit/tarball/v2.0.0", + "hash": "0nyv64ai3765if7bdfyx01a0xmsmhm8cjvxyvh2s40bzvkx8xy17" + }, "neorg": { "type": "Git", "repository": { From 3b2a37ef3d73152dec865701b2a04b4bdc985c19 Mon Sep 17 00:00:00 2001 From: raf Date: Mon, 7 Jul 2025 12:38:07 +0300 Subject: [PATCH 200/271] init/diagnostics: clearify wording for `signs` description --- modules/neovim/init/diagnostics.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/neovim/init/diagnostics.nix b/modules/neovim/init/diagnostics.nix index 389835a9..8a8e7b38 100644 --- a/modules/neovim/init/diagnostics.nix +++ b/modules/neovim/init/diagnostics.nix @@ -69,7 +69,7 @@ Use signs for diagnostics. See {command}`:help diagnostic-signs`. :::{.note} - The code presented in that help section uses lua expressions as object keys which + The code presented in that example section uses Lua expressions as object keys which only translate well if you use `lib.generators.mkLuaInline` as in the example. ::: ''; From c0a5509a66f9f52bbf59f5ba3fb9fd0d42f8fad2 Mon Sep 17 00:00:00 2001 From: poz Date: Sun, 6 Jul 2025 04:30:12 +0200 Subject: [PATCH 201/271] languages/nix: switch from nil input to nixpkgs package --- modules/plugins/languages/nix.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index aceee70d..83022adf 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -2,7 +2,6 @@ config, pkgs, lib, - inputs, ... }: let inherit (builtins) attrNames; @@ -28,7 +27,7 @@ else ''{"${package}/bin/${defaultCmd}"}''; servers = { nil = { - package = inputs.nil.packages.${pkgs.stdenv.system}.nil; + package = pkgs.nil; internalFormatter = true; lspConfig = '' lspconfig.nil_ls.setup{ From 6381df4af2dc425056c8ef563c3291cebb714090 Mon Sep 17 00:00:00 2001 From: poz Date: Sun, 6 Jul 2025 04:30:31 +0200 Subject: [PATCH 202/271] flake: remove nil input --- flake.lock | 21 --------------------- flake.nix | 7 ------- flake/develop.nix | 2 +- 3 files changed, 1 insertion(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index bd1dc28d..fb0c5599 100644 --- a/flake.lock +++ b/flake.lock @@ -51,26 +51,6 @@ "type": "github" } }, - "nil": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750047244, - "narHash": "sha256-vluLARrk4485npdyHOj8XKr0yk6H22pNf+KVRNL+i/Y=", - "owner": "oxalica", - "repo": "nil", - "rev": "870a4b1b5f12004832206703ac15aa85c42c247b", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "nil", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1750215678, @@ -107,7 +87,6 @@ "flake-parts": "flake-parts", "flake-utils": "flake-utils", "mnw": "mnw", - "nil": "nil", "nixpkgs": "nixpkgs", "systems": "systems_2" } diff --git a/flake.nix b/flake.nix index 12ace081..16d4b0c7 100644 --- a/flake.nix +++ b/flake.nix @@ -82,12 +82,5 @@ # Alternate neovim-wrapper mnw.url = "github:Gerg-L/mnw"; - - ## Language servers (use master instead of nixpkgs) - # Nix LSP - nil = { - url = "github:oxalica/nil"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; } diff --git a/flake/develop.nix b/flake/develop.nix index d92b8182..aae9d92f 100644 --- a/flake/develop.nix +++ b/flake/develop.nix @@ -10,7 +10,7 @@ default = self'.devShells.lsp; nvim-nix = pkgs.mkShellNoCC {packages = [config.packages.nix];}; lsp = pkgs.mkShellNoCC { - packages = with pkgs; [inputs'.nil.packages.default statix deadnix alejandra npins]; + packages = with pkgs; [nil statix deadnix alejandra npins]; }; }; From 72846557d5ea6ae6ae7002fc5bfd2813b54afa02 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Tue, 8 Jul 2025 20:26:04 +0200 Subject: [PATCH 203/271] docs: note which-key gitsigns group related breaking change --- docs/release-notes/rl-0.8.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 66816adf..a03ab9fe 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -24,6 +24,10 @@ module interface. You may set [](#opt-vim.clipboard.registers) appropriately to configure Neovim to use the system clipboard. +- Changed which-key group used for gitsigns from `g` to `h` to + align with the "hunks" themed mapping and avoid conflict with the new [neogit] + group. + [NotAShelf](https://github.com/notashelf): [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim From 2317cba854a9bdeb1c864b068ed9fb9da4fb29b9 Mon Sep 17 00:00:00 2001 From: Devin Droddy Date: Fri, 4 Jul 2025 22:19:50 -0400 Subject: [PATCH 204/271] supermaven-nvim: add option closes #970 --- modules/plugins/assistant/default.nix | 1 + .../plugins/assistant/supermaven/config.nix | 17 ++++ .../plugins/assistant/supermaven/default.nix | 6 ++ .../assistant/supermaven/supermaven.nix | 82 +++++++++++++++++++ npins/sources.json | 13 +++ 5 files changed, 119 insertions(+) create mode 100644 modules/plugins/assistant/supermaven/config.nix create mode 100644 modules/plugins/assistant/supermaven/default.nix create mode 100644 modules/plugins/assistant/supermaven/supermaven.nix diff --git a/modules/plugins/assistant/default.nix b/modules/plugins/assistant/default.nix index ab50ea4f..7329753a 100644 --- a/modules/plugins/assistant/default.nix +++ b/modules/plugins/assistant/default.nix @@ -3,6 +3,7 @@ ./chatgpt ./copilot ./codecompanion + ./supermaven ./avante ]; } diff --git a/modules/plugins/assistant/supermaven/config.nix b/modules/plugins/assistant/supermaven/config.nix new file mode 100644 index 00000000..f2c13ba6 --- /dev/null +++ b/modules/plugins/assistant/supermaven/config.nix @@ -0,0 +1,17 @@ +{ + config, + lib, + ... +}: let + cfg = config.vim.assistant.supermaven; +in { + config = lib.mkIf cfg.enable { + vim.plugins = { + supermaven-nvim = { + package = "supermaven-nvim"; + setupModule = "supermaven-nvim"; + inherit (cfg) setupOpts; + }; + }; + }; +} diff --git a/modules/plugins/assistant/supermaven/default.nix b/modules/plugins/assistant/supermaven/default.nix new file mode 100644 index 00000000..a1de45d5 --- /dev/null +++ b/modules/plugins/assistant/supermaven/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./supermaven.nix + ./config.nix + ]; +} diff --git a/modules/plugins/assistant/supermaven/supermaven.nix b/modules/plugins/assistant/supermaven/supermaven.nix new file mode 100644 index 00000000..2a7060b3 --- /dev/null +++ b/modules/plugins/assistant/supermaven/supermaven.nix @@ -0,0 +1,82 @@ +{lib, ...}: let + inherit (lib) mkOption mkEnableOption types; +in { + options.vim.assistant.supermaven = { + enable = mkEnableOption "Supermaven AI assistant"; + + setupOpts = lib.nvim.types.mkPluginSetupOption "Supermaven" { + keymaps = { + accept_suggestion = mkOption { + type = types.nullOr lib.types.str; + default = null; + example = ""; + description = "The key to accept a suggestion"; + }; + clear_suggestion = mkOption { + type = types.nullOr lib.types.str; + default = null; + example = ""; + description = "The key to clear a suggestion"; + }; + accept_word = mkOption { + type = types.nullOr lib.types.str; + default = null; + example = ""; + description = "The key to accept a word"; + }; + }; + ignore_filetypes = mkOption { + type = types.nullOr (types.attrsOf types.bool); + default = null; + example = { + markdown = true; + }; + description = "List of filetypes to ignore"; + }; + color = { + suggestion_color = mkOption { + type = types.nullOr types.str; + default = null; + example = "#ffffff"; + description = "The hex color of the suggestion"; + }; + cterm = mkOption { + type = types.nullOr types.ints.u8; + default = null; + example = 244; + description = "The cterm color of the suggestion"; + }; + }; + log_level = mkOption { + type = types.nullOr ( + types.enum [ + "off" + "trace" + "debug" + "info" + "warn" + "error" + ] + ); + default = null; + example = "info"; + description = "The log level. Set to `\"off\"` to disable completely"; + }; + disable_inline_completion = mkOption { + type = types.nullOr types.bool; + default = null; + description = "Disable inline completion for use with cmp"; + }; + disable_keymaps = mkOption { + type = types.nullOr types.bool; + default = null; + description = "Disable built-in keymaps for more manual control"; + }; + condition = mkOption { + type = types.nullOr lib.nvim.types.luaInline; + default = null; + description = "Condition function to check for stopping supermaven. A returned `true` means to stop supermaven"; + }; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 6b51ae44..5a962940 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2335,6 +2335,19 @@ "url": "https://github.com/nanotee/sqls.nvim/archive/d1bc5421ef3e8edc5101e37edbb7de6639207a09.tar.gz", "hash": "1j4n5c8h1iriqzsjxr0wvz70g9lf6d4lm3nyxlpwy9dqmbj8w0kd" }, + "supermaven-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "supermaven-inc", + "repo": "supermaven-nvim" + }, + "branch": "main", + "submodules": false, + "revision": "07d20fce48a5629686aefb0a7cd4b25e33947d50", + "url": "https://github.com/supermaven-inc/supermaven-nvim/archive/07d20fce48a5629686aefb0a7cd4b25e33947d50.tar.gz", + "hash": "1h9h98wsnfhkfdmdxjvr2d4idhrvp4i56pp4q6l0m4d2i0ldcgfp" + }, "tabular": { "type": "Git", "repository": { From b86e7d157d392a63c867fa36f5098ab459254b7f Mon Sep 17 00:00:00 2001 From: Devin Droddy Date: Sat, 5 Jul 2025 11:08:15 -0400 Subject: [PATCH 205/271] supermaven-nvim: fixes --- modules/plugins/assistant/default.nix | 2 +- .../{supermaven => supermaven-nvim}/config.nix | 4 ++-- .../{supermaven => supermaven-nvim}/default.nix | 0 .../supermaven-nvim.nix} | 11 ++++++++--- 4 files changed, 11 insertions(+), 6 deletions(-) rename modules/plugins/assistant/{supermaven => supermaven-nvim}/config.nix (76%) rename modules/plugins/assistant/{supermaven => supermaven-nvim}/default.nix (100%) rename modules/plugins/assistant/{supermaven/supermaven.nix => supermaven-nvim/supermaven-nvim.nix} (89%) diff --git a/modules/plugins/assistant/default.nix b/modules/plugins/assistant/default.nix index 7329753a..a4da583a 100644 --- a/modules/plugins/assistant/default.nix +++ b/modules/plugins/assistant/default.nix @@ -3,7 +3,7 @@ ./chatgpt ./copilot ./codecompanion - ./supermaven + ./supermaven-nvim ./avante ]; } diff --git a/modules/plugins/assistant/supermaven/config.nix b/modules/plugins/assistant/supermaven-nvim/config.nix similarity index 76% rename from modules/plugins/assistant/supermaven/config.nix rename to modules/plugins/assistant/supermaven-nvim/config.nix index f2c13ba6..55d401a5 100644 --- a/modules/plugins/assistant/supermaven/config.nix +++ b/modules/plugins/assistant/supermaven-nvim/config.nix @@ -3,10 +3,10 @@ lib, ... }: let - cfg = config.vim.assistant.supermaven; + cfg = config.vim.assistant.supermaven-nvim; in { config = lib.mkIf cfg.enable { - vim.plugins = { + vim.lazy.plugins = { supermaven-nvim = { package = "supermaven-nvim"; setupModule = "supermaven-nvim"; diff --git a/modules/plugins/assistant/supermaven/default.nix b/modules/plugins/assistant/supermaven-nvim/default.nix similarity index 100% rename from modules/plugins/assistant/supermaven/default.nix rename to modules/plugins/assistant/supermaven-nvim/default.nix diff --git a/modules/plugins/assistant/supermaven/supermaven.nix b/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix similarity index 89% rename from modules/plugins/assistant/supermaven/supermaven.nix rename to modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix index 2a7060b3..651dfdf6 100644 --- a/modules/plugins/assistant/supermaven/supermaven.nix +++ b/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix @@ -1,7 +1,8 @@ {lib, ...}: let - inherit (lib) mkOption mkEnableOption types; + inherit (lib) types; + inherit (lib.options) mkOption mkEnableOption; in { - options.vim.assistant.supermaven = { + options.vim.assistant.supermaven-nvim = { enable = mkEnableOption "Supermaven AI assistant"; setupOpts = lib.nvim.types.mkPluginSetupOption "Supermaven" { @@ -75,7 +76,11 @@ in { condition = mkOption { type = types.nullOr lib.nvim.types.luaInline; default = null; - description = "Condition function to check for stopping supermaven. A returned `true` means to stop supermaven"; + description = '' + Condition function to check for stopping supermaven. + + A returned `true` means to stop supermaven + ''; }; }; }; From 53c85ca262c40c53087f91c81281c16864849a92 Mon Sep 17 00:00:00 2001 From: Devin Droddy Date: Sat, 5 Jul 2025 11:15:37 -0400 Subject: [PATCH 206/271] assistant/supermaven-nvim: explicit type imports --- .../supermaven-nvim/supermaven-nvim.nix | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix b/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix index 651dfdf6..4f1acb66 100644 --- a/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix +++ b/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix @@ -1,80 +1,86 @@ {lib, ...}: let - inherit (lib) types; + inherit + (lib.types) + nullOr + str + bool + attrsOf + ints + enum + ; inherit (lib.options) mkOption mkEnableOption; in { options.vim.assistant.supermaven-nvim = { enable = mkEnableOption "Supermaven AI assistant"; - setupOpts = lib.nvim.types.mkPluginSetupOption "Supermaven" { + setupOpts = lib.nvim.mkPluginSetupOption "Supermaven" { keymaps = { accept_suggestion = mkOption { - type = types.nullOr lib.types.str; + type = nullOr str; default = null; example = ""; description = "The key to accept a suggestion"; }; clear_suggestion = mkOption { - type = types.nullOr lib.types.str; + type = nullOr str; default = null; example = ""; description = "The key to clear a suggestion"; }; accept_word = mkOption { - type = types.nullOr lib.types.str; + type = nullOr str; default = null; example = ""; description = "The key to accept a word"; }; }; - ignore_filetypes = mkOption { - type = types.nullOr (types.attrsOf types.bool); + ignore_file = mkOption { + type = nullOr (attrsOf bool); default = null; example = { markdown = true; }; - description = "List of filetypes to ignore"; + description = "List of fileto ignore"; }; color = { suggestion_color = mkOption { - type = types.nullOr types.str; + type = nullOr str; default = null; example = "#ffffff"; description = "The hex color of the suggestion"; }; cterm = mkOption { - type = types.nullOr types.ints.u8; + type = nullOr ints.u8; default = null; example = 244; description = "The cterm color of the suggestion"; }; }; log_level = mkOption { - type = types.nullOr ( - types.enum [ - "off" - "trace" - "debug" - "info" - "warn" - "error" - ] - ); + type = nullOr (enum [ + "off" + "trace" + "debug" + "info" + "warn" + "error" + ]); default = null; example = "info"; description = "The log level. Set to `\"off\"` to disable completely"; }; disable_inline_completion = mkOption { - type = types.nullOr types.bool; + type = nullOr bool; default = null; description = "Disable inline completion for use with cmp"; }; disable_keymaps = mkOption { - type = types.nullOr types.bool; + type = nullOr bool; default = null; description = "Disable built-in keymaps for more manual control"; }; condition = mkOption { - type = types.nullOr lib.nvim.types.luaInline; + type = nullOr lib.nvim.luaInline; default = null; description = '' Condition function to check for stopping supermaven. From 6dcca0e96e7109cf3f3835fe89f8b5e960c9af34 Mon Sep 17 00:00:00 2001 From: Devin Droddy Date: Sat, 5 Jul 2025 11:23:15 -0400 Subject: [PATCH 207/271] docs/release-notes: add entry for supermaven-nvim --- docs/release-notes/rl-0.8.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a03ab9fe..fa24d0c9 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -445,3 +445,9 @@ - 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 +[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` From c86a8a7ddb28e2ae32e5f73468e4e46de1b6c08c Mon Sep 17 00:00:00 2001 From: Devin Droddy Date: Tue, 8 Jul 2025 11:29:23 -0400 Subject: [PATCH 208/271] assistant/supermaven-nvim: fix bad file reference whoops --- modules/plugins/assistant/supermaven-nvim/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/assistant/supermaven-nvim/default.nix b/modules/plugins/assistant/supermaven-nvim/default.nix index a1de45d5..0da957cb 100644 --- a/modules/plugins/assistant/supermaven-nvim/default.nix +++ b/modules/plugins/assistant/supermaven-nvim/default.nix @@ -1,6 +1,6 @@ { imports = [ - ./supermaven.nix + ./supermaven-nvim.nix ./config.nix ]; } From 311f6abcd2ddbb4ee58784f4a3e7a477ea431e9c Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Wed, 9 Jul 2025 13:45:24 +0200 Subject: [PATCH 209/271] style: fix release-notes conformance to editorconfing --- docs/release-notes/rl-0.8.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f3ab8701..fdf0ab51 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -445,4 +445,4 @@ - 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 -- Allow deregistering which-key binds or groups by setting them to `null` \ No newline at end of file +- Allow deregistering which-key binds or groups by setting them to `null` From 0bd9f1f0ec01ec56be38b3525a1d27d0bf67b6ac Mon Sep 17 00:00:00 2001 From: Devin Droddy Date: Wed, 9 Jul 2025 17:36:11 -0400 Subject: [PATCH 210/271] assistant/supermaven-nvim: import improvement --- modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix b/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix index 4f1acb66..80a27e47 100644 --- a/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix +++ b/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix @@ -9,11 +9,12 @@ enum ; inherit (lib.options) mkOption mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.assistant.supermaven-nvim = { enable = mkEnableOption "Supermaven AI assistant"; - setupOpts = lib.nvim.mkPluginSetupOption "Supermaven" { + setupOpts = mkPluginSetupOption "Supermaven" { keymaps = { accept_suggestion = mkOption { type = nullOr str; From d522d952ce443853294fea12ff7539647e2b7d2f Mon Sep 17 00:00:00 2001 From: a00git Date: Thu, 10 Jul 2025 17:59:14 +0300 Subject: [PATCH 211/271] doc: fix appendix link in ch-configuring section previous relative link pointed to `nvf/options.html` on the repo instead of GH pages, causing 404 --- docs/manual/configuring.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/configuring.md b/docs/manual/configuring.md index 28c7e66a..95195f78 100644 --- a/docs/manual/configuring.md +++ b/docs/manual/configuring.md @@ -8,7 +8,7 @@ your convenience. You might also be interested in the [helpful tips section] for more advanced or unusual configuration options supported by nvf. Note that this section does not cover module _options_. For an overview of all -module options provided by nvf, please visit the [appendix](/options.html) +module options provided by nvf, please visit the [appendix](/nvf/options.html) ```{=include=} chapters configuring/custom-package.md From 607675ac6e1c99318c65b4ffc4a87d935d787072 Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Thu, 10 Jul 2025 18:50:30 +0200 Subject: [PATCH 212/271] flake: follow flake-parts and flake-utils inputs flake-parts's nixpkgs-lib input follows nvf's nixpkgs input to reduce download size, and 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"). --- docs/release-notes/rl-0.8.md | 10 +++++++++ flake.lock | 40 +++++++----------------------------- flake.nix | 13 ++++++++++-- 3 files changed, 28 insertions(+), 35 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index fdf0ab51..4c2d2d02 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -446,3 +446,13 @@ - Fix lualine separator options - 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` + +[trueNAHO](https://github.com/trueNAHO): + +- `flake-parts`'s `nixpkgs-lib` input follows nvf's `nixpkgs` input to reduce + 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). diff --git a/flake.lock b/flake.lock index fb0c5599..c530031d 100644 --- a/flake.lock +++ b/flake.lock @@ -2,7 +2,9 @@ "nodes": { "flake-parts": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1749398372, @@ -20,7 +22,9 @@ }, "flake-utils": { "inputs": { - "systems": "systems" + "systems": [ + "systems" + ] }, "locked": { "lastModified": 1731533236, @@ -67,28 +71,13 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1748740939, - "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "656a64127e9d791a334452c6b6606d17539476e2", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, "root": { "inputs": { "flake-parts": "flake-parts", "flake-utils": "flake-utils", "mnw": "mnw", "nixpkgs": "nixpkgs", - "systems": "systems_2" + "systems": "systems" } }, "systems": { @@ -105,21 +94,6 @@ "repo": "default", "type": "github" } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 16d4b0c7..35f69ea6 100644 --- a/flake.nix +++ b/flake.nix @@ -76,8 +76,17 @@ inputs = { ## Basic Inputs nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; - flake-parts.url = "github:hercules-ci/flake-parts"; - flake-utils.url = "github:numtide/flake-utils"; + + flake-parts = { + url = "github:hercules-ci/flake-parts"; + inputs.nixpkgs-lib.follows = "nixpkgs"; + }; + + flake-utils = { + url = "github:numtide/flake-utils"; + inputs.systems.follows = "systems"; + }; + systems.url = "github:nix-systems/default"; # Alternate neovim-wrapper From e78d4bb3c97a6faabc3b32bc9e62b8a3de8b4566 Mon Sep 17 00:00:00 2001 From: Devin Droddy Date: Thu, 10 Jul 2025 21:09:17 -0400 Subject: [PATCH 213/271] assistant/supermaven-nvim: fix usage of luaInline type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 😭 --- modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix b/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix index 80a27e47..0d1efd19 100644 --- a/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix +++ b/modules/plugins/assistant/supermaven-nvim/supermaven-nvim.nix @@ -9,7 +9,7 @@ enum ; inherit (lib.options) mkOption mkEnableOption; - inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.nvim.types) mkPluginSetupOption luaInline; in { options.vim.assistant.supermaven-nvim = { enable = mkEnableOption "Supermaven AI assistant"; @@ -81,7 +81,7 @@ in { description = "Disable built-in keymaps for more manual control"; }; condition = mkOption { - type = nullOr lib.nvim.luaInline; + type = nullOr luaInline; default = null; description = '' Condition function to check for stopping supermaven. From 34bd3f08f030f70afe390f7475e17fbf31b5540c Mon Sep 17 00:00:00 2001 From: Francesco Prem Solidoro Date: Wed, 16 Jul 2025 02:47:29 +0200 Subject: [PATCH 214/271] otter: remove deprecated setting --- modules/plugins/lsp/otter/otter.nix | 9 --------- 1 file changed, 9 deletions(-) diff --git a/modules/plugins/lsp/otter/otter.nix b/modules/plugins/lsp/otter/otter.nix index 0b0c2c4c..2ccc393b 100644 --- a/modules/plugins/lsp/otter/otter.nix +++ b/modules/plugins/lsp/otter/otter.nix @@ -25,15 +25,6 @@ in { }; }; buffers = { - set_filetype = mkOption { - type = bool; - default = false; - description = '' - if set to true, the filetype of the otterbuffers will be set. Other wide only - the autocommand of lspconfig that attaches the language server will be - executed without setting the filetype - ''; - }; write_to_disk = mkOption { type = bool; default = false; From 43d54f77f5969f67ea38d6737b8d8e8a7b518554 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Wed, 16 Jul 2025 09:40:06 +0200 Subject: [PATCH 215/271] avante-nvim: upgrade plugin --- flake/avante-nvim/default.nix | 2 +- npins/sources.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/flake/avante-nvim/default.nix b/flake/avante-nvim/default.nix index 3991d16b..e5d9692c 100644 --- a/flake/avante-nvim/default.nix +++ b/flake/avante-nvim/default.nix @@ -16,7 +16,7 @@ inherit version src; useFetchCargoVendor = true; - cargoHash = "sha256-pmnMoNdaIR0i+4kwW3cf01vDQo39QakTCEG9AXA86ck="; + cargoHash = "sha256-8mBpzndz34RrmhJYezd4hLrJyhVL4S4IHK3plaue1k8="; nativeBuildInputs = [ pkg-config diff --git a/npins/sources.json b/npins/sources.json index 5a962940..a5161090 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -35,9 +35,9 @@ }, "branch": "main", "submodules": false, - "revision": "2dd4c040880b271861369b361489a2d418d42648", - "url": "https://github.com/yetone/avante.nvim/archive/2dd4c040880b271861369b361489a2d418d42648.tar.gz", - "hash": "01j92m0qhd5g6m92rp0qnr4vqqgfrhbx91jbrrcjj1npizynxjm1" + "revision": "154e5f578f8925135a9dd23764d4c33a10c7ae36", + "url": "https://github.com/yetone/avante.nvim/archive/154e5f578f8925135a9dd23764d4c33a10c7ae36.tar.gz", + "hash": "0hx5ccfkn7ljnprzl6qwvb9ba86zrkqysh18zvnaq360g95d4ca1" }, "base16": { "type": "Git", From fae1e527fc03008c920c36f615fbff3afb0a1f14 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Wed, 16 Jul 2025 12:02:52 +0200 Subject: [PATCH 216/271] avante-nvim: useFetchCargoVendor now defaults to true in unstable --- flake/avante-nvim/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/flake/avante-nvim/default.nix b/flake/avante-nvim/default.nix index e5d9692c..0d128bae 100644 --- a/flake/avante-nvim/default.nix +++ b/flake/avante-nvim/default.nix @@ -15,7 +15,6 @@ pname = "avante-nvim-lib"; inherit version src; - useFetchCargoVendor = true; cargoHash = "sha256-8mBpzndz34RrmhJYezd4hLrJyhVL4S4IHK3plaue1k8="; nativeBuildInputs = [ From 28f4237e4faf664fd9b1170f4dc515fffd0aa16a Mon Sep 17 00:00:00 2001 From: Francesco Prem Solidoro Date: Thu, 22 May 2025 01:30:46 +0200 Subject: [PATCH 217/271] notes/norg: fix broken grammars and add norg-meta --- modules/plugins/notes/neorg/config.nix | 2 +- modules/plugins/notes/neorg/neorg.nix | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/plugins/notes/neorg/config.nix b/modules/plugins/notes/neorg/config.nix index fab5079d..f8c18ea9 100644 --- a/modules/plugins/notes/neorg/config.nix +++ b/modules/plugins/notes/neorg/config.nix @@ -35,7 +35,7 @@ in { (mkIf cfg.treesitter.enable { vim.treesitter.enable = true; - vim.treesitter.grammars = [cfg.treesitter.norgPackage]; + vim.treesitter.grammars = [cfg.treesitter.norgPackage cfg.treesitter.norgMetaPackage]; }) ]); } diff --git a/modules/plugins/notes/neorg/neorg.nix b/modules/plugins/notes/neorg/neorg.nix index 6b5cf18e..34b4687e 100644 --- a/modules/plugins/notes/neorg/neorg.nix +++ b/modules/plugins/notes/neorg/neorg.nix @@ -4,9 +4,9 @@ pkgs, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkPackageOption mkEnableOption mkOption; inherit (lib.types) submodule listOf str; - inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption; + inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.notes.neorg = { enable = mkEnableOption '' @@ -44,7 +44,12 @@ in { treesitter = { enable = mkEnableOption "Neorg treesitter" // {default = config.vim.languages.enableTreesitter;}; - norgPackage = mkGrammarOption pkgs "norg"; + norgPackage= mkPackageOption pkgs ["norg-meta treesitter"] { + default = ["tree-sitter-grammars" "tree-sitter-norg"]; + }; + norgMetaPackage = mkPackageOption pkgs ["norg-meta treesitter"] { + default = ["tree-sitter-grammars" "tree-sitter-norg-meta"]; + }; }; }; } From 4e0e8206c3da8af52a0f1c721c3b86818738993b Mon Sep 17 00:00:00 2001 From: Francesco Prem Solidoro Date: Wed, 16 Jul 2025 16:47:49 +0200 Subject: [PATCH 218/271] notes/neorg: fix formatting --- modules/plugins/notes/neorg/neorg.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/notes/neorg/neorg.nix b/modules/plugins/notes/neorg/neorg.nix index 34b4687e..684519c9 100644 --- a/modules/plugins/notes/neorg/neorg.nix +++ b/modules/plugins/notes/neorg/neorg.nix @@ -44,7 +44,7 @@ in { treesitter = { enable = mkEnableOption "Neorg treesitter" // {default = config.vim.languages.enableTreesitter;}; - norgPackage= mkPackageOption pkgs ["norg-meta treesitter"] { + norgPackage = mkPackageOption pkgs ["norg-meta treesitter"] { default = ["tree-sitter-grammars" "tree-sitter-norg"]; }; norgMetaPackage = mkPackageOption pkgs ["norg-meta treesitter"] { From e20d673d6e648fefb91c7df43099bf26016504db Mon Sep 17 00:00:00 2001 From: Francesco Prem Solidoro Date: Wed, 16 Jul 2025 19:32:58 +0200 Subject: [PATCH 219/271] docs/rl-0.8: add neorg fix entry --- 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 8c88cd56..87561a9d 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -463,3 +463,6 @@ 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 From 0d394c9db0fee303c4f3a9a29923923b1d85ed8c Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Wed, 16 Jul 2025 19:22:19 +0800 Subject: [PATCH 220/271] fix(snippets/luasnip): enable vscode snippet loader nvim-cmp and friendly-snippets depend on the vscode luasnip loader. previously we only set snipmate --- modules/plugins/snippets/luasnip/config.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/plugins/snippets/luasnip/config.nix b/modules/plugins/snippets/luasnip/config.nix index 5f2abdf0..48b1f40d 100644 --- a/modules/plugins/snippets/luasnip/config.nix +++ b/modules/plugins/snippets/luasnip/config.nix @@ -65,6 +65,9 @@ in { ${optionalString ( cfg.customSnippets.snipmate != {} ) "require('luasnip.loaders.from_snipmate').lazy_load()"} + ${optionalString ( + config.vim.autocomplete.nvim-cmp.enable || config.vim.autocomplete.blink-cmp.friendly-snippets.enable + ) "require('luasnip.loaders.from_vscode').lazy_load()"} ''; }; }; From 47dcff9d563c12333cbc8ccc378d8355be6f7dfb Mon Sep 17 00:00:00 2001 From: midischwarz12 Date: Thu, 17 Jul 2025 10:43:46 -0500 Subject: [PATCH 221/271] feat: vim.loop -> vim.uv --- modules/plugins/treesitter/treesitter.nix | 2 +- modules/plugins/utility/harpoon/harpoon.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/plugins/treesitter/treesitter.nix b/modules/plugins/treesitter/treesitter.nix index d88cc1a9..80a30a5a 100644 --- a/modules/plugins/treesitter/treesitter.nix +++ b/modules/plugins/treesitter/treesitter.nix @@ -106,7 +106,7 @@ in { -- Disable slow treesitter highlight for large files function(lang, buf) local max_filesize = 1000 * 1024 -- 1MB - local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) + local ok, stats = pcall(vim.uv.fs_stat, vim.api.nvim_buf_get_name(buf)) if ok and stats and stats.size > max_filesize then return true end diff --git a/modules/plugins/utility/harpoon/harpoon.nix b/modules/plugins/utility/harpoon/harpoon.nix index 4478c938..6f5b8d0a 100644 --- a/modules/plugins/utility/harpoon/harpoon.nix +++ b/modules/plugins/utility/harpoon/harpoon.nix @@ -39,7 +39,7 @@ in { type = luaInline; default = mkLuaInline '' function() - return vim.loop.cwd() + return vim.uv.cwd() end ''; description = '' From dd815ece184397605153b57dc68ab7b61e95d9ac Mon Sep 17 00:00:00 2001 From: Semyon <52384223+thecakeisfalse@users.noreply.github.com> Date: Fri, 18 Jul 2025 20:26:49 +0300 Subject: [PATCH 222/271] fixed typo docs: `diagostics` -> `diagnostics` --- modules/neovim/init/diagnostics.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/neovim/init/diagnostics.nix b/modules/neovim/init/diagnostics.nix index 8a8e7b38..27f46efc 100644 --- a/modules/neovim/init/diagnostics.nix +++ b/modules/neovim/init/diagnostics.nix @@ -88,7 +88,7 @@ in { options.vim = { diagnostics = { - enable = mkEnableOption "diagostics module for Neovim"; + enable = mkEnableOption "diagnostics module for Neovim"; config = mkOption { type = diagnosticsSubmodule; default = {}; From 5592bcff64f9db3d9b2ea2e8b2c529a6e8980ded Mon Sep 17 00:00:00 2001 From: poz Date: Sat, 19 Jul 2025 00:08:43 +0200 Subject: [PATCH 223/271] treewide: remove deprecated `isNull` --- modules/plugins/theme/supported-themes.nix | 6 +++--- modules/plugins/utility/binds/which-key/config.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index 1d1f2397..ad1f8a3d 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -246,10 +246,10 @@ in { transparent = { enabled = ${boolToString transparent}, }, - ${optionalString (!isNull palette) ''palette = "${palette}",''} - ${optionalString (!isNull variant) ''variant = "${variant}",''} + ${optionalString (palette != null) ''palette = "${palette}",''} + ${optionalString (variant != null) ''variant = "${variant}",''} } - ${optionalString (!isNull background) ''vim.opt.background = "${background}"''} + ${optionalString (background != null) ''vim.opt.background = "${background}"''} vim.cmd.colorscheme "solarized" ''; styles = let diff --git a/modules/plugins/utility/binds/which-key/config.nix b/modules/plugins/utility/binds/which-key/config.nix index 625a6215..7d5ef6c1 100644 --- a/modules/plugins/utility/binds/which-key/config.nix +++ b/modules/plugins/utility/binds/which-key/config.nix @@ -10,7 +10,7 @@ inherit (lib.nvim.dag) entryAnywhere; cfg = config.vim.binds.whichKey; - register = mapAttrsToList (n: v: lib.lists.optional (! isNull v) (mkLuaInline "{ '${n}', desc = '${v}' }")) cfg.register; + register = mapAttrsToList (n: v: lib.lists.optional (v != null) (mkLuaInline "{ '${n}', desc = '${v}' }")) cfg.register; in { config = mkIf cfg.enable { vim = { From dd6ca6735bf1390f77ed6c0385cc7871985150ed Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 19 Jul 2025 01:49:49 +0300 Subject: [PATCH 224/271] meta: move PR template to the correct path; overhaul issue template --- .github/ISSUE_TEMPLATE/bug_report.yaml | 117 ++++++++++++++---- ...t_template.md => PULL_REQUEST_TEMPLATE.md} | 0 2 files changed, 93 insertions(+), 24 deletions(-) rename .github/{PULL_REQUEST_TEMPLATE/pull_request_template.md => PULL_REQUEST_TEMPLATE.md} (100%) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index c9270b26..4361d9f9 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -1,47 +1,95 @@ name: "🐛 Bug Report" -description: "Submit a bug report to help us improve" -#title: "[Bug] " +description: "Submit a bug report to help us improve nvf" +title: "" labels: [bug] body: - type: checkboxes - id: no-duplicate-issues attributes: - label: "⚠️ Please verify that this bug has NOT been reported before." - description: "Search in the issues sections by clicking [HERE](https://github.com/notashelf/neovim-flake/issues?q=)" + label: I have confirmed that this is a bug related to nvf + description: >- + If you are unsure whether this is a bug, a packaging issue, or user error that is *not* + stemming from nvf, please consider creating a [discussion](https://github.com/notashelf/nvf/discussions) + post instead. Invalid bug reports will be closed without an explanation. options: - - label: "I checked all existing issues and didn't find a similar issue" - required: true + - required: true + label: >- + This is a bug, and not an user error or a support request. I understand that my issue + will be closed if it is not a bug in nvf. + - required: true + label: >- + I have checked the [issues tab](https://github.com/notashelf/nvf/issues?q=is%3Aissue) + and confirmed that my issue has not yet been reported. I understand that my issue will + be closed if it is a duplicate. + - type: textarea - id: description - validations: - required: false attributes: - label: "Description" - description: "You could also upload screenshots, if necessary" + label: Description + placeholder: "Describe the issue here..." + description: >- + Describe the issue in detail, with steps you have taken included. If applicable, please include + a minimal reproducible example, relevant Nix logs, comparisons with alternative commands and + screenshots. Do note that **logs** are preferred over screenshots. + validations: + required: true + + - type: dropdown + attributes: + label: Installation Method + description: "How was nvf installed?" + options: + - NixOS Module (`nixosModules.default`) + - Home Manager Module (`homeManagerModules.default`) + - Standalone (flake outputs, `nix profile install`, etc.) + - Other + validations: + required: true + + - type: textarea + attributes: + label: Installation Method (Other) + description: "If you have selected 'Other' in the previous section, please describe your installation method" + placeholder: >- + I installed nvf from... + + - type: textarea + attributes: + label: nvf Version + description: "Which version of nvf are you using? If added as a flake input, write 'master'" + placeholder: >- + For example, v0.8 if consuming nvf from a tagged release. + validations: + required: true + - type: textarea id: steps-to-reproduce + attributes: + label: Reproduction steps + description: "How do you trigger this bug? Please walk us through the problem, step by step" + placeholder: >- + 1. Do this + 2. Do that + 3. Observe validations: required: true - attributes: - label: "👟 Reproduction steps" - description: "How do you trigger this bug? Please walk us through the problem, step by step" - placeholder: "..." + - type: textarea id: expected-behavior - validations: - required: true attributes: - label: "👀 Expected behavior" + label: Expected behavior description: "What did you think would or should happen?" placeholder: "..." - - type: textarea - id: actual-behavior validations: required: true + + - type: textarea + id: actual-behavior attributes: - label: "😓 Actual Behavior" + label: Actual Behavior description: "What actually happen?" placeholder: "..." + validations: + required: true + - type: input id: nix-metadata attributes: @@ -50,11 +98,32 @@ body: placeholder: '[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"' validations: required: true + + - type: textarea + attributes: + label: System Information + description: "Output of `nix-info --markdown`" + render: bash + placeholder: |- + '[user@system:~]$ nix-shell -p nix-info --run "nix-info --markdown" + - system: + - host os: + - multi-user?: + - sandbox: + - version: + - nixpkgs: + validations: + required: true + - type: textarea id: logs attributes: - 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. render: bash + 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. + + > [!TIP] + > You can get your nvf configuration with `nvf-print-config` and attach it by using a service like termbin.com validations: required: true diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from .github/PULL_REQUEST_TEMPLATE/pull_request_template.md rename to .github/PULL_REQUEST_TEMPLATE.md From 5651ca05fd4580f41b28df409286734d375184d4 Mon Sep 17 00:00:00 2001 From: poz Date: Sat, 19 Jul 2025 02:00:31 +0200 Subject: [PATCH 225/271] themes/everforest: init https://github.com/sainnhe/everforest --- docs/release-notes/rl-0.8.md | 3 +++ modules/plugins/theme/supported-themes.nix | 19 +++++++++++++++++++ npins/sources.json | 16 ++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 87561a9d..c72f65d7 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -382,7 +382,10 @@ [poz](https://poz.pet): +[everforest]: https://github.com/sainnhe/everforest + - Fix gitsigns null-ls issue. +- Add [everforest] theme support. [Haskex](https://github.com/haskex): diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index ad1f8a3d..ea858cae 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -281,4 +281,23 @@ in { vim.cmd.colorscheme("solarized-osaka") ''; }; + + everforest = { + setup = { + style ? "medium", + transparent ? false, + ... + }: '' + vim.g.everforest_background = "${style}" + vim.g.everforest_transparent_background = ${ + if transparent + then "1" + else "0" + } + + vim.cmd.colorscheme("everforest") + ''; + + styles = ["hard" "medium" "soft"]; + }; } diff --git a/npins/sources.json b/npins/sources.json index a5161090..fd5a34f2 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -442,6 +442,22 @@ "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/eeb2b5a2e99e1646861a104f108c5818dd3973dc.tar.gz", "hash": "1l0xjis8jp5mf3v42f9xsjmwpjskf6zk6brpr8l39sp1bjn9z4x7" }, + "everforest": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "sainnhe", + "repo": "everforest" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "submodules": false, + "version": "v0.3.0", + "revision": "1e625639362661972821e83d8bbe528b8981a05f", + "url": "https://api.github.com/repos/sainnhe/everforest/tarball/v0.3.0", + "hash": "18h7mwr9lpsdsdi90vn4nc868g50li27xvylrs2srppfjr7kvl7w" + }, "fastaction-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 226/271] 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 227/271] 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 228/271] 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 229/271] 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 230/271] 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 231/271] 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 232/271] 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 233/271] 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 234/271] 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 235/271] 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 236/271] 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 237/271] 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 238/271] 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 239/271] 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 240/271] 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 241/271] 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 242/271] 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 243/271] 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 244/271] 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 245/271] 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 246/271] 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 247/271] 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 248/271] 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 249/271] 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 250/271] 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 251/271] 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 252/271] 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 253/271] 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 254/271] 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 255/271] 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 256/271] 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 257/271] 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 258/271] 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 259/271] 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 260/271] 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 261/271] 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 262/271] 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 263/271] 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 264/271] 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 265/271] 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 266/271] 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 267/271] 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 268/271] 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 269/271] 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 270/271] 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 271/271] 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