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 01/13] 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 02/13] 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 03/13] 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 04/13] docs: working example for `vim.diagnostics.config.signs` Fixes #863 --- modules/neovim/init/diagnostics.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/modules/neovim/init/diagnostics.nix b/modules/neovim/init/diagnostics.nix index 18717edf..389835a9 100644 --- a/modules/neovim/init/diagnostics.nix +++ b/modules/neovim/init/diagnostics.nix @@ -57,14 +57,21 @@ signs = mkOption { type = diagnosticType; default = false; - example = { - signs.text = { - "vim.diagnostic.severity.ERROR" = "󰅚 "; - "vim.diagnostic.severity.WARN" = "󰀪 "; - }; - }; + example = literalExpression '' + signs.text = lib.generators.mkLuaInline ''' + { + [vim.diagnostic.severity.ERROR] = "󰅚 ", + [vim.diagnostic.severity.WARN] = "󰀪 ", + } + '''; + ''; description = '' Use signs for diagnostics. See {command}`:help diagnostic-signs`. + + :::{.note} + The code presented in that help section uses lua expressions as object keys which + only translate well if you use `lib.generators.mkLuaInline` as in the example. + ::: ''; }; From 045f098f0e2b8ca28300b76059d8b785ac00f0ac Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Sat, 5 Jul 2025 18:48:20 +0200 Subject: [PATCH 05/13] spellcheck: restore configuration for vim-dirtytalk --- configuration.nix | 1 + docs/release-notes/rl-0.8.md | 1 + modules/modules.nix | 2 +- modules/neovim/init/spellcheck.nix | 2 ++ modules/plugins/spellcheck/vim-dirtytalk/config.nix | 2 +- 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/configuration.nix b/configuration.nix index 6f26f040..060362ca 100644 --- a/configuration.nix +++ b/configuration.nix @@ -15,6 +15,7 @@ isMaximal: { spellcheck = { enable = true; + programmingWordlist.enable = isMaximal; }; lsp = { diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c01bc043..1213c9e5 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -439,3 +439,4 @@ - Add [smart-splits.nvim] for navigating between Neovim windows and terminal multiplexer panes. Available at `vim.utility.smart-splits`. +- Restore vim-dirtytalk plugin and fix ordering with spellcheck in generated config. diff --git a/modules/modules.nix b/modules/modules.nix index 97bfa211..1eca042a 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -38,7 +38,7 @@ "runner" "session" "snippets" - # "spellcheck" # FIXME: see neovim/init/spellcheck.nix + "spellcheck" "statusline" "tabline" "terminal" diff --git a/modules/neovim/init/spellcheck.nix b/modules/neovim/init/spellcheck.nix index fb0f86ea..5c593a65 100644 --- a/modules/neovim/init/spellcheck.nix +++ b/modules/neovim/init/spellcheck.nix @@ -94,6 +94,8 @@ in { Enabling this option will unconditionally set {option}`vim.spellcheck.enable` to true as vim-dirtytalk depends on spellchecking having been set up. + + Run {command}`:DirtytalkUpdate` on first use to download the spellfile. ::: ''; }; diff --git a/modules/plugins/spellcheck/vim-dirtytalk/config.nix b/modules/plugins/spellcheck/vim-dirtytalk/config.nix index 51ccfb81..7fd32d61 100644 --- a/modules/plugins/spellcheck/vim-dirtytalk/config.nix +++ b/modules/plugins/spellcheck/vim-dirtytalk/config.nix @@ -17,7 +17,7 @@ in { # like to append programming to spelllangs as soon as # possible while the plugin is enabled and the state # directory can be found. - pluginRC.vim-dirtytalk = entryAfter ["spellcheck"] '' + luaConfigRC.vim-dirtytalk = entryAfter ["spellcheck"] '' -- If Neovim can find (or access) the state directory -- then append "programming" wordlist from vim-dirtytalk -- to spelllang table. If path cannot be found, display From f86030bc0e5ad0d1c4871d3c50bddb815fdade46 Mon Sep 17 00:00:00 2001 From: poz Date: Sun, 6 Jul 2025 03:06:29 +0200 Subject: [PATCH 06/13] 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 07/13] 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 08/13] treewide: remove unused function arguments --- lib/stdlib-extended.nix | 6 +----- modules/plugins/mini/ai/ai.nix | 6 +----- modules/plugins/mini/align/align.nix | 6 +----- modules/plugins/mini/animate/animate.nix | 6 +----- modules/plugins/mini/basics/basics.nix | 6 +----- modules/plugins/mini/bracketed/bracketed.nix | 6 +----- modules/plugins/mini/bufremove/bufremove.nix | 6 +----- modules/plugins/mini/clue/clue.nix | 6 +----- modules/plugins/mini/colors/colors.nix | 6 +----- modules/plugins/mini/comment/comment.nix | 6 +----- modules/plugins/mini/completion/completion.nix | 6 +----- modules/plugins/mini/diff/diff.nix | 6 +----- modules/plugins/mini/doc/doc.nix | 6 +----- modules/plugins/mini/extra/extra.nix | 6 +----- modules/plugins/mini/files/files.nix | 6 +----- modules/plugins/mini/fuzzy/fuzzy.nix | 6 +----- modules/plugins/mini/git/git.nix | 6 +----- modules/plugins/mini/hipatterns/hipatterns.nix | 6 +----- modules/plugins/mini/hues/hues.nix | 6 +----- modules/plugins/mini/icons/icons.nix | 6 +----- modules/plugins/mini/jump/jump.nix | 6 +----- modules/plugins/mini/jump2d/jump2d.nix | 6 +----- modules/plugins/mini/map/map.nix | 6 +----- modules/plugins/mini/misc/misc.nix | 6 +----- modules/plugins/mini/move/move.nix | 6 +----- modules/plugins/mini/operators/operators.nix | 6 +----- modules/plugins/mini/pairs/pairs.nix | 6 +----- modules/plugins/mini/pick/pick.nix | 6 +----- modules/plugins/mini/sessions/sessions.nix | 6 +----- modules/plugins/mini/snippets/snippets.nix | 6 +----- modules/plugins/mini/splitjoin/splitjoin.nix | 6 +----- modules/plugins/mini/starter/starter.nix | 6 +----- modules/plugins/mini/statusline/statusline.nix | 6 +----- modules/plugins/mini/surround/surround.nix | 6 +----- modules/plugins/mini/tabline/tabline.nix | 6 +----- modules/plugins/mini/test/test.nix | 6 +----- modules/plugins/mini/trailspace/trailspace.nix | 6 +----- modules/plugins/mini/visits/visits.nix | 6 +----- modules/plugins/utility/smart-splits/config.nix | 1 - .../plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix | 6 +----- .../visuals/rainbow-delimiters/rainbow-delimiters.nix | 6 +----- 41 files changed, 40 insertions(+), 201 deletions(-) diff --git a/lib/stdlib-extended.nix b/lib/stdlib-extended.nix index a85160c3..403c7b28 100644 --- a/lib/stdlib-extended.nix +++ b/lib/stdlib-extended.nix @@ -1,10 +1,6 @@ # Convenience function that returns the given Nixpkgs standard library # extended with our functions using `lib.extend`. -{ - inputs, - self, - ... -} @ args: +{inputs, ...} @ args: inputs.nixpkgs.lib.extend (self: super: { # WARNING: New functions should not be added here, but to files # imported by `./default.nix` under their own categories. If your diff --git a/modules/plugins/mini/ai/ai.nix b/modules/plugins/mini/ai/ai.nix index d0da31d7..d4c43941 100644 --- a/modules/plugins/mini/ai/ai.nix +++ b/modules/plugins/mini/ai/ai.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/align/align.nix b/modules/plugins/mini/align/align.nix index 96c82947..56a68c1f 100644 --- a/modules/plugins/mini/align/align.nix +++ b/modules/plugins/mini/align/align.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/animate/animate.nix b/modules/plugins/mini/animate/animate.nix index fb17c0bd..d35f7461 100644 --- a/modules/plugins/mini/animate/animate.nix +++ b/modules/plugins/mini/animate/animate.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/basics/basics.nix b/modules/plugins/mini/basics/basics.nix index e855caa6..9bac3b1c 100644 --- a/modules/plugins/mini/basics/basics.nix +++ b/modules/plugins/mini/basics/basics.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/bracketed/bracketed.nix b/modules/plugins/mini/bracketed/bracketed.nix index 3152f046..454328e9 100644 --- a/modules/plugins/mini/bracketed/bracketed.nix +++ b/modules/plugins/mini/bracketed/bracketed.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/bufremove/bufremove.nix b/modules/plugins/mini/bufremove/bufremove.nix index 5e04609d..82819df9 100644 --- a/modules/plugins/mini/bufremove/bufremove.nix +++ b/modules/plugins/mini/bufremove/bufremove.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/clue/clue.nix b/modules/plugins/mini/clue/clue.nix index 50d33c65..825aa697 100644 --- a/modules/plugins/mini/clue/clue.nix +++ b/modules/plugins/mini/clue/clue.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/colors/colors.nix b/modules/plugins/mini/colors/colors.nix index 7d56cd49..b65c86aa 100644 --- a/modules/plugins/mini/colors/colors.nix +++ b/modules/plugins/mini/colors/colors.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; in { options.vim.mini.colors = { diff --git a/modules/plugins/mini/comment/comment.nix b/modules/plugins/mini/comment/comment.nix index c46c0a58..e3e03833 100644 --- a/modules/plugins/mini/comment/comment.nix +++ b/modules/plugins/mini/comment/comment.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/completion/completion.nix b/modules/plugins/mini/completion/completion.nix index fc36ed84..7c70e5e2 100644 --- a/modules/plugins/mini/completion/completion.nix +++ b/modules/plugins/mini/completion/completion.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/diff/diff.nix b/modules/plugins/mini/diff/diff.nix index 4a72fda2..9df564a4 100644 --- a/modules/plugins/mini/diff/diff.nix +++ b/modules/plugins/mini/diff/diff.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/doc/doc.nix b/modules/plugins/mini/doc/doc.nix index 8699fa11..2b302475 100644 --- a/modules/plugins/mini/doc/doc.nix +++ b/modules/plugins/mini/doc/doc.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/extra/extra.nix b/modules/plugins/mini/extra/extra.nix index c697fdd6..f0c4133e 100644 --- a/modules/plugins/mini/extra/extra.nix +++ b/modules/plugins/mini/extra/extra.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; in { options.vim.mini.extra = { diff --git a/modules/plugins/mini/files/files.nix b/modules/plugins/mini/files/files.nix index 4ba5fcc4..80d68589 100644 --- a/modules/plugins/mini/files/files.nix +++ b/modules/plugins/mini/files/files.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/fuzzy/fuzzy.nix b/modules/plugins/mini/fuzzy/fuzzy.nix index 977a1763..64a3f42f 100644 --- a/modules/plugins/mini/fuzzy/fuzzy.nix +++ b/modules/plugins/mini/fuzzy/fuzzy.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/git/git.nix b/modules/plugins/mini/git/git.nix index ebbf4282..6c64bbf7 100644 --- a/modules/plugins/mini/git/git.nix +++ b/modules/plugins/mini/git/git.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/hipatterns/hipatterns.nix b/modules/plugins/mini/hipatterns/hipatterns.nix index 019626cf..943ad9e5 100644 --- a/modules/plugins/mini/hipatterns/hipatterns.nix +++ b/modules/plugins/mini/hipatterns/hipatterns.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/hues/hues.nix b/modules/plugins/mini/hues/hues.nix index 79638c47..060d0eca 100644 --- a/modules/plugins/mini/hues/hues.nix +++ b/modules/plugins/mini/hues/hues.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption mkOption; inherit (lib.nvim.types) mkPluginSetupOption; inherit (lib.nvim.types) hexColor; diff --git a/modules/plugins/mini/icons/icons.nix b/modules/plugins/mini/icons/icons.nix index 27928a93..4f201cc1 100644 --- a/modules/plugins/mini/icons/icons.nix +++ b/modules/plugins/mini/icons/icons.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/jump/jump.nix b/modules/plugins/mini/jump/jump.nix index 1e16ae7a..5a6b0d08 100644 --- a/modules/plugins/mini/jump/jump.nix +++ b/modules/plugins/mini/jump/jump.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/jump2d/jump2d.nix b/modules/plugins/mini/jump2d/jump2d.nix index 59f7c2ba..f1e76570 100644 --- a/modules/plugins/mini/jump2d/jump2d.nix +++ b/modules/plugins/mini/jump2d/jump2d.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/map/map.nix b/modules/plugins/mini/map/map.nix index 2d42fe70..31735d08 100644 --- a/modules/plugins/mini/map/map.nix +++ b/modules/plugins/mini/map/map.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/misc/misc.nix b/modules/plugins/mini/misc/misc.nix index 1f4dcf55..4e82dd6f 100644 --- a/modules/plugins/mini/misc/misc.nix +++ b/modules/plugins/mini/misc/misc.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/move/move.nix b/modules/plugins/mini/move/move.nix index ec9eccac..4e598126 100644 --- a/modules/plugins/mini/move/move.nix +++ b/modules/plugins/mini/move/move.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/operators/operators.nix b/modules/plugins/mini/operators/operators.nix index 639229bf..1401e939 100644 --- a/modules/plugins/mini/operators/operators.nix +++ b/modules/plugins/mini/operators/operators.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/pairs/pairs.nix b/modules/plugins/mini/pairs/pairs.nix index 926c93d3..da599cc5 100644 --- a/modules/plugins/mini/pairs/pairs.nix +++ b/modules/plugins/mini/pairs/pairs.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/pick/pick.nix b/modules/plugins/mini/pick/pick.nix index d8ccbfd5..159d007b 100644 --- a/modules/plugins/mini/pick/pick.nix +++ b/modules/plugins/mini/pick/pick.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/sessions/sessions.nix b/modules/plugins/mini/sessions/sessions.nix index 0ceba595..61f235a8 100644 --- a/modules/plugins/mini/sessions/sessions.nix +++ b/modules/plugins/mini/sessions/sessions.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/snippets/snippets.nix b/modules/plugins/mini/snippets/snippets.nix index d7f0355c..05109e87 100644 --- a/modules/plugins/mini/snippets/snippets.nix +++ b/modules/plugins/mini/snippets/snippets.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/splitjoin/splitjoin.nix b/modules/plugins/mini/splitjoin/splitjoin.nix index 44b2f23f..b553bbb3 100644 --- a/modules/plugins/mini/splitjoin/splitjoin.nix +++ b/modules/plugins/mini/splitjoin/splitjoin.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/starter/starter.nix b/modules/plugins/mini/starter/starter.nix index df550857..d0041382 100644 --- a/modules/plugins/mini/starter/starter.nix +++ b/modules/plugins/mini/starter/starter.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/statusline/statusline.nix b/modules/plugins/mini/statusline/statusline.nix index 2c850ae1..23f43af1 100644 --- a/modules/plugins/mini/statusline/statusline.nix +++ b/modules/plugins/mini/statusline/statusline.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/surround/surround.nix b/modules/plugins/mini/surround/surround.nix index 726bf3f9..537293a8 100644 --- a/modules/plugins/mini/surround/surround.nix +++ b/modules/plugins/mini/surround/surround.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/tabline/tabline.nix b/modules/plugins/mini/tabline/tabline.nix index 936273db..ae924e27 100644 --- a/modules/plugins/mini/tabline/tabline.nix +++ b/modules/plugins/mini/tabline/tabline.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/test/test.nix b/modules/plugins/mini/test/test.nix index 28135a26..f6ca5f51 100644 --- a/modules/plugins/mini/test/test.nix +++ b/modules/plugins/mini/test/test.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/trailspace/trailspace.nix b/modules/plugins/mini/trailspace/trailspace.nix index 19757bfb..5d540d41 100644 --- a/modules/plugins/mini/trailspace/trailspace.nix +++ b/modules/plugins/mini/trailspace/trailspace.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/mini/visits/visits.nix b/modules/plugins/mini/visits/visits.nix index c01e8ebf..5f9c6c1f 100644 --- a/modules/plugins/mini/visits/visits.nix +++ b/modules/plugins/mini/visits/visits.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { diff --git a/modules/plugins/utility/smart-splits/config.nix b/modules/plugins/utility/smart-splits/config.nix index c175d7ac..82c43bac 100644 --- a/modules/plugins/utility/smart-splits/config.nix +++ b/modules/plugins/utility/smart-splits/config.nix @@ -1,5 +1,4 @@ { - pkgs, config, options, lib, diff --git a/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix b/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix index 2796a5e6..6ff22614 100644 --- a/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix +++ b/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.modules) mkRenamedOptionModule; inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.types) nullOr attrsOf attrs enum; diff --git a/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix b/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix index 3fed4a64..4f316cf3 100644 --- a/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix +++ b/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { From 94908ffb0a84d2ac2fffc4496115da67bad6fe00 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Sun, 6 Jul 2025 15:26:42 +0200 Subject: [PATCH 09/13] git/neogit: module init --- configuration.nix | 1 + docs/release-notes/rl-0.8.md | 4 +-- modules/plugins/git/default.nix | 1 + modules/plugins/git/gitsigns/config.nix | 2 +- modules/plugins/git/neogit/config.nix | 39 +++++++++++++++++++++++++ modules/plugins/git/neogit/default.nix | 6 ++++ modules/plugins/git/neogit/neogit.nix | 17 +++++++++++ npins/sources.json | 16 ++++++++++ 8 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 modules/plugins/git/neogit/config.nix create mode 100644 modules/plugins/git/neogit/default.nix create mode 100644 modules/plugins/git/neogit/neogit.nix diff --git a/configuration.nix b/configuration.nix index 6f26f040..2e392897 100644 --- a/configuration.nix +++ b/configuration.nix @@ -162,6 +162,7 @@ isMaximal: { enable = true; gitsigns.enable = true; gitsigns.codeActions.enable = false; # throws an annoying debug message + neogit.enable = isMaximal; }; minimap = { diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c01bc043..2157fcaa 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -433,9 +433,9 @@ [solarized.nvim]: https://github.com/maxmx03/solarized.nvim [smart-splits.nvim]: https://github.com/mrjones2014/smart-splits.nvim +[neogit]: https://github.com/NeogitOrg/neogit - Add [solarized.nvim] theme with support for multiple variants - - Add [smart-splits.nvim] for navigating between Neovim windows and terminal multiplexer panes. Available at `vim.utility.smart-splits`. - +- Add [neogit], an interactive and powerful Git interface for Neovim, inspired by Magit diff --git a/modules/plugins/git/default.nix b/modules/plugins/git/default.nix index 06c80f35..5b30b74a 100644 --- a/modules/plugins/git/default.nix +++ b/modules/plugins/git/default.nix @@ -6,6 +6,7 @@ in { ./vim-fugitive ./git-conflict ./gitlinker-nvim + ./neogit ]; options.vim.git = { diff --git a/modules/plugins/git/gitsigns/config.nix b/modules/plugins/git/gitsigns/config.nix index f5d9f910..e89eebcf 100644 --- a/modules/plugins/git/gitsigns/config.nix +++ b/modules/plugins/git/gitsigns/config.nix @@ -69,7 +69,7 @@ in { }; binds.whichKey.register = pushDownDefault { - "g" = "+Gitsigns"; + "h" = "+Gitsigns"; }; pluginRC.gitsigns = entryAnywhere '' diff --git a/modules/plugins/git/neogit/config.nix b/modules/plugins/git/neogit/config.nix new file mode 100644 index 00000000..20928857 --- /dev/null +++ b/modules/plugins/git/neogit/config.nix @@ -0,0 +1,39 @@ +{ + options, + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.binds) pushDownDefault mkKeymap; + + cfg = config.vim.git.neogit; + + keys = cfg.mappings; + inherit (options.vim.git.neogit) mappings; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["plenary-nvim"]; + + lazy.plugins.neogit = { + package = "neogit"; + setupModule = "neogit"; + inherit (cfg) setupOpts; + + cmd = ["Neogit"]; + + keys = [ + (mkKeymap "n" keys.open "Neogit" {desc = mappings.open.description;}) + (mkKeymap "n" keys.commit "Neogit commit" {desc = mappings.commit.description;}) + (mkKeymap "n" keys.pull "Neogit pull" {desc = mappings.pull.description;}) + (mkKeymap "n" keys.push "Neogit push" {desc = mappings.push.description;}) + ]; + }; + + binds.whichKey.register = pushDownDefault { + "g" = "+Git"; + }; + }; + }; +} diff --git a/modules/plugins/git/neogit/default.nix b/modules/plugins/git/neogit/default.nix new file mode 100644 index 00000000..d3f82759 --- /dev/null +++ b/modules/plugins/git/neogit/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./neogit.nix + ]; +} diff --git a/modules/plugins/git/neogit/neogit.nix b/modules/plugins/git/neogit/neogit.nix new file mode 100644 index 00000000..fa988a32 --- /dev/null +++ b/modules/plugins/git/neogit/neogit.nix @@ -0,0 +1,17 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.binds) mkMappingOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.git.neogit = { + enable = mkEnableOption "An Interactive and powerful Git interface [Neogit]"; + setupOpts = mkPluginSetupOption "neogit" {}; + + mappings = { + open = mkMappingOption "Git Status [Neogit]" "gs"; + commit = mkMappingOption "Git Commit [Neogit]" "gc"; + pull = mkMappingOption "Git pull [Neogit]" "gp"; + push = mkMappingOption "Git push [Neogit]" "gP"; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 455e1bd6..6b51ae44 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1530,6 +1530,22 @@ "url": "https://github.com/IogaMaster/neocord/archive/2ebf3792a8100376bb65fd66d5dbf60f50af7529.tar.gz", "hash": "1ycx26ppfb5djxji1mwamr7ra29z8sm0fs9a6hhwn0l69x06x353" }, + "neogit": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "NeogitOrg", + "repo": "neogit" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "submodules": false, + "version": "v2.0.0", + "revision": "7f97dbfc5af3b898c6660d927c23e3a96a5bd069", + "url": "https://api.github.com/repos/NeogitOrg/neogit/tarball/v2.0.0", + "hash": "0nyv64ai3765if7bdfyx01a0xmsmhm8cjvxyvh2s40bzvkx8xy17" + }, "neorg": { "type": "Git", "repository": { From 3b2a37ef3d73152dec865701b2a04b4bdc985c19 Mon Sep 17 00:00:00 2001 From: raf Date: Mon, 7 Jul 2025 12:38:07 +0300 Subject: [PATCH 10/13] 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 11/13] 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 12/13] flake: remove nil input --- flake.lock | 21 --------------------- flake.nix | 7 ------- flake/develop.nix | 2 +- 3 files changed, 1 insertion(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index bd1dc28d..fb0c5599 100644 --- a/flake.lock +++ b/flake.lock @@ -51,26 +51,6 @@ "type": "github" } }, - "nil": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750047244, - "narHash": "sha256-vluLARrk4485npdyHOj8XKr0yk6H22pNf+KVRNL+i/Y=", - "owner": "oxalica", - "repo": "nil", - "rev": "870a4b1b5f12004832206703ac15aa85c42c247b", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "nil", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1750215678, @@ -107,7 +87,6 @@ "flake-parts": "flake-parts", "flake-utils": "flake-utils", "mnw": "mnw", - "nil": "nil", "nixpkgs": "nixpkgs", "systems": "systems_2" } diff --git a/flake.nix b/flake.nix index 12ace081..16d4b0c7 100644 --- a/flake.nix +++ b/flake.nix @@ -82,12 +82,5 @@ # Alternate neovim-wrapper mnw.url = "github:Gerg-L/mnw"; - - ## Language servers (use master instead of nixpkgs) - # Nix LSP - nil = { - url = "github:oxalica/nil"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; } diff --git a/flake/develop.nix b/flake/develop.nix index d92b8182..aae9d92f 100644 --- a/flake/develop.nix +++ b/flake/develop.nix @@ -10,7 +10,7 @@ default = self'.devShells.lsp; nvim-nix = pkgs.mkShellNoCC {packages = [config.packages.nix];}; lsp = pkgs.mkShellNoCC { - packages = with pkgs; [inputs'.nil.packages.default statix deadnix alejandra npins]; + packages = with pkgs; [nil statix deadnix alejandra npins]; }; }; From 72846557d5ea6ae6ae7002fc5bfd2813b54afa02 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Tue, 8 Jul 2025 20:26:04 +0200 Subject: [PATCH 13/13] docs: note which-key gitsigns group related breaking change --- docs/release-notes/rl-0.8.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 66816adf..a03ab9fe 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -24,6 +24,10 @@ module interface. You may set [](#opt-vim.clipboard.registers) appropriately to configure Neovim to use the system clipboard. +- Changed which-key group used for gitsigns from `g` to `h` to + align with the "hunks" themed mapping and avoid conflict with the new [neogit] + group. + [NotAShelf](https://github.com/notashelf): [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim