From a0d6d8407fcb20a44320583c2754be713f3a33de Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 14 Jan 2025 16:44:17 +0300 Subject: [PATCH 01/51] 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 02/51] 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 03/51] 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 04/51] 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 72c5c7f6344b9a714c95d73242b098f9141f9a59 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 12:17:33 +0100 Subject: [PATCH 05/51] 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 06/51] 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 07/51] 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 08/51] 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 f0fe0b0f62e44a77c75a7c316d7a9e8d545b1b51 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Thu, 24 Apr 2025 22:14:02 +0100 Subject: [PATCH 09/51] 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 10/51] 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 11/51] 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 64bee7e7292785c514e2889edb72d7c4c8da395b Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Sat, 26 Apr 2025 19:45:58 +0100 Subject: [PATCH 12/51] 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 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 13/51] 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 e6d30cf9d96ddcba6d5f571133289ffbb32ebcc5 Mon Sep 17 00:00:00 2001 From: Michael Utz Date: Fri, 30 May 2025 11:02:32 +0300 Subject: [PATCH 14/51] 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 15/51] 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 7095c4d49f5ea50bcbe78beca18e56592364f778 Mon Sep 17 00:00:00 2001 From: Michael Utz Date: Mon, 2 Jun 2025 10:59:38 +0300 Subject: [PATCH 16/51] 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 17/51] 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 18/51] 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 19/51] 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 20/51] 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 21/51] 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 22/51] 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 23/51] 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 24/51] 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 25/51] 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 26/51] 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 27/51] 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 28/51] 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 29/51] 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 30/51] 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 31/51] 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 32/51] 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 33/51] 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 34/51] 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 35/51] 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 36/51] 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 37/51] 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 38/51] 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 39/51] 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 40/51] 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 41/51] 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 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 42/51] 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 43/51] 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 44/51] 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 45/51] 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 f86030bc0e5ad0d1c4871d3c50bddb815fdade46 Mon Sep 17 00:00:00 2001 From: poz Date: Sun, 6 Jul 2025 03:06:29 +0200 Subject: [PATCH 46/51] 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 47/51] 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 48/51] 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 3b2a37ef3d73152dec865701b2a04b4bdc985c19 Mon Sep 17 00:00:00 2001 From: raf Date: Mon, 7 Jul 2025 12:38:07 +0300 Subject: [PATCH 49/51] 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 50/51] 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 51/51] 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]; }; };