From 0650aa31acfd0a6903522494d4d66c91c05af9c4 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 3 Dec 2024 00:40:28 +0300 Subject: [PATCH 001/202] modules/neovim: deprecate `vim.enableEditorconfig` option Deprecate shorthand EditorConfig toggle, and encourage the more powerful `vim.globals` option. --- docs/release-notes/rl-0.7.md | 13 ++++++++----- modules/extra/deprecations.nix | 5 ++++- modules/neovim/init/basic.nix | 10 ---------- modules/wrapper/rc/options.nix | 15 +++++++++++++++ 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index 59267ddf..fd3764ac 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -28,11 +28,11 @@ configuration formats. ### `vim.maps` rewrite {#sec-vim-maps-rewrite} -Instead of specifying map modes using submodules (eg.: `vim.maps.normal`), a new -`vim.keymaps` submodule with support for a `mode` option has been introduced. It -can be either a string, or a list of strings, where a string represents the -short-name of the map mode(s), that the mapping should be set for. See -`:help map-modes` for more information. +Instead of specifying map modes using submodules (e.g.: `vim.maps.normal`), a +new `vim.keymaps` submodule with support for a `mode` option has been +introduced. It can be either a string, or a list of strings, where a string +represents the short-name of the map mode(s), that the mapping should be set +for. See `:help map-modes` for more information. For example: @@ -334,6 +334,9 @@ The changes are, in no particular order: `vim.options` as default values. Some are left as they don't have a direct equivalent, but expect a switch eventually. +- Deprecated `vim.enableEditorconfig` in favor of + [](#opt-vim.globals.editorconfig). + [ppenguin](https://github.com/ppenguin): - Telescope: diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index e4cb193f..9fd52938 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -84,9 +84,12 @@ in { `tabstop` and `shiftwidth` manually in `vim.options` or per-filetype in a `ftplugin` directory added to your runtime path. '') + + # 2024-12-02 + (mkRenamedOptionModule ["vim" "enableEditorconfig"] ["vim" "globals" "editorconfig"]) ] - # 2024-12-1 + # 2024-12-01 # Migrated via batchRenameOptions. Further batch renames must be below this line. renamedVimOpts ]; diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index 9370fa8f..1b45feaa 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -70,12 +70,6 @@ in { description = "Set how bells are handled. Options: on, visual or none"; }; - enableEditorconfig = mkOption { - type = bool; - default = true; - description = "Follow editorconfig rules in current directory"; - }; - searchCase = mkOption { type = enum ["ignore" "smart" "sensitive"]; default = "sensitive"; @@ -112,10 +106,6 @@ in { expandtab = true; }; - globals = pushDownDefault { - editorconfig = cfg.enableEditorconfig; - }; - # Options that are more difficult to set through 'vim.options'. Fear not, though # as the Lua DAG is still as powerful as it could be. luaConfigRC.basic = entryAfter ["globalsScript"] '' diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index ab541419..fc9938ba 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -121,6 +121,21 @@ in { default = ","; description = "The key used for `` mappings"; }; + + editorconfig = mkOption { + type = bool; + default = true; + description = '' + Whether to enable EditorConfig integration in Neovim. + + This defaults to true as it is enabled by default in stock + Neovim, setting this option to false disables EditorConfig + integration entirely. + + See [Neovim documentation](https://neovim.io/doc/user/editorconfig.html) + for more details on configuring EditorConfig behaviour. + ''; + }; }; }; From 5a5f49f85f1d667c78e731592c93084176683ae0 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 3 Dec 2024 00:52:08 +0300 Subject: [PATCH 002/202] lib/languages: re-add `toVimBool` --- lib/languages.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/languages.nix b/lib/languages.nix index 52f1b5b8..56c225d6 100644 --- a/lib/languages.nix +++ b/lib/languages.nix @@ -6,7 +6,12 @@ inherit (lib.nvim.attrsets) mapListToAttrs; in { # Converts a boolean to a yes/no string. This is used in lots of - # configuration formats. + # configuration formats, and is not covered by `toLuaObject` + toVimBool = bool: + if bool + then "yes" + else "no"; + diagnosticsToLua = { lang, config, @@ -30,8 +35,8 @@ in { mkEnable = desc: mkOption { - description = "Turn on ${desc} for enabled languages by default"; - type = bool; default = false; + type = bool; + description = "Turn on ${desc} for enabled languages by default"; }; } From 07f50e84eb99d2454250b1076449a8667f19b4de Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 3 Dec 2024 00:53:22 +0300 Subject: [PATCH 003/202] modules/neovim: deprecate `vim.showSignColumn` Prefer the type-safe `vim.options` equivalent. --- modules/extra/deprecations.nix | 6 +++++ modules/neovim/init/basic.nix | 40 +++++++++++++--------------------- modules/wrapper/rc/options.nix | 8 +++++++ 3 files changed, 29 insertions(+), 25 deletions(-) diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index 9fd52938..8d27d7ac 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -14,6 +14,7 @@ splitRight = "splitright"; autoIndent = "autoindent"; wordWrap = "wrap"; + showSignColumn = "signcolumn"; }; in { imports = concatLists [ @@ -35,23 +36,28 @@ in { vim.autopairs.enable has been removed in favor of per-plugin modules. You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. '') + (mkRemovedOptionModule ["vim" "autopairs" "type"] '' vim.autopairs.type has been removed in favor of per-plugin modules. You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. '') + (mkRemovedOptionModule ["vim" "autocomplete" "enable"] '' vim.autocomplete.enable has been removed in favor of per-plugin modules. You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. '') + (mkRemovedOptionModule ["vim" "autocomplete" "type"] '' vim.autocomplete.type has been removed in favor of per-plugin modules. You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. '') + (mkRemovedOptionModule ["vim" "autocomplete" "sources"] '' vim.autocomplete.sources has been removed in favor of per-plugin modules. You can add nvim-cmp sources with vim.autocomplete.nvim-cmp.sources instead. '') + (mkRemovedOptionModule ["vim" "snippets" "vsnip" "enable"] '' vim.snippets.vsnip.enable has been removed in favor of the more modern luasnip. '') diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index 1b45feaa..ef899cf4 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -58,12 +58,6 @@ in { description = "Prevent swapfile and backupfile from being created"; }; - showSignColumn = mkOption { - type = bool; - default = true; - description = "Show the sign column"; - }; - bell = mkOption { type = enum ["none" "visual" "on"]; default = "none"; @@ -109,74 +103,70 @@ in { # Options that are more difficult to set through 'vim.options'. Fear not, though # as the Lua DAG is still as powerful as it could be. luaConfigRC.basic = entryAfter ["globalsScript"] '' - -- Settings that are set for everything - vim.opt.shortmess:append("c") + -- Settings that are set for everything + vim.opt.shortmess:append("c") - ${optionalString cfg.undoFile.enable '' + ${optionalString cfg.undoFile.enable '' vim.o.undofile = true vim.o.undodir = ${toLuaObject cfg.undoFile.path} ''} - ${optionalString cfg.showSignColumn '' - vim.o.signcolumn = "yes" - ''} - ${optionalString cfg.preventJunkFiles '' vim.o.swapfile = false vim.o.backup = false vim.o.writebackup = false ''} - ${optionalString (cfg.bell == "none") '' + ${optionalString (cfg.bell == "none") '' vim.o.errorbells = false vim.o.visualbell = false ''} - ${optionalString (cfg.bell == "on") '' + ${optionalString (cfg.bell == "on") '' vim.o.visualbell = false ''} - ${optionalString (cfg.bell == "visual") '' + ${optionalString (cfg.bell == "visual") '' vim.o.errorbells = false ''} - ${optionalString (cfg.lineNumberMode == "relative") '' + ${optionalString (cfg.lineNumberMode == "relative") '' vim.o.relativenumber = true ''} - ${optionalString (cfg.lineNumberMode == "number") '' + ${optionalString (cfg.lineNumberMode == "number") '' vim.o.number = true ''} - ${optionalString (cfg.lineNumberMode == "relNumber") '' + ${optionalString (cfg.lineNumberMode == "relNumber") '' vim.o.number = true vim.o.relativenumber = true ''} - ${optionalString cfg.useSystemClipboard '' + ${optionalString cfg.useSystemClipboard '' vim.opt.clipboard:append("unnamedplus") ''} - ${optionalString cfg.syntaxHighlighting '' + ${optionalString cfg.syntaxHighlighting '' vim.cmd("syntax on") ''} - ${optionalString cfg.hideSearchHighlight '' + ${optionalString cfg.hideSearchHighlight '' vim.o.hlsearch = false vim.o.incsearch = true ''} - ${optionalString (cfg.searchCase == "ignore") '' + ${optionalString (cfg.searchCase == "ignore") '' vim.o.smartcase = false vim.o.ignorecase = true ''} - ${optionalString (cfg.searchCase == "smart") '' + ${optionalString (cfg.searchCase == "smart") '' vim.o.smartcase = true vim.o.ignorecase = true ''} - ${optionalString (cfg.searchCase == "sensitive") '' + ${optionalString (cfg.searchCase == "sensitive") '' vim.o.smartcase = false vim.o.ignorecase = false ''} diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index fc9938ba..1a7ea8b1 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -6,6 +6,7 @@ inherit (lib.options) mkOption mkEnableOption literalMD literalExpression; inherit (lib.strings) optionalString; inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything; + inherit (lib.nvim.languages) toVimBool; inherit (lib.nvim.types) dagOf; inherit (lib.nvim.lua) listToLuaTable; @@ -227,6 +228,13 @@ in { default = true; description = "Enable word wrapping."; }; + + signcolumn = mkOption { + type = bool; + default = true; + apply = x: toVimBool x; # convert to a yes/no str + description = "Show the sign column"; + }; }; }; From c19c925f1dd8d86e82f6fe78ca2e42ff8883bcb1 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 3 Dec 2024 01:03:45 +0300 Subject: [PATCH 004/202] modules/neovim: avoid interpolating strings for `vim.preventJunkFiles` --- modules/neovim/init/basic.nix | 42 +++++++++++++++++------------------ 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index ef899cf4..f91ea9a1 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -95,78 +95,78 @@ in { # and 'vim.globals' (vim.g). Future options, if possible, should be added here instead of the # luaConfigRC section below. options = pushDownDefault { + # Options that are always set, with a lower priority encoding = "utf-8"; hidden = true; expandtab = true; + + # Junkfile Behaviour + swapfile = !cfg.preventJunkFiles; + backup = !cfg.preventJunkFiles; + writebackup = !cfg.preventJunkFiles; }; # Options that are more difficult to set through 'vim.options'. Fear not, though # as the Lua DAG is still as powerful as it could be. luaConfigRC.basic = entryAfter ["globalsScript"] '' - -- Settings that are set for everything - vim.opt.shortmess:append("c") + -- Settings that are set for everything + vim.opt.shortmess:append("c") - ${optionalString cfg.undoFile.enable '' + ${optionalString cfg.undoFile.enable '' vim.o.undofile = true vim.o.undodir = ${toLuaObject cfg.undoFile.path} ''} - ${optionalString cfg.preventJunkFiles '' - vim.o.swapfile = false - vim.o.backup = false - vim.o.writebackup = false - ''} - - ${optionalString (cfg.bell == "none") '' + ${optionalString (cfg.bell == "none") '' vim.o.errorbells = false vim.o.visualbell = false ''} - ${optionalString (cfg.bell == "on") '' + ${optionalString (cfg.bell == "on") '' vim.o.visualbell = false ''} - ${optionalString (cfg.bell == "visual") '' + ${optionalString (cfg.bell == "visual") '' vim.o.errorbells = false ''} - ${optionalString (cfg.lineNumberMode == "relative") '' + ${optionalString (cfg.lineNumberMode == "relative") '' vim.o.relativenumber = true ''} - ${optionalString (cfg.lineNumberMode == "number") '' + ${optionalString (cfg.lineNumberMode == "number") '' vim.o.number = true ''} - ${optionalString (cfg.lineNumberMode == "relNumber") '' + ${optionalString (cfg.lineNumberMode == "relNumber") '' vim.o.number = true vim.o.relativenumber = true ''} - ${optionalString cfg.useSystemClipboard '' + ${optionalString cfg.useSystemClipboard '' vim.opt.clipboard:append("unnamedplus") ''} - ${optionalString cfg.syntaxHighlighting '' + ${optionalString cfg.syntaxHighlighting '' vim.cmd("syntax on") ''} - ${optionalString cfg.hideSearchHighlight '' + ${optionalString cfg.hideSearchHighlight '' vim.o.hlsearch = false vim.o.incsearch = true ''} - ${optionalString (cfg.searchCase == "ignore") '' + ${optionalString (cfg.searchCase == "ignore") '' vim.o.smartcase = false vim.o.ignorecase = true ''} - ${optionalString (cfg.searchCase == "smart") '' + ${optionalString (cfg.searchCase == "smart") '' vim.o.smartcase = true vim.o.ignorecase = true ''} - ${optionalString (cfg.searchCase == "sensitive") '' + ${optionalString (cfg.searchCase == "sensitive") '' vim.o.smartcase = false vim.o.ignorecase = false ''} From 66005a51c380cc8ca3597b1e092cb343d900ad93 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 11 Dec 2024 00:08:48 +0300 Subject: [PATCH 005/202] wrappr/rc: allow strings in `vim.options.signcolumn` --- modules/wrapper/rc/options.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 1a7ea8b1..980c9497 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -6,6 +6,7 @@ inherit (lib.options) mkOption mkEnableOption literalMD literalExpression; inherit (lib.strings) optionalString; inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything; + inherit (lib.trivial) isBool; inherit (lib.nvim.languages) toVimBool; inherit (lib.nvim.types) dagOf; inherit (lib.nvim.lua) listToLuaTable; @@ -230,9 +231,12 @@ in { }; signcolumn = mkOption { - type = bool; + type = either str bool; default = true; - apply = x: toVimBool x; # convert to a yes/no str + apply = x: + if isBool x + then toVimBool x # convert to a yes/no str + else x; description = "Show the sign column"; }; }; From 8febf44422f4404dcc1838ee55972733e092866c Mon Sep 17 00:00:00 2001 From: raf Date: Tue, 31 Dec 2024 07:02:13 +0300 Subject: [PATCH 006/202] languages/markdown: add `render-markdown.nvim` as an extension (#517) --- docs/release-notes/rl-0.8.md | 4 +++ flake.lock | 17 +++++++++++ flake.nix | 5 ++++ modules/plugins/languages/markdown.nix | 40 +++++++++++++++++++++++--- 4 files changed, 62 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 567e4e6e..e41911ba 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -3,12 +3,16 @@ [NotAShelf](https://github.com/notashelf): [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim +[render-markdown.nvim]: https://github.com/MeanderingProgrammer/render-markdown.nvim - Add [typst-preview.nvim] under `languages.typst.extensions.typst-preview-nvim`. - Add a search widget to the options page in the nvf manual. +- Add [render-markdown.nvim] under + `languages.markdown.extensions.render-markdown-nvim` + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim diff --git a/flake.lock b/flake.lock index fd404df6..0a7ee1a5 100644 --- a/flake.lock +++ b/flake.lock @@ -1694,6 +1694,22 @@ "type": "github" } }, + "plugin-render-markdown-nvim": { + "flake": false, + "locked": { + "lastModified": 1735525479, + "narHash": "sha256-ncFqBv0JITX3pTsLON+HctLUaKXhLRMBUrRWmI8KOSA=", + "owner": "MeanderingProgrammer", + "repo": "render-markdown.nvim", + "rev": "6fbd1491abc104409f119685de5353c35c97c005", + "type": "github" + }, + "original": { + "owner": "MeanderingProgrammer", + "repo": "render-markdown.nvim", + "type": "github" + } + }, "plugin-rose-pine": { "flake": false, "locked": { @@ -2170,6 +2186,7 @@ "plugin-precognition-nvim": "plugin-precognition-nvim", "plugin-project-nvim": "plugin-project-nvim", "plugin-registers": "plugin-registers", + "plugin-render-markdown-nvim": "plugin-render-markdown-nvim", "plugin-rose-pine": "plugin-rose-pine", "plugin-rtp-nvim": "plugin-rtp-nvim", "plugin-run-nvim": "plugin-run-nvim", diff --git a/flake.nix b/flake.nix index 161ba43f..0fd3cc8c 100644 --- a/flake.nix +++ b/flake.nix @@ -488,6 +488,11 @@ flake = false; }; + plugin-render-markdown-nvim = { + url = "github:MeanderingProgrammer/render-markdown.nvim"; + flake = false; + }; + # Minimap plugin-minimap-vim = { url = "github:wfxr/minimap.vim"; diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index e0164771..ab184835 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -4,13 +4,14 @@ lib, ... }: let - inherit (builtins) attrNames concatLists; + inherit (builtins) attrNames; inherit (lib.modules) mkIf mkMerge; inherit (lib.options) mkEnableOption mkOption; - inherit (lib.lists) isList; + inherit (lib.lists) isList concatLists; inherit (lib.types) bool enum either package listOf str; - inherit (lib.nvim.lua) expToLua; - inherit (lib.nvim.types) mkGrammarOption; + inherit (lib.nvim.lua) expToLua toLuaObject; + inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption; + inherit (lib.nvim.dag) entryAnywhere; cfg = config.vim.languages.markdown; defaultServer = "marksman"; @@ -98,6 +99,29 @@ in { description = "Extra filetypes to format with the Markdown formatter"; }; }; + + extensions = { + render-markdown-nvim = { + enable = + mkEnableOption "" + // { + description = '' + [render-markdown.nvim]: https://github.com/MeanderingProgrammer/render-markdown.nvim + + Inline Markdown rendering with [render-markdown.nvim] + + ''; + }; + + setupOpts = mkPluginSetupOption "render-markdown" { + auto_override_publish_diagnostics = mkOption { + description = "Automatically override the publish_diagnostics handler"; + type = bool; + default = true; + }; + }; + }; + }; }; config = mkIf cfg.enable (mkMerge [ @@ -115,5 +139,13 @@ in { vim.lsp.null-ls.enable = true; vim.lsp.null-ls.sources.markdown-format = formats.${cfg.format.type}.nullConfig; }) + + # Extensions + (mkIf cfg.extensions.render-markdown-nvim.enable { + vim.startPlugins = ["render-markdown-nvim"]; + vim.pluginRC.render-markdown-nvim = entryAnywhere '' + require("render-markdown").setup(${toLuaObject cfg.extensions.render-markdown-nvim.setupOpts}) + ''; + }) ]); } From f9d1684b5fdd33fbf03069d25105d5147f1b65e1 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 22 Dec 2024 21:46:17 +0100 Subject: [PATCH 007/202] wrapper: rename build dir to environemnt --- modules/modules.nix | 2 +- modules/wrapper/{build => environment}/config.nix | 0 modules/wrapper/{build => environment}/default.nix | 0 modules/wrapper/{build => environment}/options.nix | 0 4 files changed, 1 insertion(+), 1 deletion(-) rename modules/wrapper/{build => environment}/config.nix (100%) rename modules/wrapper/{build => environment}/default.nix (100%) rename modules/wrapper/{build => environment}/options.nix (100%) diff --git a/modules/modules.nix b/modules/modules.nix index bc441e96..ee37a0e7 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -48,7 +48,7 @@ # The neovim wrapper, used to build a wrapped neovim package # using the configuration passed in `neovim` and `plugins` modules. wrapper = map (p: ./wrapper + "/${p}") [ - "build" + "environment" "rc" "warnings" "lazy" diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/environment/config.nix similarity index 100% rename from modules/wrapper/build/config.nix rename to modules/wrapper/environment/config.nix diff --git a/modules/wrapper/build/default.nix b/modules/wrapper/environment/default.nix similarity index 100% rename from modules/wrapper/build/default.nix rename to modules/wrapper/environment/default.nix diff --git a/modules/wrapper/build/options.nix b/modules/wrapper/environment/options.nix similarity index 100% rename from modules/wrapper/build/options.nix rename to modules/wrapper/environment/options.nix From 26398b6b14bfdf9de261300fde56111ce9c0edcb Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 22 Dec 2024 21:49:11 +0100 Subject: [PATCH 008/202] wrapper: add built package as option --- modules/modules.nix | 1 + modules/wrapper/build/config.nix | 111 ++++++++++++++++++ modules/wrapper/build/default.nix | 6 + modules/wrapper/build/options.nix | 12 ++ .../build/patches}/flutter-tools.patch | 0 5 files changed, 130 insertions(+) create mode 100644 modules/wrapper/build/config.nix create mode 100644 modules/wrapper/build/default.nix create mode 100644 modules/wrapper/build/options.nix rename {patches => modules/wrapper/build/patches}/flutter-tools.patch (100%) diff --git a/modules/modules.nix b/modules/modules.nix index ee37a0e7..6e05c592 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -48,6 +48,7 @@ # The neovim wrapper, used to build a wrapped neovim package # using the configuration passed in `neovim` and `plugins` modules. wrapper = map (p: ./wrapper + "/${p}") [ + "build" "environment" "rc" "warnings" diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix new file mode 100644 index 00000000..1faa2ccc --- /dev/null +++ b/modules/wrapper/build/config.nix @@ -0,0 +1,111 @@ +{ + inputs, + lib, + config, + pkgs, + ... +} +: let + inherit (pkgs) vimPlugins; + inherit (lib.strings) isString; + inherit (lib.lists) filter map; + + # alias to the internal configuration + vimOptions = config.vim; + + noBuildPlug = {pname, ...} @ attrs: let + src = inputs."plugin-${attrs.pname}"; + in + { + version = src.shortRev or src.shortDirtyRev or "dirty"; + outPath = src; + passthru.vimPlugin = false; + } + // attrs; + + # build a vim plugin with the given name and arguments + # if the plugin is nvim-treesitter, warn the user to use buildTreesitterPlug + # instead + buildPlug = attrs: let + src = inputs."plugin-${attrs.pname}"; + in + pkgs.vimUtils.buildVimPlugin ( + { + version = src.shortRev or src.shortDirtyRev or "dirty"; + inherit src; + } + // attrs + ); + + buildTreesitterPlug = grammars: vimPlugins.nvim-treesitter.withPlugins (_: grammars); + + pluginBuilders = { + nvim-treesitter = buildTreesitterPlug vimOptions.treesitter.grammars; + flutter-tools-patched = buildPlug { + pname = "flutter-tools"; + patches = [./patches/flutter-tools.patch]; + }; + }; + + buildConfigPlugins = plugins: + map ( + plug: + if (isString plug) + then pluginBuilders.${plug} or (noBuildPlug {pname = plug;}) + else plug + ) (filter (f: f != null) plugins); + + # built (or "normalized") plugins that are modified + builtStartPlugins = buildConfigPlugins vimOptions.startPlugins; + builtOptPlugins = map (package: package // {optional = true;}) (buildConfigPlugins vimOptions.optPlugins); + + # additional Lua and Python3 packages, mapped to their respective functions + # to conform to the format mnw expects. end user should + # only ever need to pass a list of packages, which are modified + # here + extraLuaPackages = ps: map (x: ps.${x}) vimOptions.luaPackages; + extraPython3Packages = ps: map (x: ps.${x}) vimOptions.python3Packages; + + # Wrap the user's desired (unwrapped) Neovim package with arguments that'll be used to + # generate a wrapped Neovim package. + neovim-wrapped = inputs.mnw.lib.wrap pkgs { + neovim = vimOptions.package; + plugins = builtStartPlugins ++ builtOptPlugins; + appName = "nvf"; + extraBinPath = vimOptions.extraPackages; + initLua = vimOptions.builtLuaConfigRC; + luaFiles = vimOptions.extraLuaFiles; + + inherit (vimOptions) viAlias vimAlias withRuby withNodeJs withPython3; + inherit extraLuaPackages extraPython3Packages; + }; + + dummyInit = pkgs.writeText "nvf-init.lua" vimOptions.builtLuaConfigRC; + # Additional helper scripts for printing and displaying nvf configuration + # in your commandline. + printConfig = pkgs.writers.writeDashBin "nvf-print-config" "cat ${dummyInit}"; + printConfigPath = pkgs.writers.writeDashBin "nvf-print-config-path" "echo -n ${dummyInit}"; + + # Expose wrapped neovim-package for userspace + # or module consumption. + neovim = pkgs.symlinkJoin { + name = "nvf-with-helpers"; + paths = [neovim-wrapped printConfig printConfigPath]; + postBuild = "echo Helpers added"; + + # Allow evaluating vimOptions, i.e., config.vim from the packages' passthru + # attribute. For example, packages.x86_64-linux.neovim.passthru.neovimConfig + # will return the configuration in full. + passthru.neovimConfig = vimOptions; + + meta = + neovim-wrapped.meta + // { + description = "Wrapped Neovim package with helper scripts to print the config (path)"; + }; + }; +in { + config.vim.build = { + finalPackage = neovim; + }; +} diff --git a/modules/wrapper/build/default.nix b/modules/wrapper/build/default.nix new file mode 100644 index 00000000..0ebefe45 --- /dev/null +++ b/modules/wrapper/build/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./options.nix + ./config.nix + ]; +} diff --git a/modules/wrapper/build/options.nix b/modules/wrapper/build/options.nix new file mode 100644 index 00000000..fa1db61e --- /dev/null +++ b/modules/wrapper/build/options.nix @@ -0,0 +1,12 @@ +{lib, ...}: let + inherit (lib.types) package; + inherit (lib.options) mkOption; +in { + options.vim.build = { + finalPackage = mkOption { + type = package; + readOnly = true; + description = "final output package"; + }; + }; +} diff --git a/patches/flutter-tools.patch b/modules/wrapper/build/patches/flutter-tools.patch similarity index 100% rename from patches/flutter-tools.patch rename to modules/wrapper/build/patches/flutter-tools.patch From 7d043e5f14cb6e2639f6266adbb9381cdc6cf6bf Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 22 Dec 2024 21:50:13 +0100 Subject: [PATCH 009/202] home-manager: use proper submodule type for settings --- flake.nix | 2 +- flake/modules/home-manager.nix | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/flake.nix b/flake.nix index 0fd3cc8c..7cbcfeeb 100644 --- a/flake.nix +++ b/flake.nix @@ -31,7 +31,7 @@ }; homeManagerModules = { - nvf = import ./flake/modules/home-manager.nix self.packages lib; + nvf = import ./flake/modules/home-manager.nix self.packages lib inputs; default = self.homeManagerModules.nvf; neovim-flake = lib.warn '' diff --git a/flake/modules/home-manager.nix b/flake/modules/home-manager.nix index 77b8448c..d1e85368 100644 --- a/flake/modules/home-manager.nix +++ b/flake/modules/home-manager.nix @@ -1,5 +1,5 @@ # Home Manager module -packages: lib: { +packages: lib: inputs: { config, pkgs, ... @@ -8,15 +8,19 @@ packages: lib: { inherit (lib.modules) mkIf mkAliasOptionModule; inherit (lib.lists) optional; inherit (lib.options) mkOption mkEnableOption literalExpression; - inherit (lib.types) attrsOf anything bool; - inherit (lib.nvim) neovimConfiguration; - inherit (lib.nvim.types) anythingConcatLists; + inherit (lib.types) anything bool submoduleWith; cfg = config.programs.nvf; - neovimConfigured = neovimConfiguration { - inherit pkgs; - modules = [cfg.settings]; + nvfModule = submoduleWith { + description = "Nvf module"; + class = "nvf"; + specialArgs = { + inherit pkgs lib inputs; + }; + modules = [ + {imports = import ../../modules/modules.nix {inherit pkgs lib;};} + ]; }; in { imports = [ @@ -55,7 +59,7 @@ in { }; settings = mkOption { - type = attrsOf anythingConcatLists; + type = nvfModule; default = {}; description = "Attribute set of nvf preferences."; example = literalExpression '' @@ -78,7 +82,7 @@ in { }; config = mkIf cfg.enable { - programs.nvf.finalPackage = neovimConfigured.neovim; + programs.nvf.finalPackage = cfg.settings.vim.build.finalPackage; home = { sessionVariables = mkIf cfg.defaultEditor {EDITOR = "nvim";}; From 8c1352502a3cb7a30c8cc015fb65f3b6c884a28d Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 22 Dec 2024 21:59:24 +0100 Subject: [PATCH 010/202] module: remove redundant code the bulk of the build step is moved to modules/wrapper/build --- modules/default.nix | 105 ++++---------------------------------------- 1 file changed, 9 insertions(+), 96 deletions(-) diff --git a/modules/default.nix b/modules/default.nix index a2f8730d..a207e0d1 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -9,9 +9,8 @@ extraModules ? [], configuration ? {}, }: let - inherit (pkgs) vimPlugins; - inherit (lib.strings) isString toString; - inherit (lib.lists) filter map concatLists; + inherit (lib.strings) toString; + inherit (lib.lists) concatLists; # import modules.nix with `check`, `pkgs` and `lib` as arguments # check can be disabled while calling this file is called @@ -21,7 +20,12 @@ # evaluate the extended library with the modules # optionally with any additional modules passed by the user module = lib.evalModules { - specialArgs = extraSpecialArgs // {modulesPath = toString ./.;}; + specialArgs = + extraSpecialArgs + // { + inherit inputs; + modulesPath = toString ./.; + }; modules = concatLists [ nvimModules modules @@ -36,102 +40,11 @@ extraModules)) ]; }; - - # alias to the internal configuration - vimOptions = module.config.vim; - - noBuildPlug = {pname, ...} @ attrs: let - src = inputs."plugin-${attrs.pname}"; - in - { - version = src.shortRev or src.shortDirtyRev or "dirty"; - outPath = src; - passthru.vimPlugin = false; - } - // attrs; - - # build a vim plugin with the given name and arguments - # if the plugin is nvim-treesitter, warn the user to use buildTreesitterPlug - # instead - buildPlug = attrs: let - src = inputs."plugin-${attrs.pname}"; - in - pkgs.vimUtils.buildVimPlugin ( - { - version = src.shortRev or src.shortDirtyRev or "dirty"; - inherit src; - } - // attrs - ); - - buildTreesitterPlug = grammars: vimPlugins.nvim-treesitter.withPlugins (_: grammars); - - pluginBuilders = { - nvim-treesitter = buildTreesitterPlug vimOptions.treesitter.grammars; - flutter-tools-patched = buildPlug { - pname = "flutter-tools"; - patches = [../patches/flutter-tools.patch]; - }; - }; - - buildConfigPlugins = plugins: - map ( - plug: - if (isString plug) - then pluginBuilders.${plug} or (noBuildPlug {pname = plug;}) - else plug - ) (filter (f: f != null) plugins); - - # built (or "normalized") plugins that are modified - builtStartPlugins = buildConfigPlugins vimOptions.startPlugins; - builtOptPlugins = map (package: package // {optional = true;}) (buildConfigPlugins vimOptions.optPlugins); - - # additional Lua and Python3 packages, mapped to their respective functions - # to conform to the format mnw expects. end user should - # only ever need to pass a list of packages, which are modified - # here - extraLuaPackages = ps: map (x: ps.${x}) vimOptions.luaPackages; - extraPython3Packages = ps: map (x: ps.${x}) vimOptions.python3Packages; - - # Wrap the user's desired (unwrapped) Neovim package with arguments that'll be used to - # generate a wrapped Neovim package. - neovim-wrapped = inputs.mnw.lib.wrap pkgs { - neovim = vimOptions.package; - plugins = builtStartPlugins ++ builtOptPlugins; - appName = "nvf"; - extraBinPath = vimOptions.extraPackages; - initLua = vimOptions.builtLuaConfigRC; - luaFiles = vimOptions.extraLuaFiles; - - inherit (vimOptions) viAlias vimAlias withRuby withNodeJs withPython3; - inherit extraLuaPackages extraPython3Packages; - }; - - dummyInit = pkgs.writeText "nvf-init.lua" vimOptions.builtLuaConfigRC; - # Additional helper scripts for printing and displaying nvf configuration - # in your commandline. - printConfig = pkgs.writers.writeDashBin "nvf-print-config" "cat ${dummyInit}"; - printConfigPath = pkgs.writers.writeDashBin "nvf-print-config-path" "echo -n ${dummyInit}"; in { inherit (module) options config; inherit (module._module.args) pkgs; # Expose wrapped neovim-package for userspace # or module consumption. - neovim = pkgs.symlinkJoin { - name = "nvf-with-helpers"; - paths = [neovim-wrapped printConfig printConfigPath]; - postBuild = "echo Helpers added"; - - # Allow evaluating vimOptions, i.e., config.vim from the packages' passthru - # attribute. For example, packages.x86_64-linux.neovim.passthru.neovimConfig - # will return the configuration in full. - passthru.neovimConfig = vimOptions; - - meta = - neovim-wrapped.meta - // { - description = "Wrapped Neovim package with helper scripts to print the config (path)"; - }; - }; + neovim = module.config.vim.build.finalPackage; } From 98b36e08f0311a9c95076cd28cd483ed398ddb1e Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 22 Dec 2024 23:05:06 +0100 Subject: [PATCH 011/202] nixos: use proper submodule type for settings --- flake.nix | 2 +- flake/modules/nixos.nix | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/flake.nix b/flake.nix index 7cbcfeeb..36929113 100644 --- a/flake.nix +++ b/flake.nix @@ -42,7 +42,7 @@ }; nixosModules = { - nvf = import ./flake/modules/nixos.nix self.packages lib; + nvf = import ./flake/modules/nixos.nix self.packages lib inputs; default = self.nixosModules.nvf; neovim-flake = lib.warn '' diff --git a/flake/modules/nixos.nix b/flake/modules/nixos.nix index 022b3d94..b4957700 100644 --- a/flake/modules/nixos.nix +++ b/flake/modules/nixos.nix @@ -1,5 +1,5 @@ # NixOS module -packages: lib: { +packages: lib: inputs: { config, pkgs, ... @@ -8,15 +8,19 @@ packages: lib: { inherit (lib.modules) mkIf mkOverride mkAliasOptionModule; inherit (lib.lists) optional; inherit (lib.options) mkOption mkEnableOption literalExpression; - inherit (lib.types) attrsOf anything bool; - inherit (lib.nvim) neovimConfiguration; - inherit (lib.nvim.types) anythingConcatLists; + inherit (lib.types) anything bool submoduleWith; cfg = config.programs.nvf; - neovimConfigured = neovimConfiguration { - inherit pkgs; - modules = [cfg.settings]; + nvfModule = submoduleWith { + description = "Nvf module"; + class = "nvf"; + specialArgs = { + inherit pkgs lib inputs; + }; + modules = [ + {imports = import ../../modules/modules.nix {inherit pkgs lib;};} + ]; }; in { imports = [ @@ -55,7 +59,7 @@ in { }; settings = mkOption { - type = attrsOf anythingConcatLists; + type = nvfModule; default = {}; description = "Attribute set of nvf preferences."; example = literalExpression '' @@ -78,7 +82,7 @@ in { }; config = mkIf cfg.enable { - programs.nvf.finalPackage = neovimConfigured.neovim; + programs.nvf.finalPackage = cfg.settings.vim.build.finalPackage; environment = { variables.EDITOR = mkIf cfg.defaultEditor (mkOverride 900 "nvim"); From 411e641eab7634ec20c2328b004879acd3d0539e Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 22 Dec 2024 23:00:26 +0100 Subject: [PATCH 012/202] lib: remove anythingConcatLists --- lib/types/custom.nix | 55 +++---------------------------------------- lib/types/default.nix | 2 +- 2 files changed, 4 insertions(+), 53 deletions(-) diff --git a/lib/types/custom.nix b/lib/types/custom.nix index 3d4a2bcb..c42cd2ce 100644 --- a/lib/types/custom.nix +++ b/lib/types/custom.nix @@ -1,57 +1,8 @@ {lib}: let - inherit (lib.options) showOption showFiles getFiles mergeOneOption mergeEqualOption; - inherit (lib.strings) isString isStringLike; - inherit (lib.types) anything attrsOf listOf mkOptionType; - inherit (lib.nvim.types) anythingConcatLists; - inherit (builtins) typeOf isAttrs any head concatLists stringLength match; + inherit (lib.options) mergeEqualOption; + inherit (lib.strings) isString stringLength match; + inherit (lib.types) listOf mkOptionType; in { - # HACK: Does this break anything in our case? - # A modified version of the nixpkgs anything type that concatenates lists - # This isn't the default because the order in which the lists are concatenated depends on the order in which the modules are imported, - # which makes it non-deterministic - anythingConcatLists = - anything - // { - merge = loc: defs: let - getType = value: - if isAttrs value && isStringLike value - then "stringCoercibleSet" - else typeOf value; - - # Throw an error if not all defs have the same type - checkType = getType (head defs).value; - commonType = - if any (def: getType def.value != checkType) defs - then throw "The option `${showOption loc}' has conflicting option types in ${showFiles (getFiles defs)}" - else checkType; - - mergeFunctions = { - # Recursively merge attribute sets - set = (attrsOf anythingConcatLists).merge; - - # Overridden behavior for lists, that concatenates lists - list = _: defs: concatLists (map (e: e.value) defs); - - # This means it's a package, only accept a single definition - stringCoercibleSet = mergeOneOption; - - # This works by passing the argument to the functions, - # and merging their returns values instead - lambda = loc: defs: arg: - anythingConcatLists.merge - (loc ++ [""]) - (map (def: { - inherit (def) file; - value = def.value arg; - }) - defs); - }; - in - # Merge the defs with the correct function from above, if available - # otherwise only allow equal values - (mergeFunctions.${commonType} or mergeEqualOption) loc defs; - }; - mergelessListOf = elemType: let super = listOf elemType; in diff --git a/lib/types/default.nix b/lib/types/default.nix index 73b35956..c1c16715 100644 --- a/lib/types/default.nix +++ b/lib/types/default.nix @@ -11,5 +11,5 @@ in { inherit (typesDag) dagOf; inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption luaInline pluginType borderType; inherit (typesLanguage) diagnostics mkGrammarOption; - inherit (customTypes) anythingConcatLists char hexColor mergelessListOf; + inherit (customTypes) char hexColor mergelessListOf; } From 9ccd0bfd4eda390415b8664f4155f148e4bbf13c Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 29 Dec 2024 18:20:51 +0100 Subject: [PATCH 013/202] home-manager: remove redundant import module --- flake/modules/home-manager.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/flake/modules/home-manager.nix b/flake/modules/home-manager.nix index d1e85368..c109e774 100644 --- a/flake/modules/home-manager.nix +++ b/flake/modules/home-manager.nix @@ -18,9 +18,7 @@ packages: lib: inputs: { specialArgs = { inherit pkgs lib inputs; }; - modules = [ - {imports = import ../../modules/modules.nix {inherit pkgs lib;};} - ]; + modules = import ../../modules/modules.nix {inherit pkgs lib;}; }; in { imports = [ From 59bf01bbe09d4f85543c106dc47da0cde45d22c1 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 29 Dec 2024 18:25:20 +0100 Subject: [PATCH 014/202] nixos: remove redundant import module --- flake/modules/nixos.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/flake/modules/nixos.nix b/flake/modules/nixos.nix index b4957700..b53d4fc9 100644 --- a/flake/modules/nixos.nix +++ b/flake/modules/nixos.nix @@ -18,9 +18,7 @@ packages: lib: inputs: { specialArgs = { inherit pkgs lib inputs; }; - modules = [ - {imports = import ../../modules/modules.nix {inherit pkgs lib;};} - ]; + modules = import ../../modules/modules.nix {inherit pkgs lib;}; }; in { imports = [ From fcbc49e2e56b701bc42e6e02459e321be1f64faf Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 29 Dec 2024 18:46:55 +0100 Subject: [PATCH 015/202] home-manager: use attr for long function args --- flake.nix | 2 +- flake/modules/home-manager.nix | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 36929113..53e592aa 100644 --- a/flake.nix +++ b/flake.nix @@ -31,7 +31,7 @@ }; homeManagerModules = { - nvf = import ./flake/modules/home-manager.nix self.packages lib inputs; + nvf = import ./flake/modules/home-manager.nix {inherit lib self;}; default = self.homeManagerModules.nvf; neovim-flake = lib.warn '' diff --git a/flake/modules/home-manager.nix b/flake/modules/home-manager.nix index c109e774..715f7537 100644 --- a/flake/modules/home-manager.nix +++ b/flake/modules/home-manager.nix @@ -1,9 +1,13 @@ # Home Manager module -packages: lib: inputs: { +{ + self, + lib, +}: { config, pkgs, ... }: let + inherit (self) packages inputs; inherit (lib) maintainers; inherit (lib.modules) mkIf mkAliasOptionModule; inherit (lib.lists) optional; From ecc9b60a2d1555ef04490fe25444636b0907cde2 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 29 Dec 2024 18:47:22 +0100 Subject: [PATCH 016/202] nixos: use attrset for long function args --- flake.nix | 2 +- flake/modules/nixos.nix | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 53e592aa..d5a7b709 100644 --- a/flake.nix +++ b/flake.nix @@ -42,7 +42,7 @@ }; nixosModules = { - nvf = import ./flake/modules/nixos.nix self.packages lib inputs; + nvf = import ./flake/modules/nixos.nix {inherit lib self;}; default = self.nixosModules.nvf; neovim-flake = lib.warn '' diff --git a/flake/modules/nixos.nix b/flake/modules/nixos.nix index b53d4fc9..ecc173a1 100644 --- a/flake/modules/nixos.nix +++ b/flake/modules/nixos.nix @@ -1,9 +1,13 @@ # NixOS module -packages: lib: inputs: { +{ + self, + lib, +}: { config, pkgs, ... }: let + inherit (self) inputs packages; inherit (lib) maintainers; inherit (lib.modules) mkIf mkOverride mkAliasOptionModule; inherit (lib.lists) optional; From af0eed84e06784b6c86abe78be5ed454ac2a5ea0 Mon Sep 17 00:00:00 2001 From: diniamo Date: Wed, 1 Jan 2025 12:59:13 +0100 Subject: [PATCH 017/202] wrapper/build: improve noBuildPlug --- modules/wrapper/build/config.nix | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index 1faa2ccc..ee5b4fda 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -9,30 +9,35 @@ inherit (pkgs) vimPlugins; inherit (lib.strings) isString; inherit (lib.lists) filter map; + inherit (builtins) path; # alias to the internal configuration vimOptions = config.vim; - noBuildPlug = {pname, ...} @ attrs: let - src = inputs."plugin-${attrs.pname}"; - in - { - version = src.shortRev or src.shortDirtyRev or "dirty"; - outPath = src; - passthru.vimPlugin = false; - } - // attrs; + noBuildPlug = pname: let + input = inputs."plugin-${pname}"; + version = input.shortRev or input.shortDirtyRev or "dirty"; + in { + # vim.lazy.plugins relies on pname, so we only set that here + # version isn't needed for anything, but inherit it anyway for correctness + inherit pname version; + outPath = path { + name = "${pname}-0-unstable-${version}"; + path = input.outPath; + }; + passthru.vimPlugin = false; + }; # build a vim plugin with the given name and arguments # if the plugin is nvim-treesitter, warn the user to use buildTreesitterPlug # instead buildPlug = attrs: let - src = inputs."plugin-${attrs.pname}"; + input = inputs."plugin-${attrs.pname}"; in pkgs.vimUtils.buildVimPlugin ( { - version = src.shortRev or src.shortDirtyRev or "dirty"; - inherit src; + version = input.shortRev or input.shortDirtyRev or "dirty"; + src = input.outPath; } // attrs ); @@ -51,7 +56,7 @@ map ( plug: if (isString plug) - then pluginBuilders.${plug} or (noBuildPlug {pname = plug;}) + then pluginBuilders.${plug} or (noBuildPlug plug) else plug ) (filter (f: f != null) plugins); From fcc6aa485cca678c063cca1b85bafe78af8d1e49 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 4 Jan 2025 15:29:11 +0300 Subject: [PATCH 018/202] utility/wakatime: move plugin options to `vim.globals`; cleanup --- modules/plugins/utility/wakatime/config.nix | 14 +++++++++----- modules/plugins/utility/wakatime/default.nix | 2 +- modules/plugins/utility/wakatime/vim-wakatime.nix | 14 ++++++++++---- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/modules/plugins/utility/wakatime/config.nix b/modules/plugins/utility/wakatime/config.nix index a1892e7b..675f0034 100644 --- a/modules/plugins/utility/wakatime/config.nix +++ b/modules/plugins/utility/wakatime/config.nix @@ -1,18 +1,22 @@ { config, - lib, pkgs, + lib, ... }: let inherit (lib.modules) mkIf; + inherit (lib.meta) getExe; cfg = config.vim.utility.vim-wakatime; in { config = mkIf cfg.enable { - vim.startPlugins = [pkgs.vimPlugins.vim-wakatime]; + vim = { + startPlugins = [pkgs.vimPlugins.vim-wakatime]; - vim.pluginRC.vim-wakatime = mkIf (cfg.cli-package != null) '' - vim.g.wakatime_CLIPath = "${cfg.cli-package}" - ''; + # Wakatime configuration is stored as vim globals. + globals = { + "wakatime_CLIPath" = mkIf (cfg.cli-package != null) "${getExe cfg.cli-package}"; + }; + }; }; } diff --git a/modules/plugins/utility/wakatime/default.nix b/modules/plugins/utility/wakatime/default.nix index d6d67d57..c72189d5 100644 --- a/modules/plugins/utility/wakatime/default.nix +++ b/modules/plugins/utility/wakatime/default.nix @@ -1,4 +1,4 @@ -_: { +{ imports = [ ./config.nix ./vim-wakatime.nix diff --git a/modules/plugins/utility/wakatime/vim-wakatime.nix b/modules/plugins/utility/wakatime/vim-wakatime.nix index 6b853821..04f27868 100644 --- a/modules/plugins/utility/wakatime/vim-wakatime.nix +++ b/modules/plugins/utility/wakatime/vim-wakatime.nix @@ -1,18 +1,24 @@ { - lib, pkgs, + lib, ... }: let inherit (lib.options) mkEnableOption mkOption; inherit (lib.types) nullOr package; in { options.vim.utility.vim-wakatime = { - enable = mkEnableOption "vim-wakatime: live code statistics"; + enable = mkEnableOption '' + automatic time tracking and metrics generated from your programming activity [vim-wakatime] + ''; cli-package = mkOption { type = nullOr package; - default = pkgs.wakatime; - description = "The package that should be used for wakatime-cli. Set as null to use the default path in `$XDG_DATA_HOME`"; + default = pkgs.wakatime-cli; + example = null; + description = '' + The package that should be used for wakatime-cli. + Set as null to use the default path in {env}`$XDG_DATA_HOME` + ''; }; }; } From eb6e8b17b7beffd3792d898e30b0e9cd80de06ae Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 4 Jan 2025 15:35:55 +0300 Subject: [PATCH 019/202] docs: clean up module installation chapters --- docs/manual/installation/modules/home-manager.md | 9 ++++++--- docs/manual/installation/modules/nixos.md | 7 +++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/manual/installation/modules/home-manager.md b/docs/manual/installation/modules/home-manager.md index a2170159..cf56acc3 100644 --- a/docs/manual/installation/modules/home-manager.md +++ b/docs/manual/installation/modules/home-manager.md @@ -44,12 +44,15 @@ Followed by importing the home-manager module somewhere in your configuration. }; outputs = { nixpkgs, home-manager, nvf, ... }: let - system = "x86_64-linux"; in { + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in { # ↓ this is your home output in the flake schema, expected by home-manager - "your-username@your-hostname" = home-manager.lib.homeManagerConfiguration + "your-username@your-hostname" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; modules = [ nvf.homeManagerModules.default # <- this imports the home-manager module that provides the options - ./home.nix # <- your home entrypoint + ./home.nix # <- your home entrypoint, `programs.nvf.*` may be defined here ]; }; }; diff --git a/docs/manual/installation/modules/nixos.md b/docs/manual/installation/modules/nixos.md index d8be2035..ae5ce939 100644 --- a/docs/manual/installation/modules/nixos.md +++ b/docs/manual/installation/modules/nixos.md @@ -42,13 +42,12 @@ Followed by importing the NixOS module somewhere in your configuration. nvf.url = "github:notashelf/nvf"; }; - outputs = { nixpkgs, nvf, ... }: let - system = "x86_64-linux"; in { + outputs = { nixpkgs, nvf, ... }: { # ↓ this is your host output in the flake schema - nixosConfigurations."yourUsername»" = nixpkgs.lib.nixosSystem { + nixosConfigurations."your-hostname" = nixpkgs.lib.nixosSystem { modules = [ nvf.nixosModules.default # <- this imports the NixOS module that provides the options - ./configuration.nix # <- your host entrypoint + ./configuration.nix # <- your host entrypoint, `programs.nvf.*` may be defined here ]; }; }; From b67759273b2c2066e39f45f734a6b84c1a14ebe6 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 4 Jan 2025 15:52:27 +0300 Subject: [PATCH 020/202] neovim/spellcheck: convert to `vim.options` --- modules/neovim/init/spellcheck.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/neovim/init/spellcheck.nix b/modules/neovim/init/spellcheck.nix index 5d6f5bed..f8d784da 100644 --- a/modules/neovim/init/spellcheck.nix +++ b/modules/neovim/init/spellcheck.nix @@ -124,7 +124,6 @@ in { nvim --headless --clean \ --cmd "mkspell $out/spell/$name.add.spl $spellfile" -Es -n done - ''; in mkIf (cfg.extraSpellWords != {}) [ @@ -133,10 +132,12 @@ in { compileJoinedSpellfiles.outPath ]; - luaConfigRC.spellcheck = entryAfter ["basic"] '' - vim.opt.spell = true - vim.opt.spelllang = ${listToLuaTable cfg.languages} + options = { + spell = true; + spelllang = cfg.languages; + }; + luaConfigRC.spellcheck = entryAfter ["basic"] '' -- Disable spellchecking for certain filetypes -- as configured by `vim.spellcheck.ignoredFiletypes` vim.api.nvim_create_augroup("nvf_autocmds", {clear = false}) From 85347de09d6eaa03989a98885781f9c8fd31830b Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 4 Jan 2025 16:08:11 +0300 Subject: [PATCH 021/202] utility/gesture-nvim: convert to `vim.options` --- .../utility/gestures/gesture-nvim/config.nix | 74 ++++++++++--------- .../utility/gestures/gesture-nvim/default.nix | 2 +- 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/modules/plugins/utility/gestures/gesture-nvim/config.nix b/modules/plugins/utility/gestures/gesture-nvim/config.nix index 2996f7d2..9838c178 100644 --- a/modules/plugins/utility/gestures/gesture-nvim/config.nix +++ b/modules/plugins/utility/gestures/gesture-nvim/config.nix @@ -15,43 +15,47 @@ mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions; in { config = mkIf cfg.enable { - vim.startPlugins = ["gesture-nvim"]; + vim = { + startPlugins = ["gesture-nvim"]; - vim.maps.normal = mkMerge [ - (mkSetLuaBinding mappings.draw "require('gesture').draw") - (mkSetLuaBinding mappings.finish "require('gesture').finish") - (mkIf (mappings.draw.value == "") { - "" = {action = "";}; - }) - ]; + maps.normal = mkMerge [ + (mkSetLuaBinding mappings.draw "require('gesture').draw") + (mkSetLuaBinding mappings.finish "require('gesture').finish") + (mkIf (mappings.draw.value == "") { + "" = {action = "";}; + }) + ]; - vim.pluginRC.gesture-nvim = entryAnywhere '' - vim.opt.mouse = "a" + options.mouse = "a"; + pluginRC.gesture-nvim = entryAnywhere '' + local gesture = require("gesture") + gesture.register({ + name = "scroll to bottom", + inputs = { gesture.up(), gesture.down() }, + action = "normal! G", + }) - local gesture = require("gesture") - gesture.register({ - name = "scroll to bottom", - inputs = { gesture.up(), gesture.down() }, - action = "normal! G", - }) - gesture.register({ - name = "next tab", - inputs = { gesture.right() }, - action = "tabnext", - }) - gesture.register({ - name = "previous tab", - inputs = { gesture.left() }, - action = function(ctx) -- also can use callable - vim.cmd.tabprevious() - end, - }) - gesture.register({ - name = "go back", - inputs = { gesture.right(), gesture.left() }, - -- map to `` keycode - action = [[lua vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), "n", true)]], - }) - ''; + gesture.register({ + name = "next tab", + inputs = { gesture.right() }, + action = "tabnext", + }) + + gesture.register({ + name = "previous tab", + inputs = { gesture.left() }, + action = function(ctx) -- also can use callable + vim.cmd.tabprevious() + end, + }) + + gesture.register({ + name = "go back", + inputs = { gesture.right(), gesture.left() }, + -- map to `` keycode + action = [[lua vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), "n", true)]], + }) + ''; + }; }; } diff --git a/modules/plugins/utility/gestures/gesture-nvim/default.nix b/modules/plugins/utility/gestures/gesture-nvim/default.nix index 27e7e09f..4c7987e7 100644 --- a/modules/plugins/utility/gestures/gesture-nvim/default.nix +++ b/modules/plugins/utility/gestures/gesture-nvim/default.nix @@ -1,4 +1,4 @@ -_: { +{ imports = [ ./gesture-nvim.nix ./config.nix From 5749739e4b67c955f06efca03a9962bc55038dfc Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 4 Jan 2025 16:08:53 +0300 Subject: [PATCH 022/202] wrapper/rc: clean up option documentation --- modules/wrapper/rc/options.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 980c9497..20eb50e7 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkOption mkEnableOption literalMD literalExpression; + inherit (lib.options) mkOption literalMD literalExpression; inherit (lib.strings) optionalString; inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything; inherit (lib.trivial) isBool; @@ -19,7 +19,7 @@ in { default = false; example = true; description = '' - [{option}`official documentation`]: https://neovim.io/doc/user/lua.html#vim.loader.enable() + [official documentation]: https://neovim.io/doc/user/lua.html#vim.loader.enable() the experimental Lua module loader to speed up the start up process @@ -31,7 +31,7 @@ in { ::: {.note} The Lua module loader is *disabled* by default. Before setting this option, please - take a look at the [{option}`official documentation`]. This option may be enabled by + take a look at the {option}`[official documentation]`. This option may be enabled by default in the future. ::: ''; @@ -83,7 +83,7 @@ in { ./nvim/my-lua-file.lua # source type path - pure and reproducible - (builtins.source { + (builtins.path { path = ./nvim/my-lua-file.lua; name = "my-lua-file"; }) @@ -274,7 +274,11 @@ in { vim.opt.runtimepath:append(${listToLuaTable cfg.additionalRuntimePaths}) ''} - ${optionalString cfg.enableLuaLoader "vim.loader.enable()"} + ${optionalString cfg.enableLuaLoader '' + if vim.loader then + vim.loader.enable() + end + ''} ''; defaultText = literalMD '' @@ -284,7 +288,7 @@ in { if [](#opt-vim.enableLuaLoader) is set to true. ''; - example = literalExpression ''"$${builtins.readFile ./my-lua-config-pre.lua}"''; + example = literalExpression ''''${builtins.readFile ./my-lua-config-pre.lua}''; description = '' Verbatim lua code that will be inserted **before** From 9584fe25e29fe7c6540f4cac55381e9ba25cf43d Mon Sep 17 00:00:00 2001 From: raf Date: Sun, 5 Jan 2025 11:35:09 +0300 Subject: [PATCH 023/202] docs: add helpful tips section (#520) --- docs/manual/manual.md | 1 + docs/manual/tips.md | 6 ++++++ docs/manual/tips/debugging-nvf.md | 19 +++++++++++++++++++ docs/manual/tips/offline-docs.md | 11 +++++++++++ 4 files changed, 37 insertions(+) create mode 100644 docs/manual/tips.md create mode 100644 docs/manual/tips/debugging-nvf.md create mode 100644 docs/manual/tips/offline-docs.md diff --git a/docs/manual/manual.md b/docs/manual/manual.md index fd7ddcd9..fd225766 100644 --- a/docs/manual/manual.md +++ b/docs/manual/manual.md @@ -11,6 +11,7 @@ try-it-out.md default-configs.md installation.md configuring.md +tips.md ``` ```{=include=} chapters diff --git a/docs/manual/tips.md b/docs/manual/tips.md new file mode 100644 index 00000000..0d2637f1 --- /dev/null +++ b/docs/manual/tips.md @@ -0,0 +1,6 @@ +# Helpful Tips {#ch-helpful-tips} + +```{=include=} chapters +tips/debugging-nvf.md +tips/offline-docs.md +``` diff --git a/docs/manual/tips/debugging-nvf.md b/docs/manual/tips/debugging-nvf.md new file mode 100644 index 00000000..a642b0a7 --- /dev/null +++ b/docs/manual/tips/debugging-nvf.md @@ -0,0 +1,19 @@ +# Debugging nvf {#sec-debugging-nvf} + +There may be instances where the your Nix configuration evaluates to invalid +Lua, or times when you will be asked to provide your built Lua configuration for +easier debugging by nvf maintainers. nvf provides two helpful utilities out of +the box. + +**nvf-print-config** and **nvf-print-config-path** will be bundled with nvf as +lightweight utilities to help you view or share your built configuration when +necessary. + +To view your configuration with syntax highlighting, you may use the +[bat pager](https://github.com/sharkdp/bat). + +```bash +nvf-print-config | bat --language=lua +``` + +Alternatively, `cat` or `less` may also be used. diff --git a/docs/manual/tips/offline-docs.md b/docs/manual/tips/offline-docs.md new file mode 100644 index 00000000..ed11d965 --- /dev/null +++ b/docs/manual/tips/offline-docs.md @@ -0,0 +1,11 @@ +# Offline Documentation {#sec-offline-documentation} + +[https://notashelf.github.io/nvf/options.html]: https://notashelf.github.io/nvf/options.html + +The manpages provided by nvf contains an offline version of the option search +normally available at [https://notashelf.github.io/nvf/options.html]. You may +use the `man 5 nvf` command to view option documentation from the comfort of +your terminal. + +Note that this is only available for NixOS and Home-Manager module +installations. From b7bea89d9ab669c8ead928c5e087dedcfbb32202 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 5 Jan 2025 11:36:01 +0300 Subject: [PATCH 024/202] docs: update contributors section; add maintainers --- .github/README.md | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/.github/README.md b/.github/README.md index 5d10c73f..0c2036d2 100644 --- a/.github/README.md +++ b/.github/README.md @@ -206,6 +206,16 @@ features. ## Credits +### Co-Maintainers + +Alongside myself, nvf is developed by those talented folk: + +- [**@horriblename**](https://github.com/horriblename) - For actively + implementing planned features and quality of life updates. +- [**@Diniamo**](https://github.com/Diniamo) + ([Liberapay](https://en.liberapay.com/diniamo/)) - For actively submitting + pull requests, issues and assistance with maintenance of nvf. + ### Contributors [mnw]: https://github.com/gerg-l/mnw @@ -213,21 +223,19 @@ features. nvf would not be what it is today without the awesome people below. Special, heart-felt thanks to -- [@fufexan](https://github.com/fufexan) - For the transition to flake-parts and - invaluable Nix assistance. -- [@FlafyDev](https://github.com/FlafyDev) - For getting home-manager module to - work and Nix assistance. -- [@n3oney](https://github.com/n3oney) - For making custom keybinds finally +- [**@fufexan**](https://github.com/fufexan) - For the transition to flake-parts + and invaluable Nix assistance. +- [**@FlafyDev**](https://github.com/FlafyDev) - For getting Home-Manager module + to work and Nix assistance. +- [**@n3oney**](https://github.com/n3oney) - For making custom keybinds finally possible, and other module additions. -- [@horriblename](https://github.com/horriblename) - For actively implementing - planned features and quality of life updates. -- [@Yavko](https://github.com/Yavko) - For the amazing **nvf** logo -- [@FrothyMarrow](https://github.com/FrothyMarrow) - For seeing mistakes that I - could not. -- [@Diniamo](https://github.com/Diniamo) - For actively submitting pull - requests, issues and assistance with maintenance of nvf. -- [@Gerg-l](https://github.com/gerg-l) - For the modern Neovim wrapper, [mnw], - and occasional code improvements. +- [**@Yavko**](https://github.com/Yavko) - For the amazing **nvf** logo +- [**@FrothyMarrow**](https://github.com/FrothyMarrow) - For seeing mistakes + that I could not. +- [**@Gerg-l**](https://github.com/gerg-l) 🐸 - For the modern Neovim wrapper, + [mnw], and occasional code improvements. +- [**@Soliprem**](https://github.com/soliprem) - Rigorously implementing missing + features and excellent work on new language modules. and everyone who has submitted issues or pull requests! From 9888a277adc8a34aa13e9f6bb75c9c86b4f2919a Mon Sep 17 00:00:00 2001 From: raf Date: Mon, 6 Jan 2025 03:54:38 +0300 Subject: [PATCH 025/202] git/gitsigns: migrate to `setupOpts` (#524) * git/gitsigns: add `setupOpts` module option for user-specified setup table * docs: update v0.8 release notes --- docs/release-notes/rl-0.8.md | 3 +++ modules/plugins/git/gitsigns/config.nix | 3 ++- modules/plugins/git/gitsigns/gitsigns.nix | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e41911ba..16ec2863 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -13,6 +13,9 @@ - Add [render-markdown.nvim] under `languages.markdown.extensions.render-markdown-nvim` +- Implement [](#opt-vim.git.gitsigns.setupOpts) for user-specified setup table + in gitsigns configuration. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim diff --git a/modules/plugins/git/gitsigns/config.nix b/modules/plugins/git/gitsigns/config.nix index 039ab635..9aee73b7 100644 --- a/modules/plugins/git/gitsigns/config.nix +++ b/modules/plugins/git/gitsigns/config.nix @@ -7,6 +7,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.nvim.binds) addDescriptionsToMappings mkSetExprBinding mkSetLuaBinding pushDownDefault; inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.git.gitsigns; @@ -70,7 +71,7 @@ in { }; pluginRC.gitsigns = entryAnywhere '' - require('gitsigns').setup{} + require('gitsigns').setup(${toLuaObject cfg.setupOpts}) ''; }; } diff --git a/modules/plugins/git/gitsigns/gitsigns.nix b/modules/plugins/git/gitsigns/gitsigns.nix index ef880bce..9c2375d8 100644 --- a/modules/plugins/git/gitsigns/gitsigns.nix +++ b/modules/plugins/git/gitsigns/gitsigns.nix @@ -6,6 +6,7 @@ inherit (lib.options) mkEnableOption; inherit (lib.modules) mkRenamedOptionModule; inherit (lib.nvim.binds) mkMappingOption; + inherit (lib.nvim.types) mkPluginSetupOption; in { imports = [ (mkRenamedOptionModule ["vim" "git" "gitsigns" "codeActions" "vim" "gitsigns" "codeActions"] ["vim" "git" "gitsigns" "codeActions" "enable"]) @@ -13,6 +14,7 @@ in { options.vim.git.gitsigns = { enable = mkEnableOption "gitsigns" // {default = config.vim.git.enable;}; + setupOpts = mkPluginSetupOption "gitsigns" {}; codeActions.enable = mkEnableOption "gitsigns codeactions through null-ls"; From ee4c072ba326b1e7765e500b2aac3281ffb0019f Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Mon, 6 Jan 2025 11:44:38 +0100 Subject: [PATCH 026/202] flake: add aerial.nvim --- flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ 2 files changed, 22 insertions(+) diff --git a/flake.lock b/flake.lock index 0a7ee1a5..4b56f7fa 100644 --- a/flake.lock +++ b/flake.lock @@ -156,6 +156,22 @@ "type": "sourcehut" } }, + "plugin-aerial-nvim": { + "flake": false, + "locked": { + "lastModified": 1736064692, + "narHash": "sha256-7YQtkUTACTMfAGoqoFDPmRrqtw+ypxDbeLCTB3sy4Us=", + "owner": "stevearc", + "repo": "aerial.nvim", + "rev": "b3ec25ca8c347fafa976484a6cace162239112e1", + "type": "github" + }, + "original": { + "owner": "stevearc", + "repo": "aerial.nvim", + "type": "github" + } + }, "plugin-alpha-nvim": { "flake": false, "locked": { @@ -2090,6 +2106,7 @@ "nil": "nil", "nixpkgs": "nixpkgs", "nmd": "nmd", + "plugin-aerial-nvim": "plugin-aerial-nvim", "plugin-alpha-nvim": "plugin-alpha-nvim", "plugin-base16": "plugin-base16", "plugin-bufdelete-nvim": "plugin-bufdelete-nvim", diff --git a/flake.nix b/flake.nix index d5a7b709..f5014afe 100644 --- a/flake.nix +++ b/flake.nix @@ -730,5 +730,10 @@ url = "github:mrcjkb/haskell-tools.nvim"; flake = false; }; + + plugin-aerial-nvim = { + url = "github:stevearc/aerial.nvim"; + flake = false; + }; }; } From 92e38fbfae40ce5aee381f5034a603ad05616be0 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Mon, 6 Jan 2025 11:44:48 +0100 Subject: [PATCH 027/202] aerial: init --- modules/plugins/utility/default.nix | 1 + .../outline/aerial-nvim/aerial-nvim.nix | 14 +++++++ .../utility/outline/aerial-nvim/config.nix | 42 +++++++++++++++++++ .../utility/outline/aerial-nvim/default.nix | 6 +++ modules/plugins/utility/outline/default.nix | 5 +++ 5 files changed, 68 insertions(+) create mode 100644 modules/plugins/utility/outline/aerial-nvim/aerial-nvim.nix create mode 100644 modules/plugins/utility/outline/aerial-nvim/config.nix create mode 100644 modules/plugins/utility/outline/aerial-nvim/default.nix create mode 100644 modules/plugins/utility/outline/default.nix diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 835ebf6e..686295e2 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./outline ./binds ./ccc ./gestures diff --git a/modules/plugins/utility/outline/aerial-nvim/aerial-nvim.nix b/modules/plugins/utility/outline/aerial-nvim/aerial-nvim.nix new file mode 100644 index 00000000..beede428 --- /dev/null +++ b/modules/plugins/utility/outline/aerial-nvim/aerial-nvim.nix @@ -0,0 +1,14 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.nvim.binds) mkMappingOption; +in { + options.vim.utility.outline.aerial-nvim = { + enable = mkEnableOption "Aerial.nvim"; + setupOpts = mkPluginSetupOption "aerial.nvim" {}; + + mappings = { + toggle = mkMappingOption "Toggle aerial window" "gO"; + }; + }; +} diff --git a/modules/plugins/utility/outline/aerial-nvim/config.nix b/modules/plugins/utility/outline/aerial-nvim/config.nix new file mode 100644 index 00000000..803302f7 --- /dev/null +++ b/modules/plugins/utility/outline/aerial-nvim/config.nix @@ -0,0 +1,42 @@ +{ + options, + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.binds) mkKeymap; + + cfg = config.vim.utility.outline.aerial-nvim; + inherit (options.vim.utility.outline.aerial-nvim) mappings; +in { + config = mkIf cfg.enable { + vim = { + lazy.plugins.aerial-nvim = { + package = "aerial-nvim"; + + setupModule = "aerial"; + inherit (cfg) setupOpts; + + cmd = [ + "AerialClose" + "AerialCloseAll" + "AerialGo" + "AerialInfo" + "AerialNavClose" + "AerialNavOpen" + "AerialNavToggle" + "AerialNext" + "AerialOpen" + "AerialOpenAll" + "AerialPrev" + "AerialToggle" + ]; + + keys = [ + (mkKeymap "n" cfg.mappings.toggle ":AerialToggle" {desc = mappings.toggle.description;}) + ]; + }; + }; + }; +} diff --git a/modules/plugins/utility/outline/aerial-nvim/default.nix b/modules/plugins/utility/outline/aerial-nvim/default.nix new file mode 100644 index 00000000..ea782c89 --- /dev/null +++ b/modules/plugins/utility/outline/aerial-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./aerial-nvim.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/outline/default.nix b/modules/plugins/utility/outline/default.nix new file mode 100644 index 00000000..d8262edd --- /dev/null +++ b/modules/plugins/utility/outline/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./aerial-nvim + ]; +} From c071f2caa22dddc61d9c6b9ee59a8397a4a64c36 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Mon, 6 Jan 2025 11:45:02 +0100 Subject: [PATCH 028/202] nvimtree: remove unnecessary import --- modules/plugins/filetree/nvimtree/config.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/plugins/filetree/nvimtree/config.nix b/modules/plugins/filetree/nvimtree/config.nix index 11fa9fed..0d0381a0 100644 --- a/modules/plugins/filetree/nvimtree/config.nix +++ b/modules/plugins/filetree/nvimtree/config.nix @@ -1,7 +1,7 @@ { + options, config, lib, - pkgs, ... }: let inherit (lib.strings) optionalString; @@ -11,8 +11,7 @@ inherit (lib.nvim.binds) pushDownDefault; cfg = config.vim.filetree.nvimTree; - self = import ./nvimtree.nix {inherit pkgs lib;}; - inherit (self.options.vim.filetree.nvimTree) mappings; + inherit (options.vim.filetree.nvimTree) mappings; in { config = mkIf cfg.enable { vim = { From de02e2fa577005885966f136a7d32ecf79db4b55 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Mon, 6 Jan 2025 11:58:08 +0100 Subject: [PATCH 029/202] docs: update release notes --- docs/release-notes/rl-0.8.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 16ec2863..eb7ca0db 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -28,3 +28,9 @@ - Disable the built-in format-on-save feature of zls. Use `vim.lsp.formatOnSave` instead. + +[horriblename](https://github.com/horriblename): + +[aerial.nvim](https://github.com/stevearc/aerial.nvim) + +- Add [aerial.nvim] From 2728e65a5ea3ec46812c1ac035abc5b0fadb45a2 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 7 Jan 2025 04:19:57 +0300 Subject: [PATCH 030/202] docs/installation: mark additional inputs as 'optional' --- docs/manual/installation/modules/home-manager.md | 14 ++++++++++---- docs/manual/installation/modules/nixos.md | 10 ++++++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/manual/installation/modules/home-manager.md b/docs/manual/installation/modules/home-manager.md index cf56acc3..34f2757e 100644 --- a/docs/manual/installation/modules/home-manager.md +++ b/docs/manual/installation/modules/home-manager.md @@ -10,12 +10,18 @@ To use it, we first add the input flake. ```nix { inputs = { + # Optional, if you intend to follow nvf's obsidian-nvim input + # you must also add it as a flake input. obsidian-nvim.url = "github:epwalsh/obsidian.nvim"; + + # Required, nvf works best and only directly supports flakes nvf = { url = "github:notashelf/nvf"; - # you can override input nixpkgs + # You can override the input nixpkgs to follow your system's + # instance of nixpkgs. This is safe to do as nvf does not depend + # on a binary cache. inputs.nixpkgs.follows = "nixpkgs"; - # you can also override individual plugins + # Optionally, you can also override individual plugins # for example: inputs.obsidian-nvim.follows = "obsidian-nvim"; # <- this will use the obsidian-nvim from your inputs }; @@ -27,8 +33,8 @@ Followed by importing the home-manager module somewhere in your configuration. ```nix { - # assuming nvf is in your inputs and inputs is in the argset - # see example below + # Assuming "nvf" is in your inputs and inputs is in the argument set. + # See example installation below imports = [ inputs.nvf.homeManagerModules.default ]; } ``` diff --git a/docs/manual/installation/modules/nixos.md b/docs/manual/installation/modules/nixos.md index ae5ce939..bcf7472b 100644 --- a/docs/manual/installation/modules/nixos.md +++ b/docs/manual/installation/modules/nixos.md @@ -10,12 +10,18 @@ To use it, we first add the input flake. ```nix { inputs = { + # Optional, if you intend to follow nvf's obsidian-nvim input + # you must also add it as a flake input. obsidian-nvim.url = "github:epwalsh/obsidian.nvim"; + + # Required, nvf works best and only directly supports flakes nvf = { url = "github:notashelf/nvf"; - # you can override input nixpkgs + # You can override the input nixpkgs to follow your system's + # instance of nixpkgs. This is safe to do as nvf does not depend + # on a binary cache. inputs.nixpkgs.follows = "nixpkgs"; - # you can also override individual plugins + # Optionally, you can also override individual plugins # for example: inputs.obsidian-nvim.follows = "obsidian-nvim"; # <- this will use the obsidian-nvim from your inputs }; From aa7b55fa49a55f12e72807466e905a204c32384a Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 7 Jan 2025 06:10:15 +0300 Subject: [PATCH 031/202] docs: liberapay URL for @horriblename --- .github/README.md | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/.github/README.md b/.github/README.md index 0c2036d2..9a059419 100644 --- a/.github/README.md +++ b/.github/README.md @@ -210,12 +210,16 @@ features. Alongside myself, nvf is developed by those talented folk: -- [**@horriblename**](https://github.com/horriblename) - For actively - implementing planned features and quality of life updates. +- [**@horriblename**](https://github.com/horriblename) + ([Liberapay](https://liberapay.com/horriblename/))- For actively implementing + planned features and quality of life updates. - [**@Diniamo**](https://github.com/Diniamo) ([Liberapay](https://en.liberapay.com/diniamo/)) - For actively submitting pull requests, issues and assistance with maintenance of nvf. +Please do remember to extend your thanks (financially or otherwise) if this +project has been helpful to you. + ### Contributors [mnw]: https://github.com/gerg-l/mnw @@ -245,17 +249,17 @@ This configuration borrows from and is based on a few other configurations, including: - [@jordanisaacs's](https://github.com/jordanisaacs) - [neovim-flake](https://github.com/jordanisaacs/neovim-flake) that this flake - is originally based on. -- [@sioodmy's](https://github.com/sioodmy) - [dotfiles](https://github.com/sioodmy/dotfiles) that inspired the design - choices for UI and plugin defaults. + [**neovim-flake**](https://github.com/jordanisaacs/neovim-flake) that this + flake is originally based on. - [@wiltaylor's](https://github.com/wiltaylor) [neovim-flake](https://github.com/wiltaylor/neovim-flake) for plugin and design ideas. - [@gvolpe's](https://github.com/gvolpe) [neovim-flake](https://github.com/gvolpe/neovim-flake) for plugin, design and nix concepts. +- [@sioodmy's](https://github.com/sioodmy) + [dotfiles](https://github.com/sioodmy/dotfiles) that inspired the design + choices for UI and plugin defaults. I am grateful for their previous work and inspiration, and I wholeheartedly recommend checking their work out. @@ -263,12 +267,12 @@ recommend checking their work out. ## License -Following the license of the -[original neovim-flake](https://github.com/jordanisaacs/neovim-flake), nvf has -been made available under the [**MIT License**](LICENSE). However, all assets -and documentation are published under the +Following the license of +[the original neovim-flake](https://github.com/jordanisaacs/neovim-flake), nvf +has been made available under the [**MIT License**](LICENSE). However, all +assets and documentation are published under the [**CC BY License**](https://github.com/NotAShelf/nvf/blob/main/.github/assets/LICENSE) -under explicit permission by the artist. +under explicit permission by the author or authors.
Yes, this includes the logo work too. Stop taking artwork that is not yours!
From 356f92053c9a23adaef66092d3d6e1d48923a9a8 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 7 Jan 2025 06:12:13 +0300 Subject: [PATCH 032/202] neovim/init: merge conditionals in options set --- modules/neovim/init/basic.nix | 93 +++++++++++++++++----------------- modules/wrapper/rc/options.nix | 3 +- 2 files changed, 49 insertions(+), 47 deletions(-) diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index f91ea9a1..532ebcea 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -5,6 +5,7 @@ }: let inherit (lib.options) mkOption mkEnableOption literalMD; inherit (lib.strings) optionalString; + inherit (lib.attrsets) optionalAttrs; inherit (lib.types) enum bool str int either; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.dag) entryAfter; @@ -94,55 +95,55 @@ in { # Set options that were previously interpolated in 'luaConfigRC.basic' as vim.options (vim.o) # and 'vim.globals' (vim.g). Future options, if possible, should be added here instead of the # luaConfigRC section below. - options = pushDownDefault { - # Options that are always set, with a lower priority - encoding = "utf-8"; - hidden = true; - expandtab = true; + options = pushDownDefault (lib.mergeAttrsList [ + { + # Options that are always set, with a lower priority + encoding = "utf-8"; + hidden = true; + expandtab = true; - # Junkfile Behaviour - swapfile = !cfg.preventJunkFiles; - backup = !cfg.preventJunkFiles; - writebackup = !cfg.preventJunkFiles; - }; + # Junkfile Behaviour + swapfile = !cfg.preventJunkFiles; + backup = !cfg.preventJunkFiles; + writebackup = !cfg.preventJunkFiles; + } - # Options that are more difficult to set through 'vim.options'. Fear not, though - # as the Lua DAG is still as powerful as it could be. + (optionalAttrs cfg.undoFile.enable { + undofile = true; + undodir = cfg.undoFile.path; + }) + + (optionalAttrs (cfg.bell == "none") { + errorbells = false; + visualbell = false; + }) + + (optionalAttrs (cfg.bell == "on") { + visualbell = false; + }) + + (optionalAttrs (cfg.bell == "visual") { + visualbell = false; + }) + + (optionalAttrs (cfg.lineNumberMode == "relative") { + relativenumber = true; + }) + + (optionalAttrs (cfg.lineNumberMode == "number") { + number = true; + }) + + (optionalAttrs (cfg.lineNumberMode == "relNumber") { + number = true; + relativenumber = true; + }) + ]); + + # Options that are more difficult to set through 'vim.options'. Namely, appending values + # to pre-set Neovim options. Fear not, though as the Lua DAG is still as powerful as it + # could be. luaConfigRC.basic = entryAfter ["globalsScript"] '' - -- Settings that are set for everything - vim.opt.shortmess:append("c") - - ${optionalString cfg.undoFile.enable '' - vim.o.undofile = true - vim.o.undodir = ${toLuaObject cfg.undoFile.path} - ''} - - ${optionalString (cfg.bell == "none") '' - vim.o.errorbells = false - vim.o.visualbell = false - ''} - - ${optionalString (cfg.bell == "on") '' - vim.o.visualbell = false - ''} - - ${optionalString (cfg.bell == "visual") '' - vim.o.errorbells = false - ''} - - ${optionalString (cfg.lineNumberMode == "relative") '' - vim.o.relativenumber = true - ''} - - ${optionalString (cfg.lineNumberMode == "number") '' - vim.o.number = true - ''} - - ${optionalString (cfg.lineNumberMode == "relNumber") '' - vim.o.number = true - vim.o.relativenumber = true - ''} - ${optionalString cfg.useSystemClipboard '' vim.opt.clipboard:append("unnamedplus") ''} diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 8fff005d..d82fc741 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -235,7 +235,8 @@ in { if isBool x then toVimBool x # convert to a yes/no str else x; - description = "Show the sign column" + description = "Show the sign column"; + }; tabstop = mkOption { type = int; From 752915e639a1c70002c885dba530a685b5174d08 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Tue, 7 Jan 2025 06:46:12 +0100 Subject: [PATCH 033/202] telescope: workaround nixpkgs extensions loading early force a reload when telescope is loaded to workaround #535 --- modules/plugins/utility/telescope/config.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/plugins/utility/telescope/config.nix b/modules/plugins/utility/telescope/config.nix index 76cfa8bd..95f81327 100644 --- a/modules/plugins/utility/telescope/config.nix +++ b/modules/plugins/utility/telescope/config.nix @@ -22,6 +22,12 @@ in { package = "telescope"; setupModule = "telescope"; inherit (cfg) setupOpts; + + # HACK: workaround until https://github.com/NotAShelf/nvf/issues/535 gets resolved + before = '' + vim.g.loaded_telescope = nil + ''; + after = '' local telescope = require("telescope") ${optionalString config.vim.ui.noice.enable "telescope.load_extension('noice')"} From 7dbe7a08b332e82f9d3f9a8f26ca9a6f0b2777aa Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 8 Jan 2025 21:13:09 +0300 Subject: [PATCH 034/202] wrapper/build: disable failing require hook checks for flutter-tools --- modules/plugins/languages/dart.nix | 1 - modules/wrapper/build/config.nix | 11 +++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index ee069a7d..e2b3182e 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -130,7 +130,6 @@ in { (mkIf cfg.lsp.enable { vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources.dart-lsp = servers.${cfg.lsp.server}.lspConfig; }) diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index ee5b4fda..46d99b36 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -49,6 +49,17 @@ flutter-tools-patched = buildPlug { pname = "flutter-tools"; patches = [./patches/flutter-tools.patch]; + + # Disable failing require check hook checks + nvimSkipModule = [ + "flutter-tools.devices" + "flutter-tools.dap" + "flutter-tools.runners.job_runner" + "flutter-tools.decorations" + "flutter-tools.commands" + "flutter-tools.executable" + "flutter-tools.dev_tools" + ]; }; }; From a26cdd2d25cc677978f0cada818c4d94b691e0da Mon Sep 17 00:00:00 2001 From: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> Date: Thu, 9 Jan 2025 08:56:51 +0100 Subject: [PATCH 035/202] ui/nvim-ufo: init (#537) * flake: add nvim-ufo * ui/nvim-ufo: init * docs: update relase notes --- docs/release-notes/rl-0.8.md | 2 ++ flake.lock | 34 ++++++++++++++++++++++++ flake.nix | 10 +++++++ modules/plugins/ui/default.nix | 1 + modules/plugins/ui/nvim-ufo/config.nix | 20 ++++++++++++++ modules/plugins/ui/nvim-ufo/default.nix | 6 +++++ modules/plugins/ui/nvim-ufo/nvim-ufo.nix | 9 +++++++ 7 files changed, 82 insertions(+) create mode 100644 modules/plugins/ui/nvim-ufo/config.nix create mode 100644 modules/plugins/ui/nvim-ufo/default.nix create mode 100644 modules/plugins/ui/nvim-ufo/nvim-ufo.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index eb7ca0db..036b673c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -32,5 +32,7 @@ [horriblename](https://github.com/horriblename): [aerial.nvim](https://github.com/stevearc/aerial.nvim) +[nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) - Add [aerial.nvim] +- Add [nvim-ufo] diff --git a/flake.lock b/flake.lock index 4b56f7fa..d4e745c1 100644 --- a/flake.lock +++ b/flake.lock @@ -1518,6 +1518,22 @@ "type": "github" } }, + "plugin-nvim-ufo": { + "flake": false, + "locked": { + "lastModified": 1735147722, + "narHash": "sha256-etyfm4KpwjYN+kkotOMl0LgbQniILmqMqab4acMtTlw=", + "owner": "kevinhwang91", + "repo": "nvim-ufo", + "rev": "32cb247b893a384f1888b9cd737264159ecf183c", + "type": "github" + }, + "original": { + "owner": "kevinhwang91", + "repo": "nvim-ufo", + "type": "github" + } + }, "plugin-nvim-web-devicons": { "flake": false, "locked": { @@ -1694,6 +1710,22 @@ "type": "github" } }, + "plugin-promise-async": { + "flake": false, + "locked": { + "lastModified": 1722813441, + "narHash": "sha256-9eM66brPjiFlY64vmBetRYrKnpDyN7+/URMm4GsGimA=", + "owner": "kevinhwang91", + "repo": "promise-async", + "rev": "119e8961014c9bfaf1487bf3c2a393d254f337e2", + "type": "github" + }, + "original": { + "owner": "kevinhwang91", + "repo": "promise-async", + "type": "github" + } + }, "plugin-registers": { "flake": false, "locked": { @@ -2191,6 +2223,7 @@ "plugin-nvim-tree-lua": "plugin-nvim-tree-lua", "plugin-nvim-treesitter-context": "plugin-nvim-treesitter-context", "plugin-nvim-ts-autotag": "plugin-nvim-ts-autotag", + "plugin-nvim-ufo": "plugin-nvim-ufo", "plugin-nvim-web-devicons": "plugin-nvim-web-devicons", "plugin-obsidian-nvim": "plugin-obsidian-nvim", "plugin-omnisharp-extended": "plugin-omnisharp-extended", @@ -2202,6 +2235,7 @@ "plugin-plenary-nvim": "plugin-plenary-nvim", "plugin-precognition-nvim": "plugin-precognition-nvim", "plugin-project-nvim": "plugin-project-nvim", + "plugin-promise-async": "plugin-promise-async", "plugin-registers": "plugin-registers", "plugin-render-markdown-nvim": "plugin-render-markdown-nvim", "plugin-rose-pine": "plugin-rose-pine", diff --git a/flake.nix b/flake.nix index f5014afe..c1fe0688 100644 --- a/flake.nix +++ b/flake.nix @@ -720,6 +720,16 @@ flake = false; }; + plugin-promise-async = { + url = "github:kevinhwang91/promise-async"; + flake = false; + }; + + plugin-nvim-ufo = { + url = "github:kevinhwang91/nvim-ufo"; + flake = false; + }; + plugin-new-file-template-nvim = { # (required by new-file-template.nvim) url = "github:otavioschwanck/new-file-template.nvim"; diff --git a/modules/plugins/ui/default.nix b/modules/plugins/ui/default.nix index 34076600..e9489e9b 100644 --- a/modules/plugins/ui/default.nix +++ b/modules/plugins/ui/default.nix @@ -2,6 +2,7 @@ imports = [ ./noice ./modes + ./nvim-ufo ./notifications ./smartcolumn ./colorizer diff --git a/modules/plugins/ui/nvim-ufo/config.nix b/modules/plugins/ui/nvim-ufo/config.nix new file mode 100644 index 00000000..7b40386f --- /dev/null +++ b/modules/plugins/ui/nvim-ufo/config.nix @@ -0,0 +1,20 @@ +{ + lib, + config, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.ui.nvim-ufo; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["promise-async"]; + lazy.plugins.nvim-ufo = { + package = "nvim-ufo"; + setupModule = "ufo"; + inherit (cfg) setupOpts; + }; + }; + }; +} diff --git a/modules/plugins/ui/nvim-ufo/default.nix b/modules/plugins/ui/nvim-ufo/default.nix new file mode 100644 index 00000000..9f541f97 --- /dev/null +++ b/modules/plugins/ui/nvim-ufo/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./nvim-ufo.nix + ./config.nix + ]; +} diff --git a/modules/plugins/ui/nvim-ufo/nvim-ufo.nix b/modules/plugins/ui/nvim-ufo/nvim-ufo.nix new file mode 100644 index 00000000..d5ad4933 --- /dev/null +++ b/modules/plugins/ui/nvim-ufo/nvim-ufo.nix @@ -0,0 +1,9 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.ui.nvim-ufo = { + enable = mkEnableOption "nvim-ufo"; + setupOpts = mkPluginSetupOption "nvim-ufo" {}; + }; +} From ea056532bcd5d71e86a2ab071061634d0d606e6a Mon Sep 17 00:00:00 2001 From: Artur Manuel Date: Thu, 9 Jan 2025 12:28:13 +0000 Subject: [PATCH 036/202] languages/haskell: specify lsp flag (#540) Co-authored-by: Artur Manuel --- modules/plugins/languages/haskell.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/haskell.nix b/modules/plugins/languages/haskell.nix index 62f4cd41..ff6c7d78 100644 --- a/modules/plugins/languages/haskell.nix +++ b/modules/plugins/languages/haskell.nix @@ -71,7 +71,7 @@ in { cmd = ${ if isList cfg.lsp.package then expToLua cfg.lsp.package - else ''{"${cfg.lsp.package}/bin/haskell-language-server-wrapper"}'' + else ''{"${cfg.lsp.package}/bin/haskell-language-server-wrapper", "--lsp"}'' }, on_attach = function(client, bufnr, ht) default_on_attach(client, bufnr, ht) From b0fb0a93cb757291bf4537d1cce8c58c77675e30 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 10 Jan 2025 08:25:08 +0100 Subject: [PATCH 037/202] notes/obsidian: remove default dir-value --- modules/plugins/notes/obsidian/obsidian.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/plugins/notes/obsidian/obsidian.nix b/modules/plugins/notes/obsidian/obsidian.nix index 2dae5a9c..2da2127b 100644 --- a/modules/plugins/notes/obsidian/obsidian.nix +++ b/modules/plugins/notes/obsidian/obsidian.nix @@ -24,12 +24,6 @@ in { enable = mkEnableOption "complementary neovim plugins for Obsidian editor"; setupOpts = mkPluginSetupOption "Obsidian.nvim" { - dir = mkOption { - type = str; - default = "~/my-vault"; - description = "Obsidian vault directory"; - }; - daily_notes = { folder = mkOption { type = nullOr str; From 8448a6ca0f0facafac5235f54db62c89134875f1 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 10 Jan 2025 10:36:01 +0300 Subject: [PATCH 038/202] wrapper/rc: change `vim.options.mouse` to a string type As the mouse option in neovim allows combining those values. --- docs/release-notes/rl-0.8.md | 5 +++++ modules/wrapper/rc/options.nix | 17 +++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 036b673c..ed627475 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -16,6 +16,11 @@ - Implement [](#opt-vim.git.gitsigns.setupOpts) for user-specified setup table in gitsigns configuration. +- [](#opt-vim.options.mouse) no longer compares values to an enum of available + mouse modes. This means you can provide any string without the module system + warning you that it is invalid. Do keep in mind that this value is no longer + checked, so you will be responsible for ensuring its validity. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index d82fc741..36296f02 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -167,16 +167,25 @@ in { }; mouse = mkOption { - type = enum ["a" "n" "v" "i" "c"]; - default = "a"; + type = str; + default = "nvi"; + example = "a"; description = '' Set modes for mouse support. - * a - all * n - normal * v - visual * i - insert - * c - command + * c - command-line + * h - all modes when editing a help file + * a - all modes + * r - for hit-enter and more-prompt prompt + + [neovim documentation]: https://neovim.io/doc/user/options.html#'mouse'" + + This option takes a string to ensure proper conversion to the corresponding Lua type. + As such, we do not check the value passed to this option. Please ensure that any value + that is set here is a valid value as per [neovim documentation]. ''; }; From 6f1293053c0348c6901660c20deff5304433e028 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 10 Jan 2025 10:45:34 +0300 Subject: [PATCH 039/202] docs: update v0.8 release notes --- docs/release-notes/rl-0.7.md | 3 --- docs/release-notes/rl-0.8.md | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index fd3764ac..32186a8f 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -334,9 +334,6 @@ The changes are, in no particular order: `vim.options` as default values. Some are left as they don't have a direct equivalent, but expect a switch eventually. -- Deprecated `vim.enableEditorconfig` in favor of - [](#opt-vim.globals.editorconfig). - [ppenguin](https://github.com/ppenguin): - Telescope: diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index ed627475..cff78de9 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -21,6 +21,9 @@ warning you that it is invalid. Do keep in mind that this value is no longer checked, so you will be responsible for ensuring its validity. +- Deprecated `vim.enableEditorconfig` in favor of + [](#opt-vim.globals.editorconfig). + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim From 6852120514356fb75a161b73f31f3ce864f6dbef Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 10 Jan 2025 08:53:22 +0100 Subject: [PATCH 040/202] notes/obsidian: add changelog entry --- docs/release-notes/rl-0.8.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 036b673c..a7e9df87 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -36,3 +36,9 @@ - Add [aerial.nvim] - Add [nvim-ufo] + +[LilleAila](https://github.com/LilleAila): + +[obsidian.nvim](https://github.com/epwalsh/obsidian.nvim) + +- Remove `vim.notes.obsidian.setupOpts.dir`. Fixes issue with setting the workspace directory. From 4e949b3df8d152d9802f44b3fc32da3dc7aaa7fb Mon Sep 17 00:00:00 2001 From: raf Date: Fri, 10 Jan 2025 08:09:52 +0000 Subject: [PATCH 041/202] docs: remove redundant obsidian.nvim link --- docs/release-notes/rl-0.8.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a7e9df87..e83a978d 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -39,6 +39,5 @@ [LilleAila](https://github.com/LilleAila): -[obsidian.nvim](https://github.com/epwalsh/obsidian.nvim) - -- Remove `vim.notes.obsidian.setupOpts.dir`. Fixes issue with setting the workspace directory. +- Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. + Fixes issue with setting the workspace directory. From c734a81e4051cb65d48adbc7c826e5f234df1144 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 10 Jan 2025 12:52:11 +0300 Subject: [PATCH 042/202] languages/nix: deprecate `rnix` language server option Abandoned, archived and wildly outdated. --- flake.lock | 73 ------------------------------- flake.nix | 1 - flake/legacyPackages.nix | 4 +- modules/plugins/languages/nix.nix | 30 ++++++------- 4 files changed, 16 insertions(+), 92 deletions(-) diff --git a/flake.lock b/flake.lock index d4e745c1..da38b967 100644 --- a/flake.lock +++ b/flake.lock @@ -51,27 +51,6 @@ "type": "github" } }, - "naersk": { - "inputs": { - "nixpkgs": [ - "rnix-lsp", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1655042882, - "narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=", - "owner": "nix-community", - "repo": "naersk", - "rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "naersk", - "type": "github" - } - }, "nil": { "inputs": { "flake-utils": [ @@ -124,22 +103,6 @@ "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1656753965, - "narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nmd": { "flake": false, "locked": { @@ -2110,26 +2073,6 @@ "type": "github" } }, - "rnix-lsp": { - "inputs": { - "naersk": "naersk", - "nixpkgs": "nixpkgs_2", - "utils": "utils" - }, - "locked": { - "lastModified": 1669555118, - "narHash": "sha256-F0s0m62S5bHNVWNHLZD6SeHiLrsDx98VQbRjDyIu+qQ=", - "owner": "nix-community", - "repo": "rnix-lsp", - "rev": "95d40673fe43642e2e1144341e86d0036abd95d9", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "rnix-lsp", - "type": "github" - } - }, "root": { "inputs": { "flake-parts": "flake-parts", @@ -2260,7 +2203,6 @@ "plugin-vim-repeat": "plugin-vim-repeat", "plugin-vim-startify": "plugin-vim-startify", "plugin-which-key": "plugin-which-key", - "rnix-lsp": "rnix-lsp", "systems": "systems_2" } }, @@ -2314,21 +2256,6 @@ "repo": "default", "type": "github" } - }, - "utils": { - "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index c1fe0688..89690cad 100644 --- a/flake.nix +++ b/flake.nix @@ -89,7 +89,6 @@ }; # Language servers (use master instead of nixpkgs) - rnix-lsp.url = "github:nix-community/rnix-lsp"; nil = { url = "github:oxalica/nil"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/flake/legacyPackages.nix b/flake/legacyPackages.nix index 389ca0ce..b77d057a 100644 --- a/flake/legacyPackages.nix +++ b/flake/legacyPackages.nix @@ -8,8 +8,10 @@ inherit system; overlays = [ inputs.self.overlays.default + (_: _: { - rnix-lsp = inputs'.rnix-lsp.defaultPackage; + # Build nil from source to get most recent + # features as they are added. nil = inputs'.nil.packages.default; }) ]; diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index ffb69e92..1120633c 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -26,22 +26,6 @@ then expToLua package else ''{"${package}/bin/${defaultCmd}"}''; servers = { - rnix = { - package = pkgs.rnix-lsp; - internalFormatter = cfg.format.type == "nixpkgs-fmt"; - lspConfig = '' - lspconfig.rnix.setup{ - capabilities = capabilities, - ${ - if (cfg.format.enable && cfg.format.type == "nixpkgs-fmt") - then useFormat - else noFormat - }, - cmd = ${packageToCmd cfg.lsp.package "rnix-lsp"}, - } - ''; - }; - nil = { package = pkgs.nil; internalFormatter = true; @@ -165,6 +149,7 @@ in { type = enum (attrNames formats); default = defaultFormat; }; + package = mkOption { description = "Nix formatter package"; type = package; @@ -188,7 +173,18 @@ in { assertions = [ { assertion = cfg.format.type != "nixpkgs-fmt"; - message = "nixpkgs-fmt has been archived upstream. Please use one of the following instead: ${concatStringsSep ", " (attrNames formats)}"; + message = '' + nixpkgs-fmt has been archived upstream. Please use one of the following available formatters: + ${concatStringsSep ", " (attrNames formats)} + ''; + } + + { + assertion = cfg.lsp.server != "rnix"; + message = '' + rnix-lsp has been archived upstream. Please use one of the following available language servers: + ${concatStringsSep ", " (attrNames servers)} + ''; } ]; vim.pluginRC.nix = '' From c5f16b96c0b1663e6d48ce30aa145cfec3f3698e Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 10 Jan 2025 12:52:49 +0300 Subject: [PATCH 043/202] docs: update v0.8 release notes --- docs/release-notes/rl-0.8.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 5cb58b5a..c65defeb 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -21,9 +21,11 @@ warning you that it is invalid. Do keep in mind that this value is no longer checked, so you will be responsible for ensuring its validity. -- Deprecated `vim.enableEditorconfig` in favor of +- Deprecate `vim.enableEditorconfig` in favor of [](#opt-vim.globals.editorconfig). +- Deprecate rnix-lsp as it has been abandoned and archived upstream. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim @@ -47,5 +49,5 @@ [LilleAila](https://github.com/LilleAila): -- Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. - Fixes issue with setting the workspace directory. +- Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes + issue with setting the workspace directory. From 6097f7eb11880c2111d4ff27dbbbef8d24adf32e Mon Sep 17 00:00:00 2001 From: raf Date: Fri, 10 Jan 2025 13:35:14 +0300 Subject: [PATCH 044/202] ci: build previews for the website on documentation changes (#494) --- .github/workflows/docs-preview.yml | 172 +++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 .github/workflows/docs-preview.yml diff --git a/.github/workflows/docs-preview.yml b/.github/workflows/docs-preview.yml new file mode 100644 index 00000000..dc5f6543 --- /dev/null +++ b/.github/workflows/docs-preview.yml @@ -0,0 +1,172 @@ +name: Build and Preview Manual + +on: + workflow_dispatch: + pull_request: + types: [opened, synchronize, reopened, closed] + paths: + - ".github/workflows/docs-preview.yml" + - "modules/**" + - "docs/**" + +# Defining permissions here passes it to all workflows. +# https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token +permissions: + contents: write + pull-requests: write + issues: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-preview: + runs-on: ubuntu-latest + steps: + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + + - name: Checkout + uses: actions/checkout@v4 + + - name: Set default git branch (to reduce log spam) + run: git config --global init.defaultBranch main + + - name: Build documentation packages + run: nix build .#docs-html --print-build-logs + + - name: Deploy to GitHub Pages preview + run: | + PR_NUMBER=${{ github.event.pull_request.number }} + BRANCH_NAME="gh-pages" + PREVIEW_DIR="docs-preview-${PR_NUMBER}" + + # Clone the gh-pages branch and move to the preview subdirectory + git clone --single-branch --branch $BRANCH_NAME https://github.com/${{ github.repository }} gh-pages + cd gh-pages + + mkdir -p $PREVIEW_DIR + + # Copy the build files to the preview subdirectory + cp -rvf ../result/share/doc/nvf/* ./$PREVIEW_DIR + + # Configure git to use the GitHub Actions token for authentication + git config --global user.name "GitHub Actions" + git config --global user.email "actions@github.com" + + # Set the GitHub token for authentication + git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} + + # Add and commit the changes + git add --all + git commit -m "Deploy PR #${PR_NUMBER} preview" || echo "No changes to commit" + git push --force origin $BRANCH_NAME + + comment-url: + needs: build-preview + runs-on: ubuntu-latest + steps: + - name: Prepare Environment + id: prelude + run: | + PR_NUMBER=${{ github.event.pull_request.number }} + URL="https://${{ github.repository_owner }}.github.io/nvf/docs-preview-${PR_NUMBER}/" + + # Propagate non-interpolatable environment vars + echo "URL=$URL" >> "$GITHUB_OUTPUT" + echo "REV=$GITHUB_SHA" >> "$GITHUB_OUTPUT" + echo "ACTOR=$GITHUB_ACTOR" >> "$GITHUB_OUTPUT" + echo "REF=$GITHUB_HEAD_REF" >> "$GITHUB_OUTPUT" + echo "RUNS=$GITHUB_RUN_NUMBER" >> "$GITHUB_OUTPUT" + + echo "Live Preview URL: $URL" + echo "Rev: $GITHUB_SHA" + echo "Actor: $GITHUB_ACTOR" + echo "Ref: "$GITHUB_HEAD_REF" + echo "Reruns: "$GITHUB_RUN_NUMBER" + + echo "### :rocket: Live Preview Deployed " >> "$GITHUB_STEP_SUMMARY" + echo "Preview can be found at ${URL}" >> "$GITHUB_STEP_SUMMARY" + + - name: Find Comment + uses: peter-evans/find-comment@v3 + id: fc + with: + comment-author: "github-actions[bot]" + issue-number: ${{ github.event.pull_request.number }} + body-includes: "Live preview deployed" + + - name: Post live preview comment + uses: peter-evans/create-or-update-comment@v4 + env: + COMMENT_ID: ${{ steps.fc.outputs.comment-id }} + URL: ${{ steps.prelude.outputs.URL }} + GITHUB_SHA: ${{ steps.prelude.outputs.REV }} + ACTOR: ${{ steps.prelude.outputs.ACTOR }} + REF: ${{ steps.prelude.outputs.REF }} + RUNS: ${{ steps.prelude.outputs.RUNS }} + with: + comment-id: ${{ env.COMMENT_ID }} + issue-number: ${{ github.event.pull_request.number }} # issue number also applies to pull requests + edit-mode: replace # replace previous body + body: | + ### :rocket: Live preview deployed from ${{ env.GITHUB_SHA }} + + View it [here](${{ env.URL }}): + +
+ Debug Information +

Triggered by: ${{ env.ACTOR }}

+

HEAD at: ${{ env.REF }}

+

Reruns: ${{ env.RUNS }}

+
+ + cleanup: + if: ${{ github.event.pull_request.merged == true || github.event.pull_request.state == 'closed' }} + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Delete preview for closed/merged PR + run: | + PR_NUMBER=${{ github.event.pull_request.number }} + BRANCH_NAME="gh-pages" + PREVIEW_DIR="docs-preview-${PR_NUMBER}" + + # Clone the gh-pages branch + git clone --single-branch --branch $BRANCH_NAME https://github.com/${{ github.repository }} gh-pages + cd gh-pages + + # Check if the preview directory exists, and delete it if it does + if [ -d "$PREVIEW_DIR" ]; then + echo "Deleting preview directory $PREVIEW_DIR" + rm -rf $PREVIEW_DIR + else + echo "Preview directory $PREVIEW_DIR does not exist. Skipping deletion." + fi + + # Configure git to use the GitHub Actions token for authentication + git config --global user.name "GitHub Actions" + git config --global user.email "actions@github.com" + + # Set the GitHub token for authentication + git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} + + # Add and commit the changes (only if there's something to delete) + git add . + git diff --quiet || git commit -m "Remove preview for PR #${PR_NUMBER}" + git push origin $BRANCH_NAME + + cleanup-comment: + needs: cleanup + runs-on: ubuntu-latest + steps: + - name: Post cleanup verification + uses: peter-evans/create-or-update-comment@v4 + with: + issue-number: ${{ github.event.pull_request.number }} + body: | + ✅ Preview has been deleted successfully! From 9c8fbc774ffcba67b517649795eba9bc4a99a4f0 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 10 Jan 2025 13:56:24 +0300 Subject: [PATCH 045/202] ci/docs-preview: double check preview directory deletion --- .github/workflows/docs-preview.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/docs-preview.yml b/.github/workflows/docs-preview.yml index dc5f6543..c38be9da 100644 --- a/.github/workflows/docs-preview.yml +++ b/.github/workflows/docs-preview.yml @@ -164,6 +164,19 @@ jobs: needs: cleanup runs-on: ubuntu-latest steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Double check preview directory deletion + run: | + # Check if the preview directory exists, and delete it if it does + if [ -d "docs-preview-${{ github.event.pull_request.number }}" ]; then + echo "Something went wrong, preview directory is not deleted." + exit 1 + else + echo "Preview directory has been deleted successfully, proceeding." + fi + - name: Post cleanup verification uses: peter-evans/create-or-update-comment@v4 with: From 38257935494d93756d3404ab153c54ff6e2c5892 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 10 Jan 2025 11:20:54 +0300 Subject: [PATCH 046/202] various: address diniamo's review comments --- configuration.nix | 2 +- docs/release-notes/rl-0.7.md | 2 +- modules/neovim/init/spellcheck.nix | 15 +++++++++++---- modules/wrapper/rc/options.nix | 15 ++++++--------- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/configuration.nix b/configuration.nix index 3be1d39b..15f85480 100644 --- a/configuration.nix +++ b/configuration.nix @@ -13,7 +13,7 @@ isMaximal: { }; spellcheck = { - enable = isMaximal; + enable = true; }; lsp = { diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index 32186a8f..d62e3619 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -28,7 +28,7 @@ configuration formats. ### `vim.maps` rewrite {#sec-vim-maps-rewrite} -Instead of specifying map modes using submodules (e.g.: `vim.maps.normal`), a +Instead of specifying map modes using submodules (e.g., `vim.maps.normal`), a new `vim.keymaps` submodule with support for a `mode` option has been introduced. It can be either a string, or a list of strings, where a string represents the short-name of the map mode(s), that the mapping should be set diff --git a/modules/neovim/init/spellcheck.nix b/modules/neovim/init/spellcheck.nix index f8d784da..fb0f86ea 100644 --- a/modules/neovim/init/spellcheck.nix +++ b/modules/neovim/init/spellcheck.nix @@ -6,7 +6,7 @@ }: let inherit (lib.modules) mkIf mkRenamedOptionModule; inherit (lib.options) mkOption mkEnableOption literalExpression; - inherit (lib.strings) concatLines; + inherit (lib.strings) concatLines concatStringsSep optionalString; inherit (lib.attrsets) mapAttrsToList; inherit (lib.types) listOf str attrsOf; inherit (lib.nvim.lua) listToLuaTable; @@ -134,10 +134,17 @@ in { options = { spell = true; - spelllang = cfg.languages; + + # Workaround for Neovim's spelllang setup. It can be + # - a string, e.g., "en" + # - multiple strings, separated with commas, e.g., "en,de" + # toLuaObject cannot generate the correct type here, unless we take a string here. + spelllang = concatStringsSep "," cfg.languages; }; - luaConfigRC.spellcheck = entryAfter ["basic"] '' + # Register an autocommand to disable spellchecking in buffers with given filetypes. + # If the list is empty, the autocommand does not need to be registered. + luaConfigRC.spellcheck = entryAfter ["basic"] (optionalString (cfg.ignoredFiletypes != []) '' -- Disable spellchecking for certain filetypes -- as configured by `vim.spellcheck.ignoredFiletypes` vim.api.nvim_create_augroup("nvf_autocmds", {clear = false}) @@ -148,7 +155,7 @@ in { vim.opt_local.spell = false end, }) - ''; + ''); }; }; } diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 36296f02..21d0e26e 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -238,13 +238,10 @@ in { }; signcolumn = mkOption { - type = either str bool; - default = true; - apply = x: - if isBool x - then toVimBool x # convert to a yes/no str - else x; - description = "Show the sign column"; + type = str; + default = "yes"; + example = "no"; + description = "Whether to show the sign column"; }; tabstop = mkOption { @@ -313,7 +310,7 @@ in { if [](#opt-vim.enableLuaLoader) is set to true. ''; - example = literalExpression ''''${builtins.readFile ./my-lua-config-pre.lua}''; + example = literalExpression "\${builtins.readFile ./my-lua-config-pre.lua}"; description = '' Verbatim lua code that will be inserted **before** @@ -357,7 +354,7 @@ in { luaConfigPost = mkOption { type = str; default = ""; - example = literalExpression ''"$${builtins.readFile ./my-lua-config-post.lua}"''; + example = literalExpression "\${builtins.readFile ./my-lua-config-post.lua}"; description = '' Verbatim lua code that will be inserted **after** the result of the `luaConfigRc` DAG has been resolved From ab3a68fe1ad37efdc559a331ebf02cc48c60af37 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 10 Jan 2025 11:21:51 +0300 Subject: [PATCH 047/202] lib: remove `toVimBool` --- lib/languages.nix | 7 ------- modules/wrapper/rc/options.nix | 2 -- 2 files changed, 9 deletions(-) diff --git a/lib/languages.nix b/lib/languages.nix index 56c225d6..a202ff14 100644 --- a/lib/languages.nix +++ b/lib/languages.nix @@ -5,13 +5,6 @@ inherit (lib.types) bool; inherit (lib.nvim.attrsets) mapListToAttrs; in { - # Converts a boolean to a yes/no string. This is used in lots of - # configuration formats, and is not covered by `toLuaObject` - toVimBool = bool: - if bool - then "yes" - else "no"; - diagnosticsToLua = { lang, config, diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 21d0e26e..4cd3026f 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -6,8 +6,6 @@ inherit (lib.options) mkOption literalMD literalExpression; inherit (lib.strings) optionalString; inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything; - inherit (lib.trivial) isBool; - inherit (lib.nvim.languages) toVimBool; inherit (lib.nvim.types) dagOf; inherit (lib.nvim.lua) listToLuaTable; From 6e98b894b73e77067ebc607baef3913441609396 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sat, 11 Jan 2025 12:48:41 +0100 Subject: [PATCH 048/202] languages/markdown: add prettierd formatter --- modules/plugins/languages/markdown.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index ab184835..ac098a1c 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -46,6 +46,18 @@ ) ''; }; + prettierd = { + package = pkgs.prettierd; + nullConfig = '' + table.insert( + ls_sources, + null_ls.builtins.formatting.prettierd.with({ + filetypes = ${expToLua (concatLists [cfg.format.extraFiletypes ["markdown"]])}, + command = "${cfg.format.package}/bin/prettierd", + }) + ) + ''; + }; }; in { options.vim.languages.markdown = { From 98a79590474c3a6bdf41b6cfb9af161cf48823c3 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sat, 11 Jan 2025 14:02:21 +0100 Subject: [PATCH 049/202] snippets/luasnip: add setupOpts Also fixed a bug where the plugin previously would not get loaded, as lazy was set to true without a trigger event. --- modules/plugins/snippets/luasnip/config.nix | 12 ++++++------ modules/plugins/snippets/luasnip/luasnip.nix | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/plugins/snippets/luasnip/config.nix b/modules/plugins/snippets/luasnip/config.nix index 927b21fd..60a5ca6d 100644 --- a/modules/plugins/snippets/luasnip/config.nix +++ b/modules/plugins/snippets/luasnip/config.nix @@ -9,12 +9,12 @@ in { config = mkIf cfg.enable { vim = { - lazy.plugins = { - luasnip = { - package = "luasnip"; - lazy = true; - after = cfg.loaders; - }; + lazy.plugins.luasnip = { + package = "luasnip"; + event = "BufEnter"; + after = cfg.loaders; + setupModule = "luasnip"; + inherit (cfg) setupOpts; }; startPlugins = cfg.providers; autocomplete.nvim-cmp = { diff --git a/modules/plugins/snippets/luasnip/luasnip.nix b/modules/plugins/snippets/luasnip/luasnip.nix index d9563a5b..edfd72b9 100644 --- a/modules/plugins/snippets/luasnip/luasnip.nix +++ b/modules/plugins/snippets/luasnip/luasnip.nix @@ -1,7 +1,7 @@ {lib, ...}: let inherit (lib.options) mkEnableOption mkOption literalExpression literalMD; inherit (lib.types) listOf lines; - inherit (lib.nvim.types) pluginType; + inherit (lib.nvim.types) pluginType mkPluginSetupOption; in { options.vim.snippets.luasnip = { enable = mkEnableOption "luasnip"; @@ -32,5 +32,7 @@ in { ``` ''; }; + + setupOpts = mkPluginSetupOption "LuaSnip" {}; }; } From 69cb99dc2bf6f57af48fdea98a6c653f214d4d67 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sat, 11 Jan 2025 14:04:40 +0100 Subject: [PATCH 050/202] snippets/luasnip: add example option to setupOpts --- modules/plugins/snippets/luasnip/luasnip.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/plugins/snippets/luasnip/luasnip.nix b/modules/plugins/snippets/luasnip/luasnip.nix index edfd72b9..6b189b61 100644 --- a/modules/plugins/snippets/luasnip/luasnip.nix +++ b/modules/plugins/snippets/luasnip/luasnip.nix @@ -33,6 +33,8 @@ in { ''; }; - setupOpts = mkPluginSetupOption "LuaSnip" {}; + setupOpts = mkPluginSetupOption "LuaSnip" { + enable_autosnippets = mkEnableOption "autosnippets"; + }; }; } From 7012938e21ec105813ba857cf4ae8e0a632ae472 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sat, 11 Jan 2025 14:06:14 +0100 Subject: [PATCH 051/202] snippets/luasnip: add changelog entry --- docs/release-notes/rl-0.8.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c65defeb..f79eb940 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -51,3 +51,5 @@ - Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes issue with setting the workspace directory. +- Add `vim.snippets.luasnip.setupOpts`, which was previously missing. +- Add a trigger event for luasnip lazy-loading From 983a81c96c1a30119b01977163270273e8c1395f Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sat, 11 Jan 2025 15:32:35 +0100 Subject: [PATCH 052/202] languages/markdown: add prettierd to changelog --- docs/release-notes/rl-0.8.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c65defeb..62e83a0e 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -51,3 +51,4 @@ - Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes issue with setting the workspace directory. +- Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`. From 9818d199378ff70c7bf77d0988e9da05fc27f1a4 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sun, 12 Jan 2025 09:58:55 +0100 Subject: [PATCH 053/202] snippets/luasnip: revert adding lazy event --- docs/release-notes/rl-0.8.md | 1 - modules/plugins/snippets/luasnip/config.nix | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f79eb940..3c07aa09 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -52,4 +52,3 @@ - Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes issue with setting the workspace directory. - Add `vim.snippets.luasnip.setupOpts`, which was previously missing. -- Add a trigger event for luasnip lazy-loading diff --git a/modules/plugins/snippets/luasnip/config.nix b/modules/plugins/snippets/luasnip/config.nix index 60a5ca6d..0f887e5f 100644 --- a/modules/plugins/snippets/luasnip/config.nix +++ b/modules/plugins/snippets/luasnip/config.nix @@ -11,7 +11,7 @@ in { vim = { lazy.plugins.luasnip = { package = "luasnip"; - event = "BufEnter"; + lazy = true; after = cfg.loaders; setupModule = "luasnip"; inherit (cfg) setupOpts; From c59f8922b298d471b561a49573f739dd9529b1f6 Mon Sep 17 00:00:00 2001 From: LilleAila <67327023+LilleAila@users.noreply.github.com> Date: Sun, 12 Jan 2025 11:39:41 +0100 Subject: [PATCH 054/202] snippets/luasnip: add whitespace, organize options Co-authored-by: diniamo <55629891+diniamo@users.noreply.github.com> --- modules/plugins/snippets/luasnip/config.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/plugins/snippets/luasnip/config.nix b/modules/plugins/snippets/luasnip/config.nix index 0f887e5f..a3767aa7 100644 --- a/modules/plugins/snippets/luasnip/config.nix +++ b/modules/plugins/snippets/luasnip/config.nix @@ -11,10 +11,13 @@ in { vim = { lazy.plugins.luasnip = { package = "luasnip"; + lazy = true; - after = cfg.loaders; + setupModule = "luasnip"; inherit (cfg) setupOpts; + + after = cfg.loaders; }; startPlugins = cfg.providers; autocomplete.nvim-cmp = { From fedbee3a30e9b0043b77bb1c705dd83c0860dbc6 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sun, 12 Jan 2025 12:48:44 +0100 Subject: [PATCH 055/202] snippets/luasnip: fix formatting --- modules/plugins/snippets/luasnip/config.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/plugins/snippets/luasnip/config.nix b/modules/plugins/snippets/luasnip/config.nix index a3767aa7..b05f9f27 100644 --- a/modules/plugins/snippets/luasnip/config.nix +++ b/modules/plugins/snippets/luasnip/config.nix @@ -11,12 +11,12 @@ in { vim = { lazy.plugins.luasnip = { package = "luasnip"; - + lazy = true; - + setupModule = "luasnip"; inherit (cfg) setupOpts; - + after = cfg.loaders; }; startPlugins = cfg.providers; From bbca939cedd09b423820e20d387fc42e85589a5d Mon Sep 17 00:00:00 2001 From: kaktu5 <108426150+kaktu5@users.noreply.github.com> Date: Sat, 11 Jan 2025 21:57:18 +0100 Subject: [PATCH 056/202] languages/wgsl: init module Adds Treesitter and LSP support for WebGPU Shading Language --- docs/release-notes/rl-0.8.md | 4 ++ modules/plugins/languages/default.nix | 1 + modules/plugins/languages/wgsl.nix | 79 +++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 modules/plugins/languages/wgsl.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 62e83a0e..93f6c1da 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -52,3 +52,7 @@ - Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes issue with setting the workspace directory. - Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`. + +[kaktu5](https://github.com/kaktu5): + +- Add WGSL support under `vim.languages.wgsl`. diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index ee9f55e1..bf9194f2 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -38,6 +38,7 @@ in { ./julia.nix ./nu.nix ./odin.nix + ./wgsl.nix ]; options.vim.languages = { diff --git a/modules/plugins/languages/wgsl.nix b/modules/plugins/languages/wgsl.nix new file mode 100644 index 00000000..7c8a1016 --- /dev/null +++ b/modules/plugins/languages/wgsl.nix @@ -0,0 +1,79 @@ +{ + config, + lib, + pkgs, + ... +}: let + inherit (builtins) attrNames; + inherit (lib.lists) isList; + inherit (lib.modules) mkIf mkMerge; + inherit (lib.nvim.lua) expToLua; + inherit (lib.nvim.types) mkGrammarOption; + inherit (lib.options) literalExpression mkEnableOption mkOption; + inherit (lib.types) either enum listOf package str; + + cfg = config.vim.languages.wgsl; + + defaultServer = "wgsl-analyzer"; + servers = { + wgsl-analyzer = { + package = pkgs.wgsl-analyzer; + internalFormatter = true; + lspConfig = '' + lspconfig.wgsl_analyzer.setup { + capabilities = capabilities, + on_attach = default_on_attach, + cmd = ${ + if isList cfg.lsp.package + then expToLua cfg.lsp.package + else "{'${cfg.lsp.package}/bin/wgsl_analyzer'}" + } + } + ''; + }; + }; +in { + options.vim.languages.wgsl = { + enable = mkEnableOption "WGSL language support"; + + treesitter = { + enable = mkEnableOption "WGSL treesitter" // {default = config.vim.languages.enableTreesitter;}; + package = mkGrammarOption pkgs "wgsl"; + }; + + lsp = { + enable = mkEnableOption "WGSL LSP support" // {default = config.vim.languages.enableLSP;}; + + server = mkOption { + type = enum (attrNames servers); + default = defaultServer; + description = "WGSL LSP server to use"; + }; + + package = mkOption { + description = "wgsl-analyzer package, or the command to run as a list of strings"; + example = literalExpression "[(lib.getExe pkgs.wgsl-analyzer)]"; + type = either package (listOf str); + default = pkgs.wgsl-analyzer; + }; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + (mkIf cfg.treesitter.enable { + vim.treesitter = { + enable = true; + grammars = [cfg.treesitter.package]; + }; + }) + + (mkIf cfg.lsp.enable { + vim = { + lsp.lspconfig = { + enable = true; + sources.wgsl_analyzer = servers.${cfg.lsp.server}.lspConfig; + }; + }; + }) + ]); +} From 149d68b3e815e101d113a497bee5c96452391cdb Mon Sep 17 00:00:00 2001 From: tomasguinzburg Date: Sun, 12 Jan 2025 23:33:26 +0100 Subject: [PATCH 057/202] languages/ruby: add ruby support --- configuration.nix | 1 + docs/release-notes/rl-0.8.md | 6 + modules/plugins/languages/default.nix | 1 + modules/plugins/languages/ruby.nix | 152 ++++++++++++++++++++++++++ 4 files changed, 160 insertions(+) create mode 100644 modules/plugins/languages/ruby.nix diff --git a/configuration.nix b/configuration.nix index 15f85480..2159edc8 100644 --- a/configuration.nix +++ b/configuration.nix @@ -80,6 +80,7 @@ isMaximal: { ocaml.enable = false; elixir.enable = false; haskell.enable = false; + ruby.enable = false; tailwind.enable = false; svelte.enable = false; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index cfa70cd5..d15c6842 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -57,3 +57,9 @@ [kaktu5](https://github.com/kaktu5): - Add WGSL support under `vim.languages.wgsl`. + +[tomasguinzburg](https://github.com/tomasguinzburg): + +[solargraph]: https://github.com/castwide/solargraph + +- Add Ruby support under `vim.languages.ruby` using [solargraph]. diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index bf9194f2..219e04fb 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -39,6 +39,7 @@ in { ./nu.nix ./odin.nix ./wgsl.nix + ./ruby.nix ]; options.vim.languages = { diff --git a/modules/plugins/languages/ruby.nix b/modules/plugins/languages/ruby.nix new file mode 100644 index 00000000..33f11d5d --- /dev/null +++ b/modules/plugins/languages/ruby.nix @@ -0,0 +1,152 @@ +{ + config, + pkgs, + lib, + ... +}: let + inherit (builtins) attrNames; + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.modules) mkIf mkMerge; + inherit (lib.nvim.types) mkGrammarOption diagnostics; + inherit (lib.types) either listOf package str enum; + inherit (lib.nvim.languages) diagnosticsToLua; + + cfg = config.vim.languages.ruby; + + defaultServer = "rubyserver"; + servers = { + rubyserver = { + package = pkgs.rubyPackages.solargraph; + lspConfig = '' + lspconfig.solargraph.setup { + capabilities = capabilities, + on_attach = attach_keymaps, + flags = { + debounce_text_changes = 150, + }, + cmd = { "${pkgs.solargraph}/bin/solargraph", "stdio" } + } + ''; + }; + }; + + # testing + + defaultFormat = "rubocop"; + formats = { + rubocop = { + package = pkgs.rubyPackages.rubocop; + nullConfig = '' + local conditional = function(fn) + local utils = require("null-ls.utils").make_conditional_utils() + return fn(utils) + end + + table.insert( + ls_sources, + null_ls.builtins.formatting.rubocop.with({ + command="${pkgs.bundler}/bin/bundle", + args = vim.list_extend( + {"exec", "rubocop", "-a" }, + null_ls.builtins.formatting.rubocop._opts.args + ), + }) + ) + ''; + }; + }; + + defaultDiagnosticsProvider = ["rubocop"]; + diagnosticsProviders = { + rubocop = { + package = pkgs.rubyPackages.rubocop; + nullConfig = pkg: '' + table.insert( + ls_sources, + null_ls.builtins.diagnostics.rubocop.with({ + command = "${lib.getExe pkg}", + }) + ) + ''; + }; + }; +in { + options.vim.languages.ruby = { + enable = mkEnableOption "Ruby language support"; + + treesitter = { + enable = mkEnableOption "Ruby treesitter" // {default = config.vim.languages.enableTreesitter;}; + package = mkGrammarOption pkgs "ruby"; + }; + + lsp = { + enable = mkEnableOption "Ruby LSP support" // {default = config.vim.languages.enableLSP;}; + + server = mkOption { + type = enum (attrNames servers); + default = defaultServer; + description = "Ruby LSP server to use"; + }; + + package = mkOption { + type = either package (listOf str); + default = servers.${cfg.lsp.server}.package; + description = "Ruby LSP server package, or the command to run as a list of strings"; + }; + }; + + format = { + enable = mkEnableOption "Ruby formatter support" // {default = config.vim.languages.enableFormat;}; + + type = mkOption { + type = enum (attrNames formats); + default = defaultFormat; + description = "Ruby formatter to use"; + }; + + package = mkOption { + type = package; + default = formats.${cfg.format.type}.package; + description = "Ruby formatter package"; + }; + }; + + extraDiagnostics = { + enable = + mkEnableOption "Ruby extra diagnostics support" + // {default = config.vim.languages.enableExtraDiagnostics;}; + + types = diagnostics { + langDesc = "Ruby"; + inherit diagnosticsProviders; + inherit defaultDiagnosticsProvider; + }; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + (mkIf cfg.treesitter.enable { + vim.treesitter.enable = true; + vim.treesitter.grammars = [cfg.treesitter.package]; + }) + + (mkIf cfg.lsp.enable { + vim.lsp.lspconfig.enable = true; + vim.lsp.lspconfig.sources.ruby-lsp = servers.${cfg.lsp.server}.lspConfig; + }) + + (mkIf cfg.format.enable { + vim.lsp.null-ls.enable = true; + vim.lsp.null-ls.sources.ruby-format = formats.${cfg.format.type}.nullConfig; + }) + + (mkIf cfg.extraDiagnostics.enable { + vim.lsp.null-ls.enable = true; + vim.lsp.null-ls.sources = diagnosticsToLua { + lang = "ruby"; + config = cfg.extraDiagnostics.types; + inherit diagnosticsProviders; + }; + }) + ]); +} From 9142a5b9dd7dacf54825d2fcd730604457535ebc Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 14 Jan 2025 16:01:56 +0300 Subject: [PATCH 058/202] docs: update contribution guidelines Update URL for nixpkgs flavoured markdown, add mkOption argument ordering --- docs/manual/hacking/guidelines.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/docs/manual/hacking/guidelines.md b/docs/manual/hacking/guidelines.md index 882deea8..a1db27e8 100644 --- a/docs/manual/hacking/guidelines.md +++ b/docs/manual/hacking/guidelines.md @@ -14,14 +14,11 @@ necessarily) before you start developing. ## Adding Documentation {#sec-guidelines-documentation} -Most, if not all, changes warrant changes to the documentation. Module options -should be documented with -[Nixpkgs-flavoured Markdown](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup), -albeit with exceptions. +[Nixpkgs Flavoured Markdown]: https://github.com/NixOS/nixpkgs/blob/master/doc/README.md#syntax -::: {.note} As of **v0.5**, **nvf** is itself documented using full markdown in -both module options and the manual. With **v0.6**, this manual has also been -converted to markdown in full. ::: +Almost all changes warrant updates to the documentation: at the very least, you +must update the changelog. Both the manual and module options use +[Nixpkgs Flavoured Markdown]. The HTML version of this manual containing both the module option descriptions and the documentation of **nvf** (such as this page) can be generated and opened @@ -117,10 +114,11 @@ applies to string literals and module descriptions and documentation. ### Nix {#sec-code-style-nix} -**nvf** is formatted by the -[alejandra](https://github.com/kamadorueda/alejandra) tool and the formatting is -checked in the pull request and push workflows. Run the `nix fmt` command inside -the project repository before submitting your pull request. +[alejandra]: https://github.com/kamadorueda/alejandra + +**nvf** is formatted by the [alejandra] tool and the formatting is checked in +the pull request and push workflows. Run the `nix fmt` command inside the +project repository before submitting your pull request. While Alejandra is mostly opinionated on how code looks after formatting, certain changes are done at the user's discretion based on how the original code @@ -138,10 +136,14 @@ module = { # same as parent modules, unfold submodules subModule = { # this is an option that contains more than one nested value + # Note: try to be careful about the ordering of `mkOption` arguments. + # General rule of thumb is to order from least to most likely to change. + # This is, for most cases, type < default < description. + # Example, if present, would be between default and description someOtherValue = mkOption { type = lib.types.bool; - description = "Some other description"; default = true; + description = "Some other description"; }; }; } From dcb9b16f81f6b766e0219bbef58c207240d01c6f Mon Sep 17 00:00:00 2001 From: Thales Menato <8753631+thamenato@users.noreply.github.com> Date: Tue, 14 Jan 2025 21:03:03 -0500 Subject: [PATCH 059/202] feat: add ruff to formatters --- modules/plugins/languages/python.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 61aedcee..876093c0 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -106,6 +106,18 @@ ) ''; }; + + ruff = { + package = pkgs.ruff; + nullConfig = '' + table.insert( + ls_sources, + null_ls.builtins.formatting.ruff.with({ + command = "${cfg.format.package}/bin/ruff", + }) + ) + ''; + }; }; defaultDebugger = "debugpy"; From ecf832681c79e9852b474cfa270c1f8d06891959 Mon Sep 17 00:00:00 2001 From: Thales Menato <8753631+thamenato@users.noreply.github.com> Date: Tue, 14 Jan 2025 21:23:11 -0500 Subject: [PATCH 060/202] fix: ruff command feat: add ruff ruff --- modules/plugins/languages/python.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 876093c0..a36e174f 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -108,7 +108,13 @@ }; ruff = { - package = pkgs.ruff; + package = pkgs.writeShellApplication { + name = "ruff"; + runtimeInputs = [pkgs.ruff]; + text = '' + ruff format - + ''; + }; nullConfig = '' table.insert( ls_sources, From 3f43edd635f688a541fe230b7fcc38580a6bb6b1 Mon Sep 17 00:00:00 2001 From: Thales Menato <8753631+thamenato@users.noreply.github.com> Date: Wed, 15 Jan 2025 07:24:04 -0500 Subject: [PATCH 061/202] fix: run nix fmt --- modules/plugins/languages/python.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index a36e174f..0a3c6c8a 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -109,7 +109,7 @@ ruff = { package = pkgs.writeShellApplication { - name = "ruff"; + name = "ruff"; runtimeInputs = [pkgs.ruff]; text = '' ruff format - From f6d249d0768b62bba332e1866f5b1ed4b7b46220 Mon Sep 17 00:00:00 2001 From: Thales Menato <8753631+thamenato@users.noreply.github.com> Date: Wed, 15 Jan 2025 07:33:27 -0500 Subject: [PATCH 062/202] docs: update changelog --- docs/release-notes/rl-0.8.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index d15c6842..edb3e7b3 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -41,8 +41,8 @@ [horriblename](https://github.com/horriblename): -[aerial.nvim](https://github.com/stevearc/aerial.nvim) -[nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) +[aerial.nvim]: (https://github.com/stevearc/aerial.nvim) +[nvim-ufo]: (https://github.com/kevinhwang91/nvim-ufo) - Add [aerial.nvim] - Add [nvim-ufo] @@ -52,7 +52,8 @@ - Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes issue with setting the workspace directory. - Add `vim.snippets.luasnip.setupOpts`, which was previously missing. -- Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`. +- Add `"prettierd"` as a formatter option in + `vim.languages.markdown.format.type`. [kaktu5](https://github.com/kaktu5): @@ -63,3 +64,9 @@ [solargraph]: https://github.com/castwide/solargraph - Add Ruby support under `vim.languages.ruby` using [solargraph]. + +[thamenato](https://github.com/thamenato): + +[ruff]: (https://github.com/astral-sh/ruff) + +- Add [ruff] as a formatter option in `vim.languages.python.format.type`. From 952a3f1ad01d6f3eb28a90bd3c87b872c801a925 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Thu, 16 Jan 2025 08:23:19 +0100 Subject: [PATCH 063/202] collections/mini: init --- flake.lock | 17 ++++++++++ flake.nix | 6 ++++ modules/modules.nix | 1 + modules/plugins/collections/default.nix | 5 +++ .../plugins/collections/mini-nvim/config.nix | 32 +++++++++++++++++++ .../plugins/collections/mini-nvim/default.nix | 6 ++++ .../collections/mini-nvim/mini-nvim.nix | 28 ++++++++++++++++ 7 files changed, 95 insertions(+) create mode 100644 modules/plugins/collections/default.nix create mode 100644 modules/plugins/collections/mini-nvim/config.nix create mode 100644 modules/plugins/collections/mini-nvim/default.nix create mode 100644 modules/plugins/collections/mini-nvim/mini-nvim.nix diff --git a/flake.lock b/flake.lock index da38b967..448bd8b2 100644 --- a/flake.lock +++ b/flake.lock @@ -936,6 +936,22 @@ "type": "github" } }, + "plugin-mini-nvim": { + "flake": false, + "locked": { + "lastModified": 1736875588, + "narHash": "sha256-v5cMB/IK+muogipWPtU7rFTfYWO7wr+VyGfqPU/fE70=", + "owner": "echasnovski", + "repo": "mini.nvim", + "rev": "9e603a31d3fbc7ee61c9b556cd84e97fa2dcff53", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.nvim", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2132,6 +2148,7 @@ "plugin-lz-n": "plugin-lz-n", "plugin-lzn-auto-require": "plugin-lzn-auto-require", "plugin-mind-nvim": "plugin-mind-nvim", + "plugin-mini-nvim": "plugin-mini-nvim", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 89690cad..4d6873ea 100644 --- a/flake.nix +++ b/flake.nix @@ -744,5 +744,11 @@ url = "github:stevearc/aerial.nvim"; flake = false; }; + + # Plugin collections + plugin-mini-nvim = { + url = "github:echasnovski/mini.nvim"; + flake = false; + }; }; } diff --git a/modules/modules.nix b/modules/modules.nix index 6e05c592..19860884 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -19,6 +19,7 @@ plugins = map (p: ./plugins + "/${p}") [ "assistant" "autopairs" + "collections" "comments" "completion" "dashboard" diff --git a/modules/plugins/collections/default.nix b/modules/plugins/collections/default.nix new file mode 100644 index 00000000..7f5524a6 --- /dev/null +++ b/modules/plugins/collections/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./mini-nvim + ]; +} diff --git a/modules/plugins/collections/mini-nvim/config.nix b/modules/plugins/collections/mini-nvim/config.nix new file mode 100644 index 00000000..c04c8191 --- /dev/null +++ b/modules/plugins/collections/mini-nvim/config.nix @@ -0,0 +1,32 @@ +{ + options, + config, + lib, + pkgs, + inputs, + ... +}: let + inherit (lib) mkMerge; + inherit (lib.modules) mkIf; + inherit (lib.strings) concatStringsSep; + inherit (lib.attrsets) mapAttrsToList; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.collections.mini-nvim; +in { + config = mkIf cfg.enable { + vim.lazy.plugins."mini-nvim" = { + package = "mini-nvim"; + # package = pkgs.vimPlugins.mini-nvim; + # package = pkgs.vimUtils.buildVimPlugin { + # name = "mini-nvim"; + # src = inputs.plugin-mini-nvim; + # }; + lazy = false; + after = concatStringsSep "\n" (mapAttrsToList (name: value: '' + require("mini.${name}").setup(${toLuaObject value.setupOpts}) + '') + cfg.modules); + }; + }; +} diff --git a/modules/plugins/collections/mini-nvim/default.nix b/modules/plugins/collections/mini-nvim/default.nix new file mode 100644 index 00000000..91faca27 --- /dev/null +++ b/modules/plugins/collections/mini-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./mini-nvim.nix + ]; +} diff --git a/modules/plugins/collections/mini-nvim/mini-nvim.nix b/modules/plugins/collections/mini-nvim/mini-nvim.nix new file mode 100644 index 00000000..b9764eed --- /dev/null +++ b/modules/plugins/collections/mini-nvim/mini-nvim.nix @@ -0,0 +1,28 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption mkOption literalExpression; + inherit (lib.types) attrsOf submodule; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.collections.mini-nvim = { + enable = mkEnableOption "mini.nvim, a collection of quality-of-life modules"; + modules = mkOption { + type = attrsOf (submodule { + options = { + setupOpts = mkPluginSetupOption "mini.nvim plugin" {}; + }; + }); + default = {}; + example = + literalExpression + '' + { + files = {}; + sessions = { + autoread = true; + autowrite = true; + }; + } + ''; + }; + }; +} From 9c09915170353fc4f6bf4fc55376a33db4cbe15e Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 17:36:47 +0100 Subject: [PATCH 064/202] Revert "collections/mini: init" This reverts commit 952a3f1ad01d6f3eb28a90bd3c87b872c801a925. --- flake.lock | 17 ---------- flake.nix | 6 ---- modules/modules.nix | 1 - modules/plugins/collections/default.nix | 5 --- .../plugins/collections/mini-nvim/config.nix | 32 ------------------- .../plugins/collections/mini-nvim/default.nix | 6 ---- .../collections/mini-nvim/mini-nvim.nix | 28 ---------------- 7 files changed, 95 deletions(-) delete mode 100644 modules/plugins/collections/default.nix delete mode 100644 modules/plugins/collections/mini-nvim/config.nix delete mode 100644 modules/plugins/collections/mini-nvim/default.nix delete mode 100644 modules/plugins/collections/mini-nvim/mini-nvim.nix diff --git a/flake.lock b/flake.lock index 448bd8b2..da38b967 100644 --- a/flake.lock +++ b/flake.lock @@ -936,22 +936,6 @@ "type": "github" } }, - "plugin-mini-nvim": { - "flake": false, - "locked": { - "lastModified": 1736875588, - "narHash": "sha256-v5cMB/IK+muogipWPtU7rFTfYWO7wr+VyGfqPU/fE70=", - "owner": "echasnovski", - "repo": "mini.nvim", - "rev": "9e603a31d3fbc7ee61c9b556cd84e97fa2dcff53", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.nvim", - "type": "github" - } - }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2148,7 +2132,6 @@ "plugin-lz-n": "plugin-lz-n", "plugin-lzn-auto-require": "plugin-lzn-auto-require", "plugin-mind-nvim": "plugin-mind-nvim", - "plugin-mini-nvim": "plugin-mini-nvim", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 4d6873ea..89690cad 100644 --- a/flake.nix +++ b/flake.nix @@ -744,11 +744,5 @@ url = "github:stevearc/aerial.nvim"; flake = false; }; - - # Plugin collections - plugin-mini-nvim = { - url = "github:echasnovski/mini.nvim"; - flake = false; - }; }; } diff --git a/modules/modules.nix b/modules/modules.nix index 19860884..6e05c592 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -19,7 +19,6 @@ plugins = map (p: ./plugins + "/${p}") [ "assistant" "autopairs" - "collections" "comments" "completion" "dashboard" diff --git a/modules/plugins/collections/default.nix b/modules/plugins/collections/default.nix deleted file mode 100644 index 7f5524a6..00000000 --- a/modules/plugins/collections/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./mini-nvim - ]; -} diff --git a/modules/plugins/collections/mini-nvim/config.nix b/modules/plugins/collections/mini-nvim/config.nix deleted file mode 100644 index c04c8191..00000000 --- a/modules/plugins/collections/mini-nvim/config.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: let - inherit (lib) mkMerge; - inherit (lib.modules) mkIf; - inherit (lib.strings) concatStringsSep; - inherit (lib.attrsets) mapAttrsToList; - inherit (lib.nvim.lua) toLuaObject; - - cfg = config.vim.collections.mini-nvim; -in { - config = mkIf cfg.enable { - vim.lazy.plugins."mini-nvim" = { - package = "mini-nvim"; - # package = pkgs.vimPlugins.mini-nvim; - # package = pkgs.vimUtils.buildVimPlugin { - # name = "mini-nvim"; - # src = inputs.plugin-mini-nvim; - # }; - lazy = false; - after = concatStringsSep "\n" (mapAttrsToList (name: value: '' - require("mini.${name}").setup(${toLuaObject value.setupOpts}) - '') - cfg.modules); - }; - }; -} diff --git a/modules/plugins/collections/mini-nvim/default.nix b/modules/plugins/collections/mini-nvim/default.nix deleted file mode 100644 index 91faca27..00000000 --- a/modules/plugins/collections/mini-nvim/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ./config.nix - ./mini-nvim.nix - ]; -} diff --git a/modules/plugins/collections/mini-nvim/mini-nvim.nix b/modules/plugins/collections/mini-nvim/mini-nvim.nix deleted file mode 100644 index b9764eed..00000000 --- a/modules/plugins/collections/mini-nvim/mini-nvim.nix +++ /dev/null @@ -1,28 +0,0 @@ -{lib, ...}: let - inherit (lib.options) mkEnableOption mkOption literalExpression; - inherit (lib.types) attrsOf submodule; - inherit (lib.nvim.types) mkPluginSetupOption; -in { - options.vim.collections.mini-nvim = { - enable = mkEnableOption "mini.nvim, a collection of quality-of-life modules"; - modules = mkOption { - type = attrsOf (submodule { - options = { - setupOpts = mkPluginSetupOption "mini.nvim plugin" {}; - }; - }); - default = {}; - example = - literalExpression - '' - { - files = {}; - sessions = { - autoread = true; - autowrite = true; - }; - } - ''; - }; - }; -} From ae3340f2d1ea173cf8946d5657c25fb20f25bea6 Mon Sep 17 00:00:00 2001 From: tomasguinzburg Date: Fri, 17 Jan 2025 09:54:51 +0100 Subject: [PATCH 065/202] feat: add nord theme added nord theme from github.com/gbprod/nord.nvim fixed a typo --- docs/release-notes/rl-0.8.md | 2 ++ flake.lock | 17 +++++++++++++++++ flake.nix | 7 ++++++- .../statusline/lualine/supported_themes.nix | 1 + modules/plugins/theme/supported-themes.nix | 10 ++++++++++ 5 files changed, 36 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index edb3e7b3..465bf5c9 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -62,8 +62,10 @@ [tomasguinzburg](https://github.com/tomasguinzburg): [solargraph]: https://github.com/castwide/solargraph +[gbprod/nord.nvim]: https://github.com/gbprod/nord.nvim - Add Ruby support under `vim.languages.ruby` using [solargraph]. +- Add `nord` theme from [gbprod/nord.nvim]. [thamenato](https://github.com/thamenato): diff --git a/flake.lock b/flake.lock index da38b967..918b0ce1 100644 --- a/flake.lock +++ b/flake.lock @@ -1097,6 +1097,22 @@ "type": "github" } }, + "plugin-nord": { + "flake": false, + "locked": { + "lastModified": 1737019140, + "narHash": "sha256-ZhDS7Y90DKp+jkUqcoQRf/zHy4DVgSDQXrnl3sBYJXs=", + "owner": "gbprod", + "repo": "nord.nvim", + "rev": "b0f3ed242fd8e5bafa7231367821d46c6c835dd8", + "type": "github" + }, + "original": { + "owner": "gbprod", + "repo": "nord.nvim", + "type": "github" + } + }, "plugin-nui-nvim": { "flake": false, "locked": { @@ -2142,6 +2158,7 @@ "plugin-new-file-template-nvim": "plugin-new-file-template-nvim", "plugin-noice-nvim": "plugin-noice-nvim", "plugin-none-ls": "plugin-none-ls", + "plugin-nord": "plugin-nord", "plugin-nui-nvim": "plugin-nui-nvim", "plugin-nvim-autopairs": "plugin-nvim-autopairs", "plugin-nvim-bufferline-lua": "plugin-nvim-bufferline-lua", diff --git a/flake.nix b/flake.nix index 89690cad..02ceb667 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ self, ... } @ inputs: let - # call the extedended library with `inputs` + # call the extended library with `inputs` # inputs is used to get the original standard library, and to pass inputs to the plugin autodiscovery function lib = import ./lib/stdlib-extended.nix inputs; in @@ -419,6 +419,11 @@ flake = false; }; + plugin-nord = { + url = "github:gbprod/nord.nvim"; + flake = false; + }; + # Rust crates plugin-crates-nvim = { url = "github:Saecki/crates.nvim"; diff --git a/modules/plugins/statusline/lualine/supported_themes.nix b/modules/plugins/statusline/lualine/supported_themes.nix index b00fe82b..3528b24f 100644 --- a/modules/plugins/statusline/lualine/supported_themes.nix +++ b/modules/plugins/statusline/lualine/supported_themes.nix @@ -4,4 +4,5 @@ "catppuccin" "oxocarbon" "gruvbox" + "nord" ] diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index e185eb0d..cf72024a 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -177,4 +177,14 @@ in { ''; styles = ["main" "moon" "dawn"]; }; + nord = { + setup = {transparent ? false, ...}: '' + require("nord").setup({ + transparent = ${boolToString transparent}, + search = "vscode", -- [vim|vscode] + }) + + vim.cmd.colorscheme("nord") + ''; + }; } From 8923d3b891b4f6ad0dfeb14aa8c049987cdecdbc Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 18:57:59 +0100 Subject: [PATCH 066/202] mini/ai: init --- docs/release-notes/rl-0.8.md | 2 ++ flake.lock | 17 +++++++++++++++++ flake.nix | 6 ++++++ modules/modules.nix | 1 + modules/plugins/mini/ai/ai.nix | 13 +++++++++++++ modules/plugins/mini/ai/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/ai/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 5 +++++ 8 files changed, 69 insertions(+) create mode 100644 modules/plugins/mini/ai/ai.nix create mode 100644 modules/plugins/mini/ai/config.nix create mode 100644 modules/plugins/mini/ai/default.nix create mode 100644 modules/plugins/mini/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index d15c6842..067782d8 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -53,6 +53,8 @@ issue with setting the workspace directory. - Add `vim.snippets.luasnip.setupOpts`, which was previously missing. - Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`. +- Add the following plugins from [mini.nvim](https://github.com/echasnovski/mini.nvim) + - `mini.ai` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index da38b967..351eae83 100644 --- a/flake.lock +++ b/flake.lock @@ -936,6 +936,22 @@ "type": "github" } }, + "plugin-mini-ai": { + "flake": false, + "locked": { + "lastModified": 1733662803, + "narHash": "sha256-b/776l9nYM9e2atzXrvOk9dCxjzIuW/+iINC/yPv88Y=", + "owner": "echasnovski", + "repo": "mini.ai", + "rev": "ebb04799794a7f94628153991e6334c3304961b8", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.ai", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2132,6 +2148,7 @@ "plugin-lz-n": "plugin-lz-n", "plugin-lzn-auto-require": "plugin-lzn-auto-require", "plugin-mind-nvim": "plugin-mind-nvim", + "plugin-mini-ai": "plugin-mini-ai", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 89690cad..c236e71a 100644 --- a/flake.nix +++ b/flake.nix @@ -744,5 +744,11 @@ url = "github:stevearc/aerial.nvim"; flake = false; }; + + # Mini.nvim + plugin-mini-ai = { + url = "github:echasnovski/mini.ai"; + flake = false; + }; }; } diff --git a/modules/modules.nix b/modules/modules.nix index 6e05c592..65b0c966 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -27,6 +27,7 @@ "git" "languages" "lsp" + "mini" "minimap" "notes" "projects" diff --git a/modules/plugins/mini/ai/ai.nix b/modules/plugins/mini/ai/ai.nix new file mode 100644 index 00000000..c8e60b8e --- /dev/null +++ b/modules/plugins/mini/ai/ai.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.ai = { + enable = mkEnableOption "mini.ai"; + setupOpts = mkPluginSetupOption "mini.ai" {}; + }; +} diff --git a/modules/plugins/mini/ai/config.nix b/modules/plugins/mini/ai/config.nix new file mode 100644 index 00000000..7385e1b1 --- /dev/null +++ b/modules/plugins/mini/ai/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.ai; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-ai"]; + + pluginRC.mini-ai = entryAnywhere '' + require("mini.ai").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/ai/default.nix b/modules/plugins/mini/ai/default.nix new file mode 100644 index 00000000..57da6c08 --- /dev/null +++ b/modules/plugins/mini/ai/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./ai.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix new file mode 100644 index 00000000..f3632321 --- /dev/null +++ b/modules/plugins/mini/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./ai + ]; +} From c8d727f2e94293e95d0a836dcf9fcdd593a39f39 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:00:43 +0100 Subject: [PATCH 067/202] mini/align: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/align/align.nix | 13 +++++++++++++ modules/plugins/mini/align/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/align/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/align/align.nix create mode 100644 modules/plugins/mini/align/config.nix create mode 100644 modules/plugins/mini/align/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 067782d8..28b9408a 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -55,6 +55,7 @@ - Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`. - Add the following plugins from [mini.nvim](https://github.com/echasnovski/mini.nvim) - `mini.ai` + - `mini.align` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 351eae83..5bcb6a8c 100644 --- a/flake.lock +++ b/flake.lock @@ -952,6 +952,22 @@ "type": "github" } }, + "plugin-mini-align": { + "flake": false, + "locked": { + "lastModified": 1735582248, + "narHash": "sha256-oHub8dEihIx4kcP3CD9GXG1SUObJUVpH4bg2Z6PmadQ=", + "owner": "echasnovski", + "repo": "mini.align", + "rev": "e715137aece7d05734403d793b8b6b64486bc812", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.align", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2149,6 +2165,7 @@ "plugin-lzn-auto-require": "plugin-lzn-auto-require", "plugin-mind-nvim": "plugin-mind-nvim", "plugin-mini-ai": "plugin-mini-ai", + "plugin-mini-align": "plugin-mini-align", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index c236e71a..1586e384 100644 --- a/flake.nix +++ b/flake.nix @@ -750,5 +750,10 @@ url = "github:echasnovski/mini.ai"; flake = false; }; + + plugin-mini-align = { + url = "github:echasnovski/mini.align"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/align/align.nix b/modules/plugins/mini/align/align.nix new file mode 100644 index 00000000..c21e9532 --- /dev/null +++ b/modules/plugins/mini/align/align.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.align = { + enable = mkEnableOption "mini.align"; + setupOpts = mkPluginSetupOption "mini.align" {}; + }; +} diff --git a/modules/plugins/mini/align/config.nix b/modules/plugins/mini/align/config.nix new file mode 100644 index 00000000..0a7a5a69 --- /dev/null +++ b/modules/plugins/mini/align/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.align; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-align"]; + + pluginRC.mini-align = entryAnywhere '' + require("mini.align").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/align/default.nix b/modules/plugins/mini/align/default.nix new file mode 100644 index 00000000..9ddaff69 --- /dev/null +++ b/modules/plugins/mini/align/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./align.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index f3632321..051274cb 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -1,5 +1,6 @@ { imports = [ ./ai + ./align ]; } From a1a0ab89b6d725f52f42efdcd86b27024afb651f Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:03:44 +0100 Subject: [PATCH 068/202] mini/animate: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/animate/animate.nix | 13 +++++++++++++ modules/plugins/mini/animate/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/animate/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/animate/animate.nix create mode 100644 modules/plugins/mini/animate/config.nix create mode 100644 modules/plugins/mini/animate/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 28b9408a..969dfd45 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -56,6 +56,7 @@ - Add the following plugins from [mini.nvim](https://github.com/echasnovski/mini.nvim) - `mini.ai` - `mini.align` + - `mini.animate` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 5bcb6a8c..27777b4b 100644 --- a/flake.lock +++ b/flake.lock @@ -968,6 +968,22 @@ "type": "github" } }, + "plugin-mini-animate": { + "flake": false, + "locked": { + "lastModified": 1733078395, + "narHash": "sha256-ZePmJuHCCymTgaK46nSg5tRloxs+UKrVgVmT++rGKpc=", + "owner": "echasnovski", + "repo": "mini.animate", + "rev": "d14190ac3040116540889e2ebc25f488b195799e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.animate", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2166,6 +2182,7 @@ "plugin-mind-nvim": "plugin-mind-nvim", "plugin-mini-ai": "plugin-mini-ai", "plugin-mini-align": "plugin-mini-align", + "plugin-mini-animate": "plugin-mini-animate", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 1586e384..36683e91 100644 --- a/flake.nix +++ b/flake.nix @@ -755,5 +755,10 @@ url = "github:echasnovski/mini.align"; flake = false; }; + + plugin-mini-animate = { + url = "github:echasnovski/mini.animate"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/animate/animate.nix b/modules/plugins/mini/animate/animate.nix new file mode 100644 index 00000000..6be633b5 --- /dev/null +++ b/modules/plugins/mini/animate/animate.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.animate = { + enable = mkEnableOption "mini.animate"; + setupOpts = mkPluginSetupOption "mini.animate" {}; + }; +} diff --git a/modules/plugins/mini/animate/config.nix b/modules/plugins/mini/animate/config.nix new file mode 100644 index 00000000..e9cf2813 --- /dev/null +++ b/modules/plugins/mini/animate/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.animate; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-animate"]; + + pluginRC.mini-animate = entryAnywhere '' + require("mini.animate").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/animate/default.nix b/modules/plugins/mini/animate/default.nix new file mode 100644 index 00000000..5390fae1 --- /dev/null +++ b/modules/plugins/mini/animate/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./animate.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 051274cb..6a4e3720 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -2,5 +2,6 @@ imports = [ ./ai ./align + ./animate ]; } From c52e3c0507f8096d93cd43ad1f29cba22349a27c Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:08:50 +0100 Subject: [PATCH 069/202] mini/base16: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/theme/supported-themes.nix | 8 ++++++++ 5 files changed, 32 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 969dfd45..e654f595 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -57,6 +57,7 @@ - `mini.ai` - `mini.align` - `mini.animate` + - `mini.base16` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 27777b4b..862e7550 100644 --- a/flake.lock +++ b/flake.lock @@ -984,6 +984,22 @@ "type": "github" } }, + "plugin-mini-base16": { + "flake": false, + "locked": { + "lastModified": 1734960100, + "narHash": "sha256-VGs4k/xDujPcA0Nv5T18ybSv1iqnzg0AFmaweRdhvDM=", + "owner": "echasnovski", + "repo": "mini.base16", + "rev": "23453dacc1606e5d42238d82f0b42a2985386b62", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.base16", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2183,6 +2199,7 @@ "plugin-mini-ai": "plugin-mini-ai", "plugin-mini-align": "plugin-mini-align", "plugin-mini-animate": "plugin-mini-animate", + "plugin-mini-base16": "plugin-mini-base16", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 36683e91..b5b9629e 100644 --- a/flake.nix +++ b/flake.nix @@ -760,5 +760,10 @@ url = "github:echasnovski/mini.animate"; flake = false; }; + + plugin-mini-base16 = { + url = "github:echasnovski/mini.base16"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 6a4e3720..ecf80efd 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -3,5 +3,6 @@ ./ai ./align ./animate + # ./base16 # NOTE: configured in theme/ ]; } diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index e185eb0d..87266e71 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -12,6 +12,14 @@ in { require('base16-colorscheme').setup(${toLuaObject base16-colors}) ''; }; + mini-base16 = { + setup = {base16-colors, ...}: '' + -- Base16 theme + require('mini.base16').setup({ + palette = ${toLuaObject base16-colors} + }) + ''; + }; onedark = { setup = {style ? "dark", ...}: '' -- OneDark theme From be5ab793424e6d26c2a7eadae0ba71900a9def30 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:11:31 +0100 Subject: [PATCH 070/202] mini/basics: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/basics/basics.nix | 13 +++++++++++++ modules/plugins/mini/basics/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/basics/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/basics/basics.nix create mode 100644 modules/plugins/mini/basics/config.nix create mode 100644 modules/plugins/mini/basics/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e654f595..7523aa22 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -58,6 +58,7 @@ - `mini.align` - `mini.animate` - `mini.base16` + - `mini.basics` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 862e7550..2c580ea0 100644 --- a/flake.lock +++ b/flake.lock @@ -1000,6 +1000,22 @@ "type": "github" } }, + "plugin-mini-basics": { + "flake": false, + "locked": { + "lastModified": 1730194519, + "narHash": "sha256-R8POaMcgb6SBOxIpanZsswieywapnU7zDNjQMRTkR8U=", + "owner": "echasnovski", + "repo": "mini.basics", + "rev": "67c10b3436d5d3b892715137f4773e71c6753b13", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.basics", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2200,6 +2216,7 @@ "plugin-mini-align": "plugin-mini-align", "plugin-mini-animate": "plugin-mini-animate", "plugin-mini-base16": "plugin-mini-base16", + "plugin-mini-basics": "plugin-mini-basics", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index b5b9629e..c14323b2 100644 --- a/flake.nix +++ b/flake.nix @@ -765,5 +765,10 @@ url = "github:echasnovski/mini.base16"; flake = false; }; + + plugin-mini-basics = { + url = "github:echasnovski/mini.basics"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/basics/basics.nix b/modules/plugins/mini/basics/basics.nix new file mode 100644 index 00000000..b2a4ff30 --- /dev/null +++ b/modules/plugins/mini/basics/basics.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.basics = { + enable = mkEnableOption "mini.basics"; + setupOpts = mkPluginSetupOption "mini.basics" {}; + }; +} diff --git a/modules/plugins/mini/basics/config.nix b/modules/plugins/mini/basics/config.nix new file mode 100644 index 00000000..9893ef42 --- /dev/null +++ b/modules/plugins/mini/basics/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.basics; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-basics"]; + + pluginRC.mini-basics = entryAnywhere '' + require("mini.basics").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/basics/default.nix b/modules/plugins/mini/basics/default.nix new file mode 100644 index 00000000..15bf750b --- /dev/null +++ b/modules/plugins/mini/basics/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./basics.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index ecf80efd..8ec59e16 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -4,5 +4,6 @@ ./align ./animate # ./base16 # NOTE: configured in theme/ + ./basics ]; } From eaae68aea27193429b414cfbaef2f46620ebaa15 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:14:30 +0100 Subject: [PATCH 071/202] mini/bracketed: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/bracketed/bracketed.nix | 13 +++++++++++++ modules/plugins/mini/bracketed/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/bracketed/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/bracketed/bracketed.nix create mode 100644 modules/plugins/mini/bracketed/config.nix create mode 100644 modules/plugins/mini/bracketed/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 7523aa22..3d55f630 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -59,6 +59,7 @@ - `mini.animate` - `mini.base16` - `mini.basics` + - `mini.bracketed` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 2c580ea0..5fe53f6a 100644 --- a/flake.lock +++ b/flake.lock @@ -1016,6 +1016,22 @@ "type": "github" } }, + "plugin-mini-bracketed": { + "flake": false, + "locked": { + "lastModified": 1737036218, + "narHash": "sha256-y+tGFF1H37ES/hnEtr3GJK3GeB6D5s8ZdSpvzl+lh3s=", + "owner": "echasnovski", + "repo": "mini.bracketed", + "rev": "0091e11fabe34973fc038a8d0d0485202742e403", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.bracketed", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2217,6 +2233,7 @@ "plugin-mini-animate": "plugin-mini-animate", "plugin-mini-base16": "plugin-mini-base16", "plugin-mini-basics": "plugin-mini-basics", + "plugin-mini-bracketed": "plugin-mini-bracketed", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index c14323b2..2875a010 100644 --- a/flake.nix +++ b/flake.nix @@ -770,5 +770,10 @@ url = "github:echasnovski/mini.basics"; flake = false; }; + + plugin-mini-bracketed = { + url = "github:echasnovski/mini.bracketed"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/bracketed/bracketed.nix b/modules/plugins/mini/bracketed/bracketed.nix new file mode 100644 index 00000000..950f4e7f --- /dev/null +++ b/modules/plugins/mini/bracketed/bracketed.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.bracketed = { + enable = mkEnableOption "mini.bracketed"; + setupOpts = mkPluginSetupOption "mini.bracketed" {}; + }; +} diff --git a/modules/plugins/mini/bracketed/config.nix b/modules/plugins/mini/bracketed/config.nix new file mode 100644 index 00000000..09c6262f --- /dev/null +++ b/modules/plugins/mini/bracketed/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.bracketed; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-bracketed"]; + + pluginRC.mini-bracketed = entryAnywhere '' + require("mini.bracketed").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/bracketed/default.nix b/modules/plugins/mini/bracketed/default.nix new file mode 100644 index 00000000..057dbd31 --- /dev/null +++ b/modules/plugins/mini/bracketed/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./bracketed.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 8ec59e16..dce0e081 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -5,5 +5,6 @@ ./animate # ./base16 # NOTE: configured in theme/ ./basics + ./bracketed ]; } From beedffcb5be18e0f2e813252412e0f84a4e44bb4 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:17:05 +0100 Subject: [PATCH 072/202] mini/bufremove: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/bufremove/bufremove.nix | 13 +++++++++++++ modules/plugins/mini/bufremove/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/bufremove/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/bufremove/bufremove.nix create mode 100644 modules/plugins/mini/bufremove/config.nix create mode 100644 modules/plugins/mini/bufremove/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 3d55f630..5624aa07 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -60,6 +60,7 @@ - `mini.base16` - `mini.basics` - `mini.bracketed` + - `mini.bufremove` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 5fe53f6a..d5305234 100644 --- a/flake.lock +++ b/flake.lock @@ -1032,6 +1032,22 @@ "type": "github" } }, + "plugin-mini-bufremove": { + "flake": false, + "locked": { + "lastModified": 1730726192, + "narHash": "sha256-CB6ZIlrCQlh2W44Knnb10REDcvj4jcYkW/9CiOaoH2E=", + "owner": "echasnovski", + "repo": "mini.bufremove", + "rev": "285bdac9596ee7375db50c0f76ed04336dcd2685", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.bufremove", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2234,6 +2250,7 @@ "plugin-mini-base16": "plugin-mini-base16", "plugin-mini-basics": "plugin-mini-basics", "plugin-mini-bracketed": "plugin-mini-bracketed", + "plugin-mini-bufremove": "plugin-mini-bufremove", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 2875a010..01f9bead 100644 --- a/flake.nix +++ b/flake.nix @@ -775,5 +775,10 @@ url = "github:echasnovski/mini.bracketed"; flake = false; }; + + plugin-mini-bufremove = { + url = "github:echasnovski/mini.bufremove"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/bufremove/bufremove.nix b/modules/plugins/mini/bufremove/bufremove.nix new file mode 100644 index 00000000..79b84936 --- /dev/null +++ b/modules/plugins/mini/bufremove/bufremove.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.bufremove = { + enable = mkEnableOption "mini.bufremove"; + setupOpts = mkPluginSetupOption "mini.bufremove" {}; + }; +} diff --git a/modules/plugins/mini/bufremove/config.nix b/modules/plugins/mini/bufremove/config.nix new file mode 100644 index 00000000..b65b261a --- /dev/null +++ b/modules/plugins/mini/bufremove/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.bufremove; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-bufremove"]; + + pluginRC.mini-bufremove = entryAnywhere '' + require("mini.bufremove").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/bufremove/default.nix b/modules/plugins/mini/bufremove/default.nix new file mode 100644 index 00000000..7f4e79f9 --- /dev/null +++ b/modules/plugins/mini/bufremove/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./bufremove.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index dce0e081..da5ccb83 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -6,5 +6,6 @@ # ./base16 # NOTE: configured in theme/ ./basics ./bracketed + ./bufremove ]; } From 3d47d3f8c3b2c0bd9eb3de0588343003736a6f39 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:19:20 +0100 Subject: [PATCH 073/202] mini/clue: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/clue/clue.nix | 13 +++++++++++++ modules/plugins/mini/clue/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/clue/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/clue/clue.nix create mode 100644 modules/plugins/mini/clue/config.nix create mode 100644 modules/plugins/mini/clue/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 5624aa07..559c4c4b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -61,6 +61,7 @@ - `mini.basics` - `mini.bracketed` - `mini.bufremove` + - `mini.clue` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index d5305234..238f06b8 100644 --- a/flake.lock +++ b/flake.lock @@ -1048,6 +1048,22 @@ "type": "github" } }, + "plugin-mini-clue": { + "flake": false, + "locked": { + "lastModified": 1737130586, + "narHash": "sha256-/0DpZV/jXuhaqBz5j4JN3xmofATlwPMHNSm/uTXALg0=", + "owner": "echasnovski", + "repo": "mini.clue", + "rev": "63e42dad781b9ed4845d90ef1da8c52dfb6dce3f", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.clue", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2251,6 +2267,7 @@ "plugin-mini-basics": "plugin-mini-basics", "plugin-mini-bracketed": "plugin-mini-bracketed", "plugin-mini-bufremove": "plugin-mini-bufremove", + "plugin-mini-clue": "plugin-mini-clue", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 01f9bead..b88b9d8a 100644 --- a/flake.nix +++ b/flake.nix @@ -780,5 +780,10 @@ url = "github:echasnovski/mini.bufremove"; flake = false; }; + + plugin-mini-clue = { + url = "github:echasnovski/mini.clue"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/clue/clue.nix b/modules/plugins/mini/clue/clue.nix new file mode 100644 index 00000000..de4cf2ee --- /dev/null +++ b/modules/plugins/mini/clue/clue.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.clue = { + enable = mkEnableOption "mini.clue"; + setupOpts = mkPluginSetupOption "mini.clue" {}; + }; +} diff --git a/modules/plugins/mini/clue/config.nix b/modules/plugins/mini/clue/config.nix new file mode 100644 index 00000000..efdc2946 --- /dev/null +++ b/modules/plugins/mini/clue/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.clue; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-clue"]; + + pluginRC.mini-clue = entryAnywhere '' + require("mini.clue").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/clue/default.nix b/modules/plugins/mini/clue/default.nix new file mode 100644 index 00000000..55ac57e7 --- /dev/null +++ b/modules/plugins/mini/clue/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./clue.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index da5ccb83..8c3a9a4a 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -7,5 +7,6 @@ ./basics ./bracketed ./bufremove + ./clue ]; } From 86fc7a3764b9bb3d328284bdbec4dd25cee7175d Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:23:03 +0100 Subject: [PATCH 074/202] mini/colors: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/colors/colors.nix | 11 +++++++++++ modules/plugins/mini/colors/config.nix | 18 ++++++++++++++++++ modules/plugins/mini/colors/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + 7 files changed, 59 insertions(+) create mode 100644 modules/plugins/mini/colors/colors.nix create mode 100644 modules/plugins/mini/colors/config.nix create mode 100644 modules/plugins/mini/colors/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 559c4c4b..16bae05c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -62,6 +62,7 @@ - `mini.bracketed` - `mini.bufremove` - `mini.clue` + - `mini.colors` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 238f06b8..5ff55331 100644 --- a/flake.lock +++ b/flake.lock @@ -1064,6 +1064,22 @@ "type": "github" } }, + "plugin-mini-colors": { + "flake": false, + "locked": { + "lastModified": 1730726192, + "narHash": "sha256-B2JahCUhKpYwOJrl+BhSp3UQFiyyMGJAYKGK+uMv3fk=", + "owner": "echasnovski", + "repo": "mini.colors", + "rev": "d64b1c0f520579d905f97208eca85329e664ab88", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.colors", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2268,6 +2284,7 @@ "plugin-mini-bracketed": "plugin-mini-bracketed", "plugin-mini-bufremove": "plugin-mini-bufremove", "plugin-mini-clue": "plugin-mini-clue", + "plugin-mini-colors": "plugin-mini-colors", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index b88b9d8a..11d9a5a3 100644 --- a/flake.nix +++ b/flake.nix @@ -785,5 +785,10 @@ url = "github:echasnovski/mini.clue"; flake = false; }; + + plugin-mini-colors = { + url = "github:echasnovski/mini.colors"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/colors/colors.nix b/modules/plugins/mini/colors/colors.nix new file mode 100644 index 00000000..81fe5840 --- /dev/null +++ b/modules/plugins/mini/colors/colors.nix @@ -0,0 +1,11 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; +in { + options.vim.mini.colors = { + enable = mkEnableOption "mini.colors"; + }; +} diff --git a/modules/plugins/mini/colors/config.nix b/modules/plugins/mini/colors/config.nix new file mode 100644 index 00000000..60953c16 --- /dev/null +++ b/modules/plugins/mini/colors/config.nix @@ -0,0 +1,18 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + + cfg = config.vim.mini.colors; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-colors"]; + + pluginRC.mini-colors = entryAnywhere '' + require("mini.colors").setup() + ''; + }; +} diff --git a/modules/plugins/mini/colors/default.nix b/modules/plugins/mini/colors/default.nix new file mode 100644 index 00000000..4eed4770 --- /dev/null +++ b/modules/plugins/mini/colors/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./colors.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 8c3a9a4a..748cd2f8 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -8,5 +8,6 @@ ./bracketed ./bufremove ./clue + ./colors ]; } From 68483183c11d6303e559567f63b8490d92892a02 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:25:56 +0100 Subject: [PATCH 075/202] mini/comment: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/comment/comment.nix | 13 +++++++++++++ modules/plugins/mini/comment/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/comment/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/comment/comment.nix create mode 100644 modules/plugins/mini/comment/config.nix create mode 100644 modules/plugins/mini/comment/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 16bae05c..a9c796f1 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -63,6 +63,7 @@ - `mini.bufremove` - `mini.clue` - `mini.colors` + - `mini.comment` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 5ff55331..9a0a76b1 100644 --- a/flake.lock +++ b/flake.lock @@ -1080,6 +1080,22 @@ "type": "github" } }, + "plugin-mini-comment": { + "flake": false, + "locked": { + "lastModified": 1736611383, + "narHash": "sha256-vAgBDSVtXCP+rlu+cmXdoZQBGShyH7KfL8E/gvDMfnM=", + "owner": "echasnovski", + "repo": "mini.comment", + "rev": "6e1f9a8ebbf6f693fa3787ceda8ca3bf3cb6aec7", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.comment", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2285,6 +2301,7 @@ "plugin-mini-bufremove": "plugin-mini-bufremove", "plugin-mini-clue": "plugin-mini-clue", "plugin-mini-colors": "plugin-mini-colors", + "plugin-mini-comment": "plugin-mini-comment", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 11d9a5a3..ef61bd9c 100644 --- a/flake.nix +++ b/flake.nix @@ -790,5 +790,10 @@ url = "github:echasnovski/mini.colors"; flake = false; }; + + plugin-mini-comment = { + url = "github:echasnovski/mini.comment"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/comment/comment.nix b/modules/plugins/mini/comment/comment.nix new file mode 100644 index 00000000..2231a360 --- /dev/null +++ b/modules/plugins/mini/comment/comment.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.comment = { + enable = mkEnableOption "mini.comment"; + setupOpts = mkPluginSetupOption "mini.comment" {}; + }; +} diff --git a/modules/plugins/mini/comment/config.nix b/modules/plugins/mini/comment/config.nix new file mode 100644 index 00000000..7babd8a9 --- /dev/null +++ b/modules/plugins/mini/comment/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.comment; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-comment"]; + + pluginRC.mini-comment = entryAnywhere '' + require("mini.comment").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/comment/default.nix b/modules/plugins/mini/comment/default.nix new file mode 100644 index 00000000..0a0e6d99 --- /dev/null +++ b/modules/plugins/mini/comment/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./comment.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 748cd2f8..dd3bbf58 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -9,5 +9,6 @@ ./bufremove ./clue ./colors + ./comment ]; } From 887e563076a1a1c33fafc2c1b98dcf7a01c5ac7b Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:28:07 +0100 Subject: [PATCH 076/202] mini/completion: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ .../plugins/mini/completion/completion.nix | 13 +++++++++++++ modules/plugins/mini/completion/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/completion/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/completion/completion.nix create mode 100644 modules/plugins/mini/completion/config.nix create mode 100644 modules/plugins/mini/completion/default.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a9c796f1..ea0f7d50 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -64,6 +64,7 @@ - `mini.clue` - `mini.colors` - `mini.comment` + - `mini.completion` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 9a0a76b1..86ca362b 100644 --- a/flake.lock +++ b/flake.lock @@ -1096,6 +1096,22 @@ "type": "github" } }, + "plugin-mini-completion": { + "flake": false, + "locked": { + "lastModified": 1732271068, + "narHash": "sha256-dlQCfHUQX9rPiSYZSRipezHX0CG/redbV2g7cpwwExY=", + "owner": "echasnovski", + "repo": "mini.completion", + "rev": "6eb9546685c4e1c4af2365b87166d4afa39d8a1b", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.completion", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2302,6 +2318,7 @@ "plugin-mini-clue": "plugin-mini-clue", "plugin-mini-colors": "plugin-mini-colors", "plugin-mini-comment": "plugin-mini-comment", + "plugin-mini-completion": "plugin-mini-completion", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index ef61bd9c..87b54693 100644 --- a/flake.nix +++ b/flake.nix @@ -795,5 +795,10 @@ url = "github:echasnovski/mini.comment"; flake = false; }; + + plugin-mini-completion = { + url = "github:echasnovski/mini.completion"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/completion/completion.nix b/modules/plugins/mini/completion/completion.nix new file mode 100644 index 00000000..a5f8caa5 --- /dev/null +++ b/modules/plugins/mini/completion/completion.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.completion = { + enable = mkEnableOption "mini.completion"; + setupOpts = mkPluginSetupOption "mini.completion" {}; + }; +} diff --git a/modules/plugins/mini/completion/config.nix b/modules/plugins/mini/completion/config.nix new file mode 100644 index 00000000..e0d0b904 --- /dev/null +++ b/modules/plugins/mini/completion/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.completion; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-completion"]; + + pluginRC.mini-completion = entryAnywhere '' + require("mini.completion").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/completion/default.nix b/modules/plugins/mini/completion/default.nix new file mode 100644 index 00000000..1251f751 --- /dev/null +++ b/modules/plugins/mini/completion/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./completion.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index dd3bbf58..0564a46a 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -10,5 +10,6 @@ ./clue ./colors ./comment + ./completion ]; } From 4b4423af91d2ba6600752cb64e28dfb8749e5f07 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 19:32:56 +0100 Subject: [PATCH 077/202] mini/diff: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/diff/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/diff/default.nix | 6 ++++++ modules/plugins/mini/diff/diff.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/diff/config.nix create mode 100644 modules/plugins/mini/diff/default.nix create mode 100644 modules/plugins/mini/diff/diff.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index ea0f7d50..54ce0492 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -65,6 +65,7 @@ - `mini.colors` - `mini.comment` - `mini.completion` + - `mini.diff` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 86ca362b..37011895 100644 --- a/flake.lock +++ b/flake.lock @@ -1112,6 +1112,22 @@ "type": "github" } }, + "plugin-mini-diff": { + "flake": false, + "locked": { + "lastModified": 1735324663, + "narHash": "sha256-dRvW/1lfVShiHmRU0mQA5g5xDyQ0EVtVLLZ0y6WSedg=", + "owner": "echasnovski", + "repo": "mini.diff", + "rev": "00f072250061ef498f91ed226918c9ec31a416a4", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.diff", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2319,6 +2335,7 @@ "plugin-mini-colors": "plugin-mini-colors", "plugin-mini-comment": "plugin-mini-comment", "plugin-mini-completion": "plugin-mini-completion", + "plugin-mini-diff": "plugin-mini-diff", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 87b54693..36ca93c5 100644 --- a/flake.nix +++ b/flake.nix @@ -800,5 +800,10 @@ url = "github:echasnovski/mini.completion"; flake = false; }; + + plugin-mini-diff = { + url = "github:echasnovski/mini.diff"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 0564a46a..b8e665bf 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -11,5 +11,6 @@ ./colors ./comment ./completion + ./diff ]; } diff --git a/modules/plugins/mini/diff/config.nix b/modules/plugins/mini/diff/config.nix new file mode 100644 index 00000000..6c5969f6 --- /dev/null +++ b/modules/plugins/mini/diff/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.diff; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-diff"]; + + pluginRC.mini-diff = entryAnywhere '' + require("mini.diff").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/diff/default.nix b/modules/plugins/mini/diff/default.nix new file mode 100644 index 00000000..c77c8c67 --- /dev/null +++ b/modules/plugins/mini/diff/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./diff.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/diff/diff.nix b/modules/plugins/mini/diff/diff.nix new file mode 100644 index 00000000..8438cec9 --- /dev/null +++ b/modules/plugins/mini/diff/diff.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.diff = { + enable = mkEnableOption "mini.diff"; + setupOpts = mkPluginSetupOption "mini.diff" {}; + }; +} From 753eb3e99d3de030ee0030624f2f32d1c308aed0 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:14:59 +0100 Subject: [PATCH 078/202] mini/doc: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/doc/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/doc/default.nix | 6 ++++++ modules/plugins/mini/doc/doc.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/doc/config.nix create mode 100644 modules/plugins/mini/doc/default.nix create mode 100644 modules/plugins/mini/doc/doc.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 54ce0492..51a9d8db 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -66,6 +66,7 @@ - `mini.comment` - `mini.completion` - `mini.diff` + - `mini.doc` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 37011895..3ddb9ac8 100644 --- a/flake.lock +++ b/flake.lock @@ -1128,6 +1128,22 @@ "type": "github" } }, + "plugin-mini-doc": { + "flake": false, + "locked": { + "lastModified": 1723308950, + "narHash": "sha256-Q3DAEV1ZHS+lFhZKFCNoIjn41ksk7WRrVP2b2d6uSss=", + "owner": "echasnovski", + "repo": "mini.doc", + "rev": "bb73a3d1ff390f7e2740027ea2567017099a237c", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.doc", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2336,6 +2352,7 @@ "plugin-mini-comment": "plugin-mini-comment", "plugin-mini-completion": "plugin-mini-completion", "plugin-mini-diff": "plugin-mini-diff", + "plugin-mini-doc": "plugin-mini-doc", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 36ca93c5..7e8323ed 100644 --- a/flake.nix +++ b/flake.nix @@ -805,5 +805,10 @@ url = "github:echasnovski/mini.diff"; flake = false; }; + + plugin-mini-doc = { + url = "github:echasnovski/mini.doc"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index b8e665bf..fb4f7000 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -12,5 +12,6 @@ ./comment ./completion ./diff + ./doc ]; } diff --git a/modules/plugins/mini/doc/config.nix b/modules/plugins/mini/doc/config.nix new file mode 100644 index 00000000..e9df43b8 --- /dev/null +++ b/modules/plugins/mini/doc/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.doc; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-doc"]; + + pluginRC.mini-doc = entryAnywhere '' + require("mini.doc").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/doc/default.nix b/modules/plugins/mini/doc/default.nix new file mode 100644 index 00000000..bccfa883 --- /dev/null +++ b/modules/plugins/mini/doc/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./doc.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/doc/doc.nix b/modules/plugins/mini/doc/doc.nix new file mode 100644 index 00000000..f1e65730 --- /dev/null +++ b/modules/plugins/mini/doc/doc.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.doc = { + enable = mkEnableOption "mini.doc"; + setupOpts = mkPluginSetupOption "mini.doc" {}; + }; +} From 3533d5bcbd76bb3eb0f48ca9b44f4cca1e147e94 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:17:19 +0100 Subject: [PATCH 079/202] mini/extra: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/extra/config.nix | 18 ++++++++++++++++++ modules/plugins/mini/extra/default.nix | 6 ++++++ modules/plugins/mini/extra/extra.nix | 11 +++++++++++ 7 files changed, 59 insertions(+) create mode 100644 modules/plugins/mini/extra/config.nix create mode 100644 modules/plugins/mini/extra/default.nix create mode 100644 modules/plugins/mini/extra/extra.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 51a9d8db..0e87c9c5 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -67,6 +67,7 @@ - `mini.completion` - `mini.diff` - `mini.doc` + - `mini.extra` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 3ddb9ac8..7442f67e 100644 --- a/flake.lock +++ b/flake.lock @@ -1144,6 +1144,22 @@ "type": "github" } }, + "plugin-mini-extra": { + "flake": false, + "locked": { + "lastModified": 1736279066, + "narHash": "sha256-lUJrviUjAmJ70g2y93aNw3e1mHGHoB9lbh44HGP7zQs=", + "owner": "echasnovski", + "repo": "mini.extra", + "rev": "477e3dda7b597b49bc1373951ea7da4da834c352", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.extra", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2353,6 +2369,7 @@ "plugin-mini-completion": "plugin-mini-completion", "plugin-mini-diff": "plugin-mini-diff", "plugin-mini-doc": "plugin-mini-doc", + "plugin-mini-extra": "plugin-mini-extra", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 7e8323ed..ca26f859 100644 --- a/flake.nix +++ b/flake.nix @@ -810,5 +810,10 @@ url = "github:echasnovski/mini.doc"; flake = false; }; + + plugin-mini-extra = { + url = "github:echasnovski/mini.extra"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index fb4f7000..d945a222 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -13,5 +13,6 @@ ./completion ./diff ./doc + ./extra ]; } diff --git a/modules/plugins/mini/extra/config.nix b/modules/plugins/mini/extra/config.nix new file mode 100644 index 00000000..c430847d --- /dev/null +++ b/modules/plugins/mini/extra/config.nix @@ -0,0 +1,18 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + + cfg = config.vim.mini.extra; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-extra"]; + + pluginRC.mini-extra = entryAnywhere '' + require("mini.extra").setup() + ''; + }; +} diff --git a/modules/plugins/mini/extra/default.nix b/modules/plugins/mini/extra/default.nix new file mode 100644 index 00000000..73992e72 --- /dev/null +++ b/modules/plugins/mini/extra/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./extra.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/extra/extra.nix b/modules/plugins/mini/extra/extra.nix new file mode 100644 index 00000000..c57e6cdc --- /dev/null +++ b/modules/plugins/mini/extra/extra.nix @@ -0,0 +1,11 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; +in { + options.vim.mini.extra = { + enable = mkEnableOption "mini.extra"; + }; +} From 7472cac221bbd7777c7ad832d5883013e6279ae0 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:19:02 +0100 Subject: [PATCH 080/202] mini/files: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/files/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/files/default.nix | 6 ++++++ modules/plugins/mini/files/files.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/files/config.nix create mode 100644 modules/plugins/mini/files/default.nix create mode 100644 modules/plugins/mini/files/files.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 0e87c9c5..1d76bfa2 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -68,6 +68,7 @@ - `mini.diff` - `mini.doc` - `mini.extra` + - `mini.files` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 7442f67e..c8652ec2 100644 --- a/flake.lock +++ b/flake.lock @@ -1160,6 +1160,22 @@ "type": "github" } }, + "plugin-mini-files": { + "flake": false, + "locked": { + "lastModified": 1736535707, + "narHash": "sha256-UHW78m4BiYMMrABwdkyyzQUENgQrVFbWJnmNdRMtr0w=", + "owner": "echasnovski", + "repo": "mini.files", + "rev": "d0f03a5c38836fd2cce3dc80734124959002078c", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.files", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2370,6 +2386,7 @@ "plugin-mini-diff": "plugin-mini-diff", "plugin-mini-doc": "plugin-mini-doc", "plugin-mini-extra": "plugin-mini-extra", + "plugin-mini-files": "plugin-mini-files", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index ca26f859..ea1d9e90 100644 --- a/flake.nix +++ b/flake.nix @@ -815,5 +815,10 @@ url = "github:echasnovski/mini.extra"; flake = false; }; + + plugin-mini-files = { + url = "github:echasnovski/mini.files"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index d945a222..515b5cb4 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -14,5 +14,6 @@ ./diff ./doc ./extra + ./files ]; } diff --git a/modules/plugins/mini/files/config.nix b/modules/plugins/mini/files/config.nix new file mode 100644 index 00000000..eb195f8d --- /dev/null +++ b/modules/plugins/mini/files/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.files; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-files"]; + + pluginRC.mini-files = entryAnywhere '' + require("mini.files").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/files/default.nix b/modules/plugins/mini/files/default.nix new file mode 100644 index 00000000..6c0ebbc0 --- /dev/null +++ b/modules/plugins/mini/files/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./files.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/files/files.nix b/modules/plugins/mini/files/files.nix new file mode 100644 index 00000000..f9c3f8ca --- /dev/null +++ b/modules/plugins/mini/files/files.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.files = { + enable = mkEnableOption "mini.files"; + setupOpts = mkPluginSetupOption "mini.files" {}; + }; +} From 173ea3f43cfe16640dfa810170177a8e6c2cf105 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:21:12 +0100 Subject: [PATCH 081/202] mini/fuzzy: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/fuzzy/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/fuzzy/default.nix | 6 ++++++ modules/plugins/mini/fuzzy/fuzzy.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/fuzzy/config.nix create mode 100644 modules/plugins/mini/fuzzy/default.nix create mode 100644 modules/plugins/mini/fuzzy/fuzzy.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1d76bfa2..5c0fb555 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -69,6 +69,7 @@ - `mini.doc` - `mini.extra` - `mini.files` + - `mini.fuzzy` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index c8652ec2..7ac9b0e5 100644 --- a/flake.lock +++ b/flake.lock @@ -1176,6 +1176,22 @@ "type": "github" } }, + "plugin-mini-fuzzy": { + "flake": false, + "locked": { + "lastModified": 1730726192, + "narHash": "sha256-XvDkDfwPcBxySuz58f2mpWTeo8EsOnMvZUcNI8HNZg8=", + "owner": "echasnovski", + "repo": "mini.fuzzy", + "rev": "faa5a6c0d29c28012c90bd011162963a58715428", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.fuzzy", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2387,6 +2403,7 @@ "plugin-mini-doc": "plugin-mini-doc", "plugin-mini-extra": "plugin-mini-extra", "plugin-mini-files": "plugin-mini-files", + "plugin-mini-fuzzy": "plugin-mini-fuzzy", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index ea1d9e90..73eef497 100644 --- a/flake.nix +++ b/flake.nix @@ -820,5 +820,10 @@ url = "github:echasnovski/mini.files"; flake = false; }; + + plugin-mini-fuzzy = { + url = "github:echasnovski/mini.fuzzy"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 515b5cb4..69dd8ce6 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -15,5 +15,6 @@ ./doc ./extra ./files + ./fuzzy ]; } diff --git a/modules/plugins/mini/fuzzy/config.nix b/modules/plugins/mini/fuzzy/config.nix new file mode 100644 index 00000000..0397f4b9 --- /dev/null +++ b/modules/plugins/mini/fuzzy/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.fuzzy; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-fuzzy"]; + + pluginRC.mini-fuzzy = entryAnywhere '' + require("mini.fuzzy").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/fuzzy/default.nix b/modules/plugins/mini/fuzzy/default.nix new file mode 100644 index 00000000..126d348f --- /dev/null +++ b/modules/plugins/mini/fuzzy/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./fuzzy.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/fuzzy/fuzzy.nix b/modules/plugins/mini/fuzzy/fuzzy.nix new file mode 100644 index 00000000..c5c486fc --- /dev/null +++ b/modules/plugins/mini/fuzzy/fuzzy.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.fuzzy = { + enable = mkEnableOption "mini.fuzzy"; + setupOpts = mkPluginSetupOption "mini.fuzzy" {}; + }; +} From c4905362303a735a951d6afc9c6d6b5e75f9096c Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:23:40 +0100 Subject: [PATCH 082/202] mini/git: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/git/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/git/default.nix | 6 ++++++ modules/plugins/mini/git/git.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/git/config.nix create mode 100644 modules/plugins/mini/git/default.nix create mode 100644 modules/plugins/mini/git/git.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 5c0fb555..a2bc984e 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -70,6 +70,7 @@ - `mini.extra` - `mini.files` - `mini.fuzzy` + - `mini.git` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 7ac9b0e5..5feff935 100644 --- a/flake.lock +++ b/flake.lock @@ -1192,6 +1192,22 @@ "type": "github" } }, + "plugin-mini-git": { + "flake": false, + "locked": { + "lastModified": 1736535710, + "narHash": "sha256-rXuKopyZBCBbpKuytCdm8keruSNK1ohk2NdeZv1wifI=", + "owner": "echasnovski", + "repo": "mini-git", + "rev": "fc13dde6cfe87cf25a4fd1ee177c0d157468436b", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini-git", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2404,6 +2420,7 @@ "plugin-mini-extra": "plugin-mini-extra", "plugin-mini-files": "plugin-mini-files", "plugin-mini-fuzzy": "plugin-mini-fuzzy", + "plugin-mini-git": "plugin-mini-git", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 73eef497..519fc5dd 100644 --- a/flake.nix +++ b/flake.nix @@ -825,5 +825,10 @@ url = "github:echasnovski/mini.fuzzy"; flake = false; }; + + plugin-mini-git = { + url = "github:echasnovski/mini-git"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 69dd8ce6..df37de8e 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -16,5 +16,6 @@ ./extra ./files ./fuzzy + ./git ]; } diff --git a/modules/plugins/mini/git/config.nix b/modules/plugins/mini/git/config.nix new file mode 100644 index 00000000..41a3d6cb --- /dev/null +++ b/modules/plugins/mini/git/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.git; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-git"]; + + pluginRC.mini-git = entryAnywhere '' + require("mini.git").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/git/default.nix b/modules/plugins/mini/git/default.nix new file mode 100644 index 00000000..e7622aa0 --- /dev/null +++ b/modules/plugins/mini/git/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./git.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/git/git.nix b/modules/plugins/mini/git/git.nix new file mode 100644 index 00000000..f77a7502 --- /dev/null +++ b/modules/plugins/mini/git/git.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.git = { + enable = mkEnableOption "mini.git"; + setupOpts = mkPluginSetupOption "mini.git" {}; + }; +} From fca63ede6c94f617ac2edb2539b76c51bf6f87c3 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:26:09 +0100 Subject: [PATCH 083/202] mini/hipatterns: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/hipatterns/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/hipatterns/default.nix | 6 ++++++ .../plugins/mini/hipatterns/hipatterns.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/hipatterns/config.nix create mode 100644 modules/plugins/mini/hipatterns/default.nix create mode 100644 modules/plugins/mini/hipatterns/hipatterns.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a2bc984e..25fa9b5f 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -71,6 +71,7 @@ - `mini.files` - `mini.fuzzy` - `mini.git` + - `mini.hipatterns` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 5feff935..1fc26c13 100644 --- a/flake.lock +++ b/flake.lock @@ -1208,6 +1208,22 @@ "type": "github" } }, + "plugin-mini-hipatterns": { + "flake": false, + "locked": { + "lastModified": 1733141274, + "narHash": "sha256-zJ8OMzfcBh9NtSg2FHDjB5DFX9C2qZRo8t8lc097sCI=", + "owner": "echasnovski", + "repo": "mini.hipatterns", + "rev": "f34975103a38b3f608219a1324cdfc58ea660b8b", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.hipatterns", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2421,6 +2437,7 @@ "plugin-mini-files": "plugin-mini-files", "plugin-mini-fuzzy": "plugin-mini-fuzzy", "plugin-mini-git": "plugin-mini-git", + "plugin-mini-hipatterns": "plugin-mini-hipatterns", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 519fc5dd..c2bc4ade 100644 --- a/flake.nix +++ b/flake.nix @@ -830,5 +830,10 @@ url = "github:echasnovski/mini-git"; flake = false; }; + + plugin-mini-hipatterns = { + url = "github:echasnovski/mini.hipatterns"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index df37de8e..bc18dbbc 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -17,5 +17,6 @@ ./files ./fuzzy ./git + ./hipatterns ]; } diff --git a/modules/plugins/mini/hipatterns/config.nix b/modules/plugins/mini/hipatterns/config.nix new file mode 100644 index 00000000..37876778 --- /dev/null +++ b/modules/plugins/mini/hipatterns/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.hipatterns; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-hipatterns"]; + + pluginRC.mini-hipatterns = entryAnywhere '' + require("mini.hipatterns").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/hipatterns/default.nix b/modules/plugins/mini/hipatterns/default.nix new file mode 100644 index 00000000..29cd9d7f --- /dev/null +++ b/modules/plugins/mini/hipatterns/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hipatterns.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/hipatterns/hipatterns.nix b/modules/plugins/mini/hipatterns/hipatterns.nix new file mode 100644 index 00000000..31921a89 --- /dev/null +++ b/modules/plugins/mini/hipatterns/hipatterns.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.hipatterns = { + enable = mkEnableOption "mini.hipatterns"; + setupOpts = mkPluginSetupOption "mini.hipatterns" {}; + }; +} From 755052cea97f1cc7475a2ca121602f0a98147f07 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:32:10 +0100 Subject: [PATCH 084/202] mini/hues: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 ++++++++++++++ flake.nix | 5 ++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/hues/config.nix | 19 +++++++++++++++ modules/plugins/mini/hues/default.nix | 6 +++++ modules/plugins/mini/hues/hues.nix | 33 +++++++++++++++++++++++++++ 7 files changed, 82 insertions(+) create mode 100644 modules/plugins/mini/hues/config.nix create mode 100644 modules/plugins/mini/hues/default.nix create mode 100644 modules/plugins/mini/hues/hues.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 25fa9b5f..1c843924 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -72,6 +72,7 @@ - `mini.fuzzy` - `mini.git` - `mini.hipatterns` + - `mini.hues` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 1fc26c13..edb5d0c2 100644 --- a/flake.lock +++ b/flake.lock @@ -1224,6 +1224,22 @@ "type": "github" } }, + "plugin-mini-hues": { + "flake": false, + "locked": { + "lastModified": 1734960100, + "narHash": "sha256-4y79ejOkRL/fajZ4jC8t4K6EgNbnTsH++mIjmo6G3q0=", + "owner": "echasnovski", + "repo": "mini.hues", + "rev": "ae6ad4c666ff42c1102344fe1eba18bb486f2e46", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.hues", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2438,6 +2454,7 @@ "plugin-mini-fuzzy": "plugin-mini-fuzzy", "plugin-mini-git": "plugin-mini-git", "plugin-mini-hipatterns": "plugin-mini-hipatterns", + "plugin-mini-hues": "plugin-mini-hues", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index c2bc4ade..98057d45 100644 --- a/flake.nix +++ b/flake.nix @@ -835,5 +835,10 @@ url = "github:echasnovski/mini.hipatterns"; flake = false; }; + + plugin-mini-hues = { + url = "github:echasnovski/mini.hues"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index bc18dbbc..39c05cfe 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -18,5 +18,6 @@ ./fuzzy ./git ./hipatterns + ./hues ]; } diff --git a/modules/plugins/mini/hues/config.nix b/modules/plugins/mini/hues/config.nix new file mode 100644 index 00000000..90eea737 --- /dev/null +++ b/modules/plugins/mini/hues/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.hues; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-hues"]; + + pluginRC.mini-hues = entryAnywhere '' + require("mini.hues").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/hues/default.nix b/modules/plugins/mini/hues/default.nix new file mode 100644 index 00000000..3eba39a6 --- /dev/null +++ b/modules/plugins/mini/hues/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hues.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/hues/hues.nix b/modules/plugins/mini/hues/hues.nix new file mode 100644 index 00000000..f848923a --- /dev/null +++ b/modules/plugins/mini/hues/hues.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.strings) hasPrefix; + inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.nvim.types) hexColor; +in { + options.vim.mini.hues = { + enable = mkEnableOption "mini.hues"; + setupOpts = mkPluginSetupOption "mini.hues" { + background = mkOption { + description = "The background color to use"; + type = hexColor; + apply = v: + if hasPrefix "#" v + then v + else "#${v}"; + }; + + foreground = mkOption { + description = "The foreground color to use"; + type = hexColor; + apply = v: + if hasPrefix "#" v + then v + else "#${v}"; + }; + }; + }; +} From f31b2e06cb37df853b364eb1d95930ea383b193a Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:34:02 +0100 Subject: [PATCH 085/202] mini/icons: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/icons/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/icons/default.nix | 6 ++++++ modules/plugins/mini/icons/icons.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/icons/config.nix create mode 100644 modules/plugins/mini/icons/default.nix create mode 100644 modules/plugins/mini/icons/icons.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1c843924..e9c1300d 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -73,6 +73,7 @@ - `mini.git` - `mini.hipatterns` - `mini.hues` + - `mini.icons` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index edb5d0c2..13ed65d9 100644 --- a/flake.lock +++ b/flake.lock @@ -1240,6 +1240,22 @@ "type": "github" } }, + "plugin-mini-icons": { + "flake": false, + "locked": { + "lastModified": 1737036219, + "narHash": "sha256-w0PxiTj9uiUffZXkMM18IO/b/zPpdRKW9ydyhvXRoqE=", + "owner": "echasnovski", + "repo": "mini.icons", + "rev": "910db5df9724d65371182948f921fce23c2c881e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.icons", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2455,6 +2471,7 @@ "plugin-mini-git": "plugin-mini-git", "plugin-mini-hipatterns": "plugin-mini-hipatterns", "plugin-mini-hues": "plugin-mini-hues", + "plugin-mini-icons": "plugin-mini-icons", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 98057d45..cb820687 100644 --- a/flake.nix +++ b/flake.nix @@ -840,5 +840,10 @@ url = "github:echasnovski/mini.hues"; flake = false; }; + + plugin-mini-icons = { + url = "github:echasnovski/mini.icons"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 39c05cfe..23b12820 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -19,5 +19,6 @@ ./git ./hipatterns ./hues + ./icons ]; } diff --git a/modules/plugins/mini/icons/config.nix b/modules/plugins/mini/icons/config.nix new file mode 100644 index 00000000..aa446935 --- /dev/null +++ b/modules/plugins/mini/icons/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.icons; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-icons"]; + + pluginRC.mini-icons = entryAnywhere '' + require("mini.icons").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/icons/default.nix b/modules/plugins/mini/icons/default.nix new file mode 100644 index 00000000..f0b16ce8 --- /dev/null +++ b/modules/plugins/mini/icons/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./icons.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/icons/icons.nix b/modules/plugins/mini/icons/icons.nix new file mode 100644 index 00000000..096fa9c2 --- /dev/null +++ b/modules/plugins/mini/icons/icons.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.icons = { + enable = mkEnableOption "mini.icons"; + setupOpts = mkPluginSetupOption "mini.icons" {}; + }; +} From be7d94960538ebb5a0d89dec0b6db841ef435ee9 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:35:56 +0100 Subject: [PATCH 086/202] mini/indentscope: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/indentscope/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/indentscope/default.nix | 6 ++++++ .../plugins/mini/indentscope/indentscope.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/indentscope/config.nix create mode 100644 modules/plugins/mini/indentscope/default.nix create mode 100644 modules/plugins/mini/indentscope/indentscope.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e9c1300d..b87f6431 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -74,6 +74,7 @@ - `mini.hipatterns` - `mini.hues` - `mini.icons` + - `mini.indentscope` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 13ed65d9..a8d4c17d 100644 --- a/flake.lock +++ b/flake.lock @@ -1256,6 +1256,22 @@ "type": "github" } }, + "plugin-mini-indentscope": { + "flake": false, + "locked": { + "lastModified": 1737036220, + "narHash": "sha256-Mrzc7oHXxyEGqdE003qiC9unScyb7i5A6+l8Do7yxws=", + "owner": "echasnovski", + "repo": "mini.indentscope", + "rev": "613df2830d7faeae7483ba2e736683154b95921e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.indentscope", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2472,6 +2488,7 @@ "plugin-mini-hipatterns": "plugin-mini-hipatterns", "plugin-mini-hues": "plugin-mini-hues", "plugin-mini-icons": "plugin-mini-icons", + "plugin-mini-indentscope": "plugin-mini-indentscope", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index cb820687..cefd3a24 100644 --- a/flake.nix +++ b/flake.nix @@ -845,5 +845,10 @@ url = "github:echasnovski/mini.icons"; flake = false; }; + + plugin-mini-indentscope = { + url = "github:echasnovski/mini.indentscope"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 23b12820..73ff0951 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -20,5 +20,6 @@ ./hipatterns ./hues ./icons + ./indentscope ]; } diff --git a/modules/plugins/mini/indentscope/config.nix b/modules/plugins/mini/indentscope/config.nix new file mode 100644 index 00000000..2e6ec03d --- /dev/null +++ b/modules/plugins/mini/indentscope/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.indentscope; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-indentscope"]; + + pluginRC.mini-indentscope = entryAnywhere '' + require("mini.indentscope").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/indentscope/default.nix b/modules/plugins/mini/indentscope/default.nix new file mode 100644 index 00000000..487c248c --- /dev/null +++ b/modules/plugins/mini/indentscope/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./indentscope.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/indentscope/indentscope.nix b/modules/plugins/mini/indentscope/indentscope.nix new file mode 100644 index 00000000..8307a88c --- /dev/null +++ b/modules/plugins/mini/indentscope/indentscope.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.indentscope = { + enable = mkEnableOption "mini.indentscope"; + setupOpts = mkPluginSetupOption "mini.indentscope" {}; + }; +} From 36f535c4ef907cf629633b72b65a71c503bc226a Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:37:22 +0100 Subject: [PATCH 087/202] mini/jump: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/jump/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/jump/default.nix | 6 ++++++ modules/plugins/mini/jump/jump.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/jump/config.nix create mode 100644 modules/plugins/mini/jump/default.nix create mode 100644 modules/plugins/mini/jump/jump.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index b87f6431..243ade98 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -75,6 +75,7 @@ - `mini.hues` - `mini.icons` - `mini.indentscope` + - `mini.jump` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index a8d4c17d..f5c97e34 100644 --- a/flake.lock +++ b/flake.lock @@ -1272,6 +1272,22 @@ "type": "github" } }, + "plugin-mini-jump": { + "flake": false, + "locked": { + "lastModified": 1733662809, + "narHash": "sha256-qMP9ezk4xZov5S4vrUFM62lnc4YkEaZL1EVzdXwDq1Q=", + "owner": "echasnovski", + "repo": "mini.jump", + "rev": "bb93d998c9db6936697746330411f5fb9957145e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.jump", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2489,6 +2505,7 @@ "plugin-mini-hues": "plugin-mini-hues", "plugin-mini-icons": "plugin-mini-icons", "plugin-mini-indentscope": "plugin-mini-indentscope", + "plugin-mini-jump": "plugin-mini-jump", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index cefd3a24..f47e2324 100644 --- a/flake.nix +++ b/flake.nix @@ -850,5 +850,10 @@ url = "github:echasnovski/mini.indentscope"; flake = false; }; + + plugin-mini-jump = { + url = "github:echasnovski/mini.jump"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 73ff0951..11bb1ace 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -21,5 +21,6 @@ ./hues ./icons ./indentscope + ./jump ]; } diff --git a/modules/plugins/mini/jump/config.nix b/modules/plugins/mini/jump/config.nix new file mode 100644 index 00000000..665f96fd --- /dev/null +++ b/modules/plugins/mini/jump/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.jump; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-jump"]; + + pluginRC.mini-jump = entryAnywhere '' + require("mini.jump").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/jump/default.nix b/modules/plugins/mini/jump/default.nix new file mode 100644 index 00000000..cb1f9cb3 --- /dev/null +++ b/modules/plugins/mini/jump/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./jump.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/jump/jump.nix b/modules/plugins/mini/jump/jump.nix new file mode 100644 index 00000000..ca9563d3 --- /dev/null +++ b/modules/plugins/mini/jump/jump.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.jump = { + enable = mkEnableOption "mini.jump"; + setupOpts = mkPluginSetupOption "mini.jump" {}; + }; +} From e58472cee7077ecff39108e46ed23451f12f399a Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:39:31 +0100 Subject: [PATCH 088/202] mini/jump2d: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/jump2d/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/jump2d/default.nix | 6 ++++++ modules/plugins/mini/jump2d/jump2d.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/jump2d/config.nix create mode 100644 modules/plugins/mini/jump2d/default.nix create mode 100644 modules/plugins/mini/jump2d/jump2d.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 243ade98..62343038 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -76,6 +76,7 @@ - `mini.icons` - `mini.indentscope` - `mini.jump` + - `mini.jump2d` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index f5c97e34..4660fe7c 100644 --- a/flake.lock +++ b/flake.lock @@ -1288,6 +1288,22 @@ "type": "github" } }, + "plugin-mini-jump2d": { + "flake": false, + "locked": { + "lastModified": 1733662811, + "narHash": "sha256-+DihKCh6GYwin3H9YD+q30MLMRNXvvb1GtKnfBinGjc=", + "owner": "echasnovski", + "repo": "mini.jump2d", + "rev": "88077058297e80f1c76a18ed801ae9d7064187c6", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.jump2d", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2506,6 +2522,7 @@ "plugin-mini-icons": "plugin-mini-icons", "plugin-mini-indentscope": "plugin-mini-indentscope", "plugin-mini-jump": "plugin-mini-jump", + "plugin-mini-jump2d": "plugin-mini-jump2d", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index f47e2324..09baf235 100644 --- a/flake.nix +++ b/flake.nix @@ -855,5 +855,10 @@ url = "github:echasnovski/mini.jump"; flake = false; }; + + plugin-mini-jump2d = { + url = "github:echasnovski/mini.jump2d"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 11bb1ace..2f4683c6 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -22,5 +22,6 @@ ./icons ./indentscope ./jump + ./jump2d ]; } diff --git a/modules/plugins/mini/jump2d/config.nix b/modules/plugins/mini/jump2d/config.nix new file mode 100644 index 00000000..da4ba55f --- /dev/null +++ b/modules/plugins/mini/jump2d/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.jump2d; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-jump2d"]; + + pluginRC.mini-jump2d = entryAnywhere '' + require("mini.jump2d").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/jump2d/default.nix b/modules/plugins/mini/jump2d/default.nix new file mode 100644 index 00000000..9065e4d6 --- /dev/null +++ b/modules/plugins/mini/jump2d/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./jump2d.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/jump2d/jump2d.nix b/modules/plugins/mini/jump2d/jump2d.nix new file mode 100644 index 00000000..c25c6902 --- /dev/null +++ b/modules/plugins/mini/jump2d/jump2d.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.jump2d = { + enable = mkEnableOption "mini.jump2d"; + setupOpts = mkPluginSetupOption "mini.jump2d" {}; + }; +} From c9d39cb758d58dea234e559b527a669ae78a4be7 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:41:08 +0100 Subject: [PATCH 089/202] mini/map: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/map/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/map/default.nix | 6 ++++++ modules/plugins/mini/map/map.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/map/config.nix create mode 100644 modules/plugins/mini/map/default.nix create mode 100644 modules/plugins/mini/map/map.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 62343038..642dcc1b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -77,6 +77,7 @@ - `mini.indentscope` - `mini.jump` - `mini.jump2d` + - `mini.map` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 4660fe7c..4e9aec66 100644 --- a/flake.lock +++ b/flake.lock @@ -1304,6 +1304,22 @@ "type": "github" } }, + "plugin-mini-map": { + "flake": false, + "locked": { + "lastModified": 1725613927, + "narHash": "sha256-dL+d92+GLAILQ/A1JVCwoe3B5WtwVK01tPuC+fOTB5A=", + "owner": "echasnovski", + "repo": "mini.map", + "rev": "4c58e755d75f9999abcd3b3c6e934734b6a8b098", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.map", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2523,6 +2539,7 @@ "plugin-mini-indentscope": "plugin-mini-indentscope", "plugin-mini-jump": "plugin-mini-jump", "plugin-mini-jump2d": "plugin-mini-jump2d", + "plugin-mini-map": "plugin-mini-map", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 09baf235..75efb0d1 100644 --- a/flake.nix +++ b/flake.nix @@ -860,5 +860,10 @@ url = "github:echasnovski/mini.jump2d"; flake = false; }; + + plugin-mini-map = { + url = "github:echasnovski/mini.map"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 2f4683c6..f7c8cf8b 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -23,5 +23,6 @@ ./indentscope ./jump ./jump2d + ./map ]; } diff --git a/modules/plugins/mini/map/config.nix b/modules/plugins/mini/map/config.nix new file mode 100644 index 00000000..7a299eb8 --- /dev/null +++ b/modules/plugins/mini/map/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.map; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-map"]; + + pluginRC.mini-map = entryAnywhere '' + require("mini.map").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/map/default.nix b/modules/plugins/mini/map/default.nix new file mode 100644 index 00000000..71110431 --- /dev/null +++ b/modules/plugins/mini/map/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./map.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/map/map.nix b/modules/plugins/mini/map/map.nix new file mode 100644 index 00000000..554e2072 --- /dev/null +++ b/modules/plugins/mini/map/map.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.map = { + enable = mkEnableOption "mini.map"; + setupOpts = mkPluginSetupOption "mini.map" {}; + }; +} From 9a27dafe67076b07c888e00010d940e9766c1918 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:43:25 +0100 Subject: [PATCH 090/202] mini/misc: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/misc/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/misc/default.nix | 6 ++++++ modules/plugins/mini/misc/misc.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/misc/config.nix create mode 100644 modules/plugins/mini/misc/default.nix create mode 100644 modules/plugins/mini/misc/misc.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 642dcc1b..1d2308ab 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -78,6 +78,7 @@ - `mini.jump` - `mini.jump2d` - `mini.map` + - `mini.misc` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 4e9aec66..39acee39 100644 --- a/flake.lock +++ b/flake.lock @@ -1320,6 +1320,22 @@ "type": "github" } }, + "plugin-mini-misc": { + "flake": false, + "locked": { + "lastModified": 1734103112, + "narHash": "sha256-qnYa4IZk14MGZArmVpn15l+P9cwtFWomBVxRuYHVyXc=", + "owner": "echasnovski", + "repo": "mini.misc", + "rev": "645fb9367c19bb485902e54e5451425981498601", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.misc", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2540,6 +2556,7 @@ "plugin-mini-jump": "plugin-mini-jump", "plugin-mini-jump2d": "plugin-mini-jump2d", "plugin-mini-map": "plugin-mini-map", + "plugin-mini-misc": "plugin-mini-misc", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 75efb0d1..d6a57ee7 100644 --- a/flake.nix +++ b/flake.nix @@ -865,5 +865,10 @@ url = "github:echasnovski/mini.map"; flake = false; }; + + plugin-mini-misc = { + url = "github:echasnovski/mini.misc"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index f7c8cf8b..093ae3a4 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -24,5 +24,6 @@ ./jump ./jump2d ./map + ./misc ]; } diff --git a/modules/plugins/mini/misc/config.nix b/modules/plugins/mini/misc/config.nix new file mode 100644 index 00000000..9a9a6ae4 --- /dev/null +++ b/modules/plugins/mini/misc/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.misc; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-misc"]; + + pluginRC.mini-misc = entryAnywhere '' + require("mini.misc").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/misc/default.nix b/modules/plugins/mini/misc/default.nix new file mode 100644 index 00000000..9f64fd19 --- /dev/null +++ b/modules/plugins/mini/misc/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./misc.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/misc/misc.nix b/modules/plugins/mini/misc/misc.nix new file mode 100644 index 00000000..7b36e9fd --- /dev/null +++ b/modules/plugins/mini/misc/misc.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.misc = { + enable = mkEnableOption "mini.misc"; + setupOpts = mkPluginSetupOption "mini.misc" {}; + }; +} From 6060ae41829a548d317f5f08e239f4018bda4f07 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 20:57:49 +0100 Subject: [PATCH 091/202] mini/move: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/move/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/move/default.nix | 6 ++++++ modules/plugins/mini/move/move.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/move/config.nix create mode 100644 modules/plugins/mini/move/default.nix create mode 100644 modules/plugins/mini/move/move.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1d2308ab..824dc305 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -79,6 +79,7 @@ - `mini.jump2d` - `mini.map` - `mini.misc` + - `mini.move` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 39acee39..03d1e0b5 100644 --- a/flake.lock +++ b/flake.lock @@ -1336,6 +1336,22 @@ "type": "github" } }, + "plugin-mini-move": { + "flake": false, + "locked": { + "lastModified": 1723711319, + "narHash": "sha256-nX0eAlhMnKhAftgM6qeHUuawagumLQMPKDkqZNPLljg=", + "owner": "echasnovski", + "repo": "mini.move", + "rev": "4caa1c212f5ca3d1633d21cfb184808090ed74b1", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.move", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2557,6 +2573,7 @@ "plugin-mini-jump2d": "plugin-mini-jump2d", "plugin-mini-map": "plugin-mini-map", "plugin-mini-misc": "plugin-mini-misc", + "plugin-mini-move": "plugin-mini-move", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index d6a57ee7..def1cd8c 100644 --- a/flake.nix +++ b/flake.nix @@ -870,5 +870,10 @@ url = "github:echasnovski/mini.misc"; flake = false; }; + + plugin-mini-move = { + url = "github:echasnovski/mini.move"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 093ae3a4..a1c5a191 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -25,5 +25,6 @@ ./jump2d ./map ./misc + ./move ]; } diff --git a/modules/plugins/mini/move/config.nix b/modules/plugins/mini/move/config.nix new file mode 100644 index 00000000..8bf22526 --- /dev/null +++ b/modules/plugins/mini/move/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.move; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-move"]; + + pluginRC.mini-move = entryAnywhere '' + require("mini.move").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/move/default.nix b/modules/plugins/mini/move/default.nix new file mode 100644 index 00000000..83caee30 --- /dev/null +++ b/modules/plugins/mini/move/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./move.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/move/move.nix b/modules/plugins/mini/move/move.nix new file mode 100644 index 00000000..e97e837b --- /dev/null +++ b/modules/plugins/mini/move/move.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.move = { + enable = mkEnableOption "mini.move"; + setupOpts = mkPluginSetupOption "mini.move" {}; + }; +} From 2691dbd351666893ddb99363749c7dd32bad85aa Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:00:20 +0100 Subject: [PATCH 092/202] mini/notify: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/notify/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/notify/default.nix | 6 ++++++ modules/plugins/mini/notify/notify.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/notify/config.nix create mode 100644 modules/plugins/mini/notify/default.nix create mode 100644 modules/plugins/mini/notify/notify.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 824dc305..d15e5609 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -80,6 +80,7 @@ - `mini.map` - `mini.misc` - `mini.move` + - `mini.notify` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 03d1e0b5..6a35b799 100644 --- a/flake.lock +++ b/flake.lock @@ -1352,6 +1352,22 @@ "type": "github" } }, + "plugin-mini-notify": { + "flake": false, + "locked": { + "lastModified": 1736790793, + "narHash": "sha256-q27j14OV6LAfoxeqBG75GSiqtqmW37GOPHpmA2fD4gs=", + "owner": "echasnovski", + "repo": "mini.notify", + "rev": "05e598d5b349bd66404d576e6a4d4340aea5f194", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.notify", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2574,6 +2590,7 @@ "plugin-mini-map": "plugin-mini-map", "plugin-mini-misc": "plugin-mini-misc", "plugin-mini-move": "plugin-mini-move", + "plugin-mini-notify": "plugin-mini-notify", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index def1cd8c..368fc4f7 100644 --- a/flake.nix +++ b/flake.nix @@ -875,5 +875,10 @@ url = "github:echasnovski/mini.move"; flake = false; }; + + plugin-mini-notify = { + url = "github:echasnovski/mini.notify"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index a1c5a191..315d3b0c 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -26,5 +26,6 @@ ./map ./misc ./move + ./notify ]; } diff --git a/modules/plugins/mini/notify/config.nix b/modules/plugins/mini/notify/config.nix new file mode 100644 index 00000000..2a5ff46e --- /dev/null +++ b/modules/plugins/mini/notify/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.notify; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-notify"]; + + pluginRC.mini-notify = entryAnywhere '' + require("mini.notify").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/notify/default.nix b/modules/plugins/mini/notify/default.nix new file mode 100644 index 00000000..0f809b7a --- /dev/null +++ b/modules/plugins/mini/notify/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./notify.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/notify/notify.nix b/modules/plugins/mini/notify/notify.nix new file mode 100644 index 00000000..76e8c135 --- /dev/null +++ b/modules/plugins/mini/notify/notify.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.notify = { + enable = mkEnableOption "mini.notify"; + setupOpts = mkPluginSetupOption "mini.notify" {}; + }; +} From 088083c68a6c58ffa11e55a533a5522bb00fbdb1 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:02:20 +0100 Subject: [PATCH 093/202] mini/operators: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/operators/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/operators/default.nix | 6 ++++++ modules/plugins/mini/operators/operators.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/operators/config.nix create mode 100644 modules/plugins/mini/operators/default.nix create mode 100644 modules/plugins/mini/operators/operators.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index d15e5609..59c11377 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -81,6 +81,7 @@ - `mini.misc` - `mini.move` - `mini.notify` + - `mini.operators` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 6a35b799..28e25927 100644 --- a/flake.lock +++ b/flake.lock @@ -1368,6 +1368,22 @@ "type": "github" } }, + "plugin-mini-operators": { + "flake": false, + "locked": { + "lastModified": 1731776514, + "narHash": "sha256-+Zhy0AhuMPSHnM6dqbV45Aa7dS7XJ4mpfcHApSbuy8A=", + "owner": "echasnovski", + "repo": "mini.operators", + "rev": "7cb4dc66c51a3d736d347bbc517dc73dc7d28888", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.operators", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2591,6 +2607,7 @@ "plugin-mini-misc": "plugin-mini-misc", "plugin-mini-move": "plugin-mini-move", "plugin-mini-notify": "plugin-mini-notify", + "plugin-mini-operators": "plugin-mini-operators", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 368fc4f7..f5ea0e15 100644 --- a/flake.nix +++ b/flake.nix @@ -880,5 +880,10 @@ url = "github:echasnovski/mini.notify"; flake = false; }; + + plugin-mini-operators = { + url = "github:echasnovski/mini.operators"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 315d3b0c..0ed41e59 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -27,5 +27,6 @@ ./misc ./move ./notify + ./operators ]; } diff --git a/modules/plugins/mini/operators/config.nix b/modules/plugins/mini/operators/config.nix new file mode 100644 index 00000000..bb374377 --- /dev/null +++ b/modules/plugins/mini/operators/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.operators; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-operators"]; + + pluginRC.mini-operators = entryAnywhere '' + require("mini.operators").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/operators/default.nix b/modules/plugins/mini/operators/default.nix new file mode 100644 index 00000000..1c77bc65 --- /dev/null +++ b/modules/plugins/mini/operators/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./operators.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/operators/operators.nix b/modules/plugins/mini/operators/operators.nix new file mode 100644 index 00000000..c60ad6b5 --- /dev/null +++ b/modules/plugins/mini/operators/operators.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.operators = { + enable = mkEnableOption "mini.operators"; + setupOpts = mkPluginSetupOption "mini.operators" {}; + }; +} From 226c25d45dce4ebc1c8b285b8e6bd74e9bbc9083 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:03:56 +0100 Subject: [PATCH 094/202] mini/pairs: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/pairs/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/pairs/default.nix | 6 ++++++ modules/plugins/mini/pairs/pairs.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/pairs/config.nix create mode 100644 modules/plugins/mini/pairs/default.nix create mode 100644 modules/plugins/mini/pairs/pairs.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 59c11377..003c2639 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -82,6 +82,7 @@ - `mini.move` - `mini.notify` - `mini.operators` + - `mini.pairs` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 28e25927..2f01ce02 100644 --- a/flake.lock +++ b/flake.lock @@ -1384,6 +1384,22 @@ "type": "github" } }, + "plugin-mini-pairs": { + "flake": false, + "locked": { + "lastModified": 1728656795, + "narHash": "sha256-PtHxLKU1smVTx655r5SINxuz5CJmZWnBW70T8zJ/oxM=", + "owner": "echasnovski", + "repo": "mini.pairs", + "rev": "7e834c5937d95364cc1740e20d673afe2d034cdb", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.pairs", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2608,6 +2624,7 @@ "plugin-mini-move": "plugin-mini-move", "plugin-mini-notify": "plugin-mini-notify", "plugin-mini-operators": "plugin-mini-operators", + "plugin-mini-pairs": "plugin-mini-pairs", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index f5ea0e15..01836677 100644 --- a/flake.nix +++ b/flake.nix @@ -885,5 +885,10 @@ url = "github:echasnovski/mini.operators"; flake = false; }; + + plugin-mini-pairs = { + url = "github:echasnovski/mini.pairs"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 0ed41e59..161ae000 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -28,5 +28,6 @@ ./move ./notify ./operators + ./pairs ]; } diff --git a/modules/plugins/mini/pairs/config.nix b/modules/plugins/mini/pairs/config.nix new file mode 100644 index 00000000..ce02dee0 --- /dev/null +++ b/modules/plugins/mini/pairs/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.pairs; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-pairs"]; + + pluginRC.mini-pairs = entryAnywhere '' + require("mini.pairs").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/pairs/default.nix b/modules/plugins/mini/pairs/default.nix new file mode 100644 index 00000000..a0563bb0 --- /dev/null +++ b/modules/plugins/mini/pairs/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./pairs.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/pairs/pairs.nix b/modules/plugins/mini/pairs/pairs.nix new file mode 100644 index 00000000..db43027b --- /dev/null +++ b/modules/plugins/mini/pairs/pairs.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.pairs = { + enable = mkEnableOption "mini.pairs"; + setupOpts = mkPluginSetupOption "mini.pairs" {}; + }; +} From af36e185b56649977df3c96d918a9c53dff81ce5 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:05:49 +0100 Subject: [PATCH 095/202] mini/pick: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/pick/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/pick/default.nix | 6 ++++++ modules/plugins/mini/pick/pick.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/pick/config.nix create mode 100644 modules/plugins/mini/pick/default.nix create mode 100644 modules/plugins/mini/pick/pick.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 003c2639..800720f6 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -83,6 +83,7 @@ - `mini.notify` - `mini.operators` - `mini.pairs` + - `mini.pick` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 2f01ce02..51932306 100644 --- a/flake.lock +++ b/flake.lock @@ -1400,6 +1400,22 @@ "type": "github" } }, + "plugin-mini-pick": { + "flake": false, + "locked": { + "lastModified": 1736696004, + "narHash": "sha256-Q4GD0WzUYNtoBMx8pIl6fX5glKn1oflS4HZVC+w/eAM=", + "owner": "echasnovski", + "repo": "mini.pick", + "rev": "09ade94d2c9c5133db9ae00f3693d82eae78e9be", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.pick", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2625,6 +2641,7 @@ "plugin-mini-notify": "plugin-mini-notify", "plugin-mini-operators": "plugin-mini-operators", "plugin-mini-pairs": "plugin-mini-pairs", + "plugin-mini-pick": "plugin-mini-pick", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 01836677..f6fec140 100644 --- a/flake.nix +++ b/flake.nix @@ -890,5 +890,10 @@ url = "github:echasnovski/mini.pairs"; flake = false; }; + + plugin-mini-pick = { + url = "github:echasnovski/mini.pick"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 161ae000..97607284 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -29,5 +29,6 @@ ./notify ./operators ./pairs + ./pick ]; } diff --git a/modules/plugins/mini/pick/config.nix b/modules/plugins/mini/pick/config.nix new file mode 100644 index 00000000..6d82a8ea --- /dev/null +++ b/modules/plugins/mini/pick/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.pick; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-pick"]; + + pluginRC.mini-pick = entryAnywhere '' + require("mini.pick").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/pick/default.nix b/modules/plugins/mini/pick/default.nix new file mode 100644 index 00000000..37d1760c --- /dev/null +++ b/modules/plugins/mini/pick/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./pick.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/pick/pick.nix b/modules/plugins/mini/pick/pick.nix new file mode 100644 index 00000000..8f93ac35 --- /dev/null +++ b/modules/plugins/mini/pick/pick.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.pick = { + enable = mkEnableOption "mini.pick"; + setupOpts = mkPluginSetupOption "mini.pick" {}; + }; +} From 39d8f52f0e120a693e16bb9fecc30e048694305f Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:08:34 +0100 Subject: [PATCH 096/202] mini/sessions: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/sessions/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/sessions/default.nix | 6 ++++++ modules/plugins/mini/sessions/sessions.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/sessions/config.nix create mode 100644 modules/plugins/mini/sessions/default.nix create mode 100644 modules/plugins/mini/sessions/sessions.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 800720f6..51947a42 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -84,6 +84,7 @@ - `mini.operators` - `mini.pairs` - `mini.pick` + - `mini.sessions` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 51932306..5060c260 100644 --- a/flake.lock +++ b/flake.lock @@ -1416,6 +1416,22 @@ "type": "github" } }, + "plugin-mini-sessions": { + "flake": false, + "locked": { + "lastModified": 1735582250, + "narHash": "sha256-vyn8MGyOWFgJ5QVvjYb7K1cKDtg9qWnWYMNf80+kpHk=", + "owner": "echasnovski", + "repo": "mini.sessions", + "rev": "71c9ae596664ac110560d27eb928fc24e22bc53d", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.sessions", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2642,6 +2658,7 @@ "plugin-mini-operators": "plugin-mini-operators", "plugin-mini-pairs": "plugin-mini-pairs", "plugin-mini-pick": "plugin-mini-pick", + "plugin-mini-sessions": "plugin-mini-sessions", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index f6fec140..abc6edbf 100644 --- a/flake.nix +++ b/flake.nix @@ -895,5 +895,10 @@ url = "github:echasnovski/mini.pick"; flake = false; }; + + plugin-mini-sessions = { + url = "github:echasnovski/mini.sessions"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 97607284..0a7be1af 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -30,5 +30,6 @@ ./operators ./pairs ./pick + ./sessions ]; } diff --git a/modules/plugins/mini/sessions/config.nix b/modules/plugins/mini/sessions/config.nix new file mode 100644 index 00000000..233d6b06 --- /dev/null +++ b/modules/plugins/mini/sessions/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.sessions; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-sessions"]; + + pluginRC.mini-sessions = entryAnywhere '' + require("mini.sessions").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/sessions/default.nix b/modules/plugins/mini/sessions/default.nix new file mode 100644 index 00000000..6de787e7 --- /dev/null +++ b/modules/plugins/mini/sessions/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./sessions.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/sessions/sessions.nix b/modules/plugins/mini/sessions/sessions.nix new file mode 100644 index 00000000..9a3737d6 --- /dev/null +++ b/modules/plugins/mini/sessions/sessions.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.sessions = { + enable = mkEnableOption "mini.sessions"; + setupOpts = mkPluginSetupOption "mini.sessions" {}; + }; +} From 7fc00f75f6209aa7f7fb7b66b3d95275312b80c6 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:10:12 +0100 Subject: [PATCH 097/202] mini/snippets: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/snippets/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/snippets/default.nix | 6 ++++++ modules/plugins/mini/snippets/snippets.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/snippets/config.nix create mode 100644 modules/plugins/mini/snippets/default.nix create mode 100644 modules/plugins/mini/snippets/snippets.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 51947a42..7d8d29a5 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -85,6 +85,7 @@ - `mini.pairs` - `mini.pick` - `mini.sessions` + - `mini.snippets` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 5060c260..bd5abc35 100644 --- a/flake.lock +++ b/flake.lock @@ -1432,6 +1432,22 @@ "type": "github" } }, + "plugin-mini-snippets": { + "flake": false, + "locked": { + "lastModified": 1736611383, + "narHash": "sha256-How9m7KTo66FrwjZQlgZRmJ5toFKn/+GnUbx/0va3lM=", + "owner": "echasnovski", + "repo": "mini.snippets", + "rev": "72920f62e3dd1330720e94e8f5d42592f3a1ecf8", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.snippets", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2659,6 +2675,7 @@ "plugin-mini-pairs": "plugin-mini-pairs", "plugin-mini-pick": "plugin-mini-pick", "plugin-mini-sessions": "plugin-mini-sessions", + "plugin-mini-snippets": "plugin-mini-snippets", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index abc6edbf..742ed211 100644 --- a/flake.nix +++ b/flake.nix @@ -900,5 +900,10 @@ url = "github:echasnovski/mini.sessions"; flake = false; }; + + plugin-mini-snippets = { + url = "github:echasnovski/mini.snippets"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 0a7be1af..aab04a89 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -31,5 +31,6 @@ ./pairs ./pick ./sessions + ./snippets ]; } diff --git a/modules/plugins/mini/snippets/config.nix b/modules/plugins/mini/snippets/config.nix new file mode 100644 index 00000000..9dc7aab1 --- /dev/null +++ b/modules/plugins/mini/snippets/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.snippets; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-snippets"]; + + pluginRC.mini-snippets = entryAnywhere '' + require("mini.snippets").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/snippets/default.nix b/modules/plugins/mini/snippets/default.nix new file mode 100644 index 00000000..e636d458 --- /dev/null +++ b/modules/plugins/mini/snippets/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./snippets.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/snippets/snippets.nix b/modules/plugins/mini/snippets/snippets.nix new file mode 100644 index 00000000..5dbb1557 --- /dev/null +++ b/modules/plugins/mini/snippets/snippets.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.snippets = { + enable = mkEnableOption "mini.snippets"; + setupOpts = mkPluginSetupOption "mini.snippets" {}; + }; +} From 52bc5f23ee4851a5d4c51d21c6e12972954e370a Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:12:03 +0100 Subject: [PATCH 098/202] mini/splitjoin: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/splitjoin/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/splitjoin/default.nix | 6 ++++++ modules/plugins/mini/splitjoin/splitjoin.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/splitjoin/config.nix create mode 100644 modules/plugins/mini/splitjoin/default.nix create mode 100644 modules/plugins/mini/splitjoin/splitjoin.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 7d8d29a5..eb019afa 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -86,6 +86,7 @@ - `mini.pick` - `mini.sessions` - `mini.snippets` + - `mini.splitjoin` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index bd5abc35..b74f5905 100644 --- a/flake.lock +++ b/flake.lock @@ -1448,6 +1448,22 @@ "type": "github" } }, + "plugin-mini-splitjoin": { + "flake": false, + "locked": { + "lastModified": 1719822504, + "narHash": "sha256-LDIbh5KfupTI4zkYOlLmVCd3DuZRhx5lTASN53VG34g=", + "owner": "echasnovski", + "repo": "mini.splitjoin", + "rev": "3e92f6764e770ba392325cad3a4497adcada695f", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.splitjoin", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2676,6 +2692,7 @@ "plugin-mini-pick": "plugin-mini-pick", "plugin-mini-sessions": "plugin-mini-sessions", "plugin-mini-snippets": "plugin-mini-snippets", + "plugin-mini-splitjoin": "plugin-mini-splitjoin", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 742ed211..be51c405 100644 --- a/flake.nix +++ b/flake.nix @@ -905,5 +905,10 @@ url = "github:echasnovski/mini.snippets"; flake = false; }; + + plugin-mini-splitjoin = { + url = "github:echasnovski/mini.splitjoin"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index aab04a89..92bd13ce 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -32,5 +32,6 @@ ./pick ./sessions ./snippets + ./splitjoin ]; } diff --git a/modules/plugins/mini/splitjoin/config.nix b/modules/plugins/mini/splitjoin/config.nix new file mode 100644 index 00000000..b4b93f3f --- /dev/null +++ b/modules/plugins/mini/splitjoin/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.splitjoin; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-splitjoin"]; + + pluginRC.mini-splitjoin = entryAnywhere '' + require("mini.splitjoin").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/splitjoin/default.nix b/modules/plugins/mini/splitjoin/default.nix new file mode 100644 index 00000000..0560f936 --- /dev/null +++ b/modules/plugins/mini/splitjoin/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./splitjoin.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/splitjoin/splitjoin.nix b/modules/plugins/mini/splitjoin/splitjoin.nix new file mode 100644 index 00000000..ae4f9420 --- /dev/null +++ b/modules/plugins/mini/splitjoin/splitjoin.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.splitjoin = { + enable = mkEnableOption "mini.splitjoin"; + setupOpts = mkPluginSetupOption "mini.splitjoin" {}; + }; +} From f7abf7577c23115df57e57b99548f5571d12aa82 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:13:58 +0100 Subject: [PATCH 099/202] mini/starter: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/starter/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/starter/default.nix | 6 ++++++ modules/plugins/mini/starter/starter.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/starter/config.nix create mode 100644 modules/plugins/mini/starter/default.nix create mode 100644 modules/plugins/mini/starter/starter.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index eb019afa..c7e0dbe6 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -87,6 +87,7 @@ - `mini.sessions` - `mini.snippets` - `mini.splitjoin` + - `mini.starter` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index b74f5905..8cb6430b 100644 --- a/flake.lock +++ b/flake.lock @@ -1464,6 +1464,22 @@ "type": "github" } }, + "plugin-mini-starter": { + "flake": false, + "locked": { + "lastModified": 1736858747, + "narHash": "sha256-pJYkZUo+L3IeGCRdTipqTzMv+HatpNnyRxshaygKtIw=", + "owner": "echasnovski", + "repo": "mini.starter", + "rev": "4b257cfc93241e8c8cde3f9302d1616ad4e0d036", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.starter", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2693,6 +2709,7 @@ "plugin-mini-sessions": "plugin-mini-sessions", "plugin-mini-snippets": "plugin-mini-snippets", "plugin-mini-splitjoin": "plugin-mini-splitjoin", + "plugin-mini-starter": "plugin-mini-starter", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index be51c405..716c1247 100644 --- a/flake.nix +++ b/flake.nix @@ -910,5 +910,10 @@ url = "github:echasnovski/mini.splitjoin"; flake = false; }; + + plugin-mini-starter = { + url = "github:echasnovski/mini.starter"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 92bd13ce..8cc30c8a 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -33,5 +33,6 @@ ./sessions ./snippets ./splitjoin + ./starter ]; } diff --git a/modules/plugins/mini/starter/config.nix b/modules/plugins/mini/starter/config.nix new file mode 100644 index 00000000..35b5c950 --- /dev/null +++ b/modules/plugins/mini/starter/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.starter; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-starter"]; + + pluginRC.mini-starter = entryAnywhere '' + require("mini.starter").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/starter/default.nix b/modules/plugins/mini/starter/default.nix new file mode 100644 index 00000000..0c98acc6 --- /dev/null +++ b/modules/plugins/mini/starter/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./starter.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/starter/starter.nix b/modules/plugins/mini/starter/starter.nix new file mode 100644 index 00000000..cb42061d --- /dev/null +++ b/modules/plugins/mini/starter/starter.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.starter = { + enable = mkEnableOption "mini.starter"; + setupOpts = mkPluginSetupOption "mini.starter" {}; + }; +} From d1fa88595b969f2b0a284e5330e2ada2cf10d6d0 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:16:11 +0100 Subject: [PATCH 100/202] mini/statusline: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/statusline/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/statusline/default.nix | 6 ++++++ .../plugins/mini/statusline/statusline.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/statusline/config.nix create mode 100644 modules/plugins/mini/statusline/default.nix create mode 100644 modules/plugins/mini/statusline/statusline.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c7e0dbe6..54ff3b0c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -88,6 +88,7 @@ - `mini.snippets` - `mini.splitjoin` - `mini.starter` + - `mini.statusline` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 8cb6430b..cd751c01 100644 --- a/flake.lock +++ b/flake.lock @@ -1480,6 +1480,22 @@ "type": "github" } }, + "plugin-mini-statusline": { + "flake": false, + "locked": { + "lastModified": 1735582251, + "narHash": "sha256-AQ2N93JDjtFpgerWTzRspmxrl9oQuALbeCUxBO4ZPqo=", + "owner": "echasnovski", + "repo": "mini.statusline", + "rev": "1b0edf76fe2af015f8c989385ff949f1db7aade2", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.statusline", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2710,6 +2726,7 @@ "plugin-mini-snippets": "plugin-mini-snippets", "plugin-mini-splitjoin": "plugin-mini-splitjoin", "plugin-mini-starter": "plugin-mini-starter", + "plugin-mini-statusline": "plugin-mini-statusline", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 716c1247..83a9d88a 100644 --- a/flake.nix +++ b/flake.nix @@ -915,5 +915,10 @@ url = "github:echasnovski/mini.starter"; flake = false; }; + + plugin-mini-statusline = { + url = "github:echasnovski/mini.statusline"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 8cc30c8a..d68660fd 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -34,5 +34,6 @@ ./snippets ./splitjoin ./starter + ./statusline ]; } diff --git a/modules/plugins/mini/statusline/config.nix b/modules/plugins/mini/statusline/config.nix new file mode 100644 index 00000000..9f89b8a4 --- /dev/null +++ b/modules/plugins/mini/statusline/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.statusline; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-statusline"]; + + pluginRC.mini-statusline = entryAnywhere '' + require("mini.statusline").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/statusline/default.nix b/modules/plugins/mini/statusline/default.nix new file mode 100644 index 00000000..9fd274e2 --- /dev/null +++ b/modules/plugins/mini/statusline/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./statusline.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/statusline/statusline.nix b/modules/plugins/mini/statusline/statusline.nix new file mode 100644 index 00000000..9e1301cf --- /dev/null +++ b/modules/plugins/mini/statusline/statusline.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.statusline = { + enable = mkEnableOption "mini.statusline"; + setupOpts = mkPluginSetupOption "mini.statusline" {}; + }; +} From 8809ecd689071dc2eb39aebd45ea3576fd0360e4 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:18:42 +0100 Subject: [PATCH 101/202] mini/surround: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/surround/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/surround/default.nix | 6 ++++++ modules/plugins/mini/surround/surround.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/surround/config.nix create mode 100644 modules/plugins/mini/surround/default.nix create mode 100644 modules/plugins/mini/surround/surround.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 54ff3b0c..0c38c1ad 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -89,6 +89,7 @@ - `mini.splitjoin` - `mini.starter` - `mini.statusline` + - `mini.surround` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index cd751c01..3c754e31 100644 --- a/flake.lock +++ b/flake.lock @@ -1496,6 +1496,22 @@ "type": "github" } }, + "plugin-mini-surround": { + "flake": false, + "locked": { + "lastModified": 1733662812, + "narHash": "sha256-okWJlG0KOdg1ShvkIIMnPSoOzGd7K84eDcp5kx6eVP8=", + "owner": "echasnovski", + "repo": "mini.surround", + "rev": "aa5e245829dd12d8ff0c96ef11da28681d6049aa", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.surround", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2727,6 +2743,7 @@ "plugin-mini-splitjoin": "plugin-mini-splitjoin", "plugin-mini-starter": "plugin-mini-starter", "plugin-mini-statusline": "plugin-mini-statusline", + "plugin-mini-surround": "plugin-mini-surround", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 83a9d88a..0c030c5f 100644 --- a/flake.nix +++ b/flake.nix @@ -920,5 +920,10 @@ url = "github:echasnovski/mini.statusline"; flake = false; }; + + plugin-mini-surround = { + url = "github:echasnovski/mini.surround"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index d68660fd..0acb6344 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -35,5 +35,6 @@ ./splitjoin ./starter ./statusline + ./surround ]; } diff --git a/modules/plugins/mini/surround/config.nix b/modules/plugins/mini/surround/config.nix new file mode 100644 index 00000000..a0264685 --- /dev/null +++ b/modules/plugins/mini/surround/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.surround; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-surround"]; + + pluginRC.mini-surround = entryAnywhere '' + require("mini.surround").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/surround/default.nix b/modules/plugins/mini/surround/default.nix new file mode 100644 index 00000000..95d7a2f5 --- /dev/null +++ b/modules/plugins/mini/surround/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./surround.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/surround/surround.nix b/modules/plugins/mini/surround/surround.nix new file mode 100644 index 00000000..f4c1c199 --- /dev/null +++ b/modules/plugins/mini/surround/surround.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.surround = { + enable = mkEnableOption "mini.surround"; + setupOpts = mkPluginSetupOption "mini.surround" {}; + }; +} From 400c7b84e36d8e187deddc20ecd861941357865c Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:20:20 +0100 Subject: [PATCH 102/202] mini/tabline: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/tabline/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/tabline/default.nix | 6 ++++++ modules/plugins/mini/tabline/tabline.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/tabline/config.nix create mode 100644 modules/plugins/mini/tabline/default.nix create mode 100644 modules/plugins/mini/tabline/tabline.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 0c38c1ad..313d2e41 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -90,6 +90,7 @@ - `mini.starter` - `mini.statusline` - `mini.surround` + - `mini.tabline` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 3c754e31..a1996572 100644 --- a/flake.lock +++ b/flake.lock @@ -1512,6 +1512,22 @@ "type": "github" } }, + "plugin-mini-tabline": { + "flake": false, + "locked": { + "lastModified": 1729176541, + "narHash": "sha256-nucUqSN8w2xBnDp1dFBgRVVvfVoqZMdx7Zj78wdFAP0=", + "owner": "echasnovski", + "repo": "mini.tabline", + "rev": "06ef4ecaeca2e362c7d31113435d86d144b3cbbe", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.tabline", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2744,6 +2760,7 @@ "plugin-mini-starter": "plugin-mini-starter", "plugin-mini-statusline": "plugin-mini-statusline", "plugin-mini-surround": "plugin-mini-surround", + "plugin-mini-tabline": "plugin-mini-tabline", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 0c030c5f..d81a87d4 100644 --- a/flake.nix +++ b/flake.nix @@ -925,5 +925,10 @@ url = "github:echasnovski/mini.surround"; flake = false; }; + + plugin-mini-tabline = { + url = "github:echasnovski/mini.tabline"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 0acb6344..e18ecbba 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -36,5 +36,6 @@ ./starter ./statusline ./surround + ./tabline ]; } diff --git a/modules/plugins/mini/tabline/config.nix b/modules/plugins/mini/tabline/config.nix new file mode 100644 index 00000000..b807e563 --- /dev/null +++ b/modules/plugins/mini/tabline/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.tabline; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-tabline"]; + + pluginRC.mini-tabline = entryAnywhere '' + require("mini.tabline").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/tabline/default.nix b/modules/plugins/mini/tabline/default.nix new file mode 100644 index 00000000..38462e0f --- /dev/null +++ b/modules/plugins/mini/tabline/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./tabline.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/tabline/tabline.nix b/modules/plugins/mini/tabline/tabline.nix new file mode 100644 index 00000000..7dc48222 --- /dev/null +++ b/modules/plugins/mini/tabline/tabline.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.tabline = { + enable = mkEnableOption "mini.tabline"; + setupOpts = mkPluginSetupOption "mini.tabline" {}; + }; +} From ae767781869c1484a166db7cc44d5c4a7f7a0f85 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:22:23 +0100 Subject: [PATCH 103/202] mini/test: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/test/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/test/default.nix | 6 ++++++ modules/plugins/mini/test/test.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/test/config.nix create mode 100644 modules/plugins/mini/test/default.nix create mode 100644 modules/plugins/mini/test/test.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 313d2e41..379195b7 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -91,6 +91,7 @@ - `mini.statusline` - `mini.surround` - `mini.tabline` + - `mini.test` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index a1996572..fb274a3e 100644 --- a/flake.lock +++ b/flake.lock @@ -1528,6 +1528,22 @@ "type": "github" } }, + "plugin-mini-test": { + "flake": false, + "locked": { + "lastModified": 1729520957, + "narHash": "sha256-NtsX441k84owAAJywq4G2rMvV6d7UR2K75G8oKam+gs=", + "owner": "echasnovski", + "repo": "mini.test", + "rev": "86a64d5a4bf9d73ebf5875edaae0d878f64f5e48", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.test", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2761,6 +2777,7 @@ "plugin-mini-statusline": "plugin-mini-statusline", "plugin-mini-surround": "plugin-mini-surround", "plugin-mini-tabline": "plugin-mini-tabline", + "plugin-mini-test": "plugin-mini-test", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index d81a87d4..b6262653 100644 --- a/flake.nix +++ b/flake.nix @@ -930,5 +930,10 @@ url = "github:echasnovski/mini.tabline"; flake = false; }; + + plugin-mini-test = { + url = "github:echasnovski/mini.test"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index e18ecbba..1025a927 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -37,5 +37,6 @@ ./statusline ./surround ./tabline + ./test ]; } diff --git a/modules/plugins/mini/test/config.nix b/modules/plugins/mini/test/config.nix new file mode 100644 index 00000000..bff42966 --- /dev/null +++ b/modules/plugins/mini/test/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.test; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-test"]; + + pluginRC.mini-test = entryAnywhere '' + require("mini.test").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/test/default.nix b/modules/plugins/mini/test/default.nix new file mode 100644 index 00000000..e78c7250 --- /dev/null +++ b/modules/plugins/mini/test/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./test.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/test/test.nix b/modules/plugins/mini/test/test.nix new file mode 100644 index 00000000..fba4db0b --- /dev/null +++ b/modules/plugins/mini/test/test.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.test = { + enable = mkEnableOption "mini.test"; + setupOpts = mkPluginSetupOption "mini.test" {}; + }; +} From 0994337d02996490c990c5ae9dc931134fbbb4b1 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:23:56 +0100 Subject: [PATCH 104/202] mini/trailspace: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/trailspace/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/trailspace/default.nix | 6 ++++++ .../plugins/mini/trailspace/trailspace.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/trailspace/config.nix create mode 100644 modules/plugins/mini/trailspace/default.nix create mode 100644 modules/plugins/mini/trailspace/trailspace.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 379195b7..1d683202 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -92,6 +92,7 @@ - `mini.surround` - `mini.tabline` - `mini.test` + - `mini.trailspace` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index fb274a3e..c7a57499 100644 --- a/flake.lock +++ b/flake.lock @@ -1544,6 +1544,22 @@ "type": "github" } }, + "plugin-mini-trailspace": { + "flake": false, + "locked": { + "lastModified": 1725613928, + "narHash": "sha256-JKYvFz8g8kVZvxE44RhwoHXQykghXx7ebW/Mj1ZdJIw=", + "owner": "echasnovski", + "repo": "mini.trailspace", + "rev": "3a328e62559c33014e422fb9ae97afc4208208b1", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.trailspace", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2778,6 +2794,7 @@ "plugin-mini-surround": "plugin-mini-surround", "plugin-mini-tabline": "plugin-mini-tabline", "plugin-mini-test": "plugin-mini-test", + "plugin-mini-trailspace": "plugin-mini-trailspace", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index b6262653..106d2bdd 100644 --- a/flake.nix +++ b/flake.nix @@ -935,5 +935,10 @@ url = "github:echasnovski/mini.test"; flake = false; }; + + plugin-mini-trailspace = { + url = "github:echasnovski/mini.trailspace"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 1025a927..89d28999 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -38,5 +38,6 @@ ./surround ./tabline ./test + ./trailspace ]; } diff --git a/modules/plugins/mini/trailspace/config.nix b/modules/plugins/mini/trailspace/config.nix new file mode 100644 index 00000000..6ed9ba8a --- /dev/null +++ b/modules/plugins/mini/trailspace/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.trailspace; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-trailspace"]; + + pluginRC.mini-trailspace = entryAnywhere '' + require("mini.trailspace").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/trailspace/default.nix b/modules/plugins/mini/trailspace/default.nix new file mode 100644 index 00000000..7e9adcba --- /dev/null +++ b/modules/plugins/mini/trailspace/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./trailspace.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/trailspace/trailspace.nix b/modules/plugins/mini/trailspace/trailspace.nix new file mode 100644 index 00000000..003e159c --- /dev/null +++ b/modules/plugins/mini/trailspace/trailspace.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.trailspace = { + enable = mkEnableOption "mini.trailspace"; + setupOpts = mkPluginSetupOption "mini.trailspace" {}; + }; +} From e8e5594fb9a9b68a5b42062318c88bc9aaf2dfa6 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:25:28 +0100 Subject: [PATCH 105/202] mini/visits: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/mini/default.nix | 1 + modules/plugins/mini/visits/config.nix | 19 +++++++++++++++++++ modules/plugins/mini/visits/default.nix | 6 ++++++ modules/plugins/mini/visits/visits.nix | 13 +++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 modules/plugins/mini/visits/config.nix create mode 100644 modules/plugins/mini/visits/default.nix create mode 100644 modules/plugins/mini/visits/visits.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1d683202..421b7916 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -93,6 +93,7 @@ - `mini.tabline` - `mini.test` - `mini.trailspace` + - `mini.visits` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index c7a57499..148cc4e1 100644 --- a/flake.lock +++ b/flake.lock @@ -1560,6 +1560,22 @@ "type": "github" } }, + "plugin-mini-visits": { + "flake": false, + "locked": { + "lastModified": 1737036221, + "narHash": "sha256-Q+m1gZ5Obu6Zzo87Djt6VCX76ZjdOiLb0j771jP8uQE=", + "owner": "echasnovski", + "repo": "mini.visits", + "rev": "90f20ba6ab7d3d7cb984fffddd82f5f6c7a6bea7", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.visits", + "type": "github" + } + }, "plugin-minimap-vim": { "flake": false, "locked": { @@ -2795,6 +2811,7 @@ "plugin-mini-tabline": "plugin-mini-tabline", "plugin-mini-test": "plugin-mini-test", "plugin-mini-trailspace": "plugin-mini-trailspace", + "plugin-mini-visits": "plugin-mini-visits", "plugin-minimap-vim": "plugin-minimap-vim", "plugin-modes-nvim": "plugin-modes-nvim", "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", diff --git a/flake.nix b/flake.nix index 106d2bdd..99eeada4 100644 --- a/flake.nix +++ b/flake.nix @@ -940,5 +940,10 @@ url = "github:echasnovski/mini.trailspace"; flake = false; }; + + plugin-mini-visits = { + url = "github:echasnovski/mini.visits"; + flake = false; + }; }; } diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 89d28999..8f035285 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -39,5 +39,6 @@ ./tabline ./test ./trailspace + ./visits ]; } diff --git a/modules/plugins/mini/visits/config.nix b/modules/plugins/mini/visits/config.nix new file mode 100644 index 00000000..424a81c2 --- /dev/null +++ b/modules/plugins/mini/visits/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.visits; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-visits"]; + + pluginRC.mini-visits = entryAnywhere '' + require("mini.visits").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/visits/default.nix b/modules/plugins/mini/visits/default.nix new file mode 100644 index 00000000..192eca9e --- /dev/null +++ b/modules/plugins/mini/visits/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./visits.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/visits/visits.nix b/modules/plugins/mini/visits/visits.nix new file mode 100644 index 00000000..0560533e --- /dev/null +++ b/modules/plugins/mini/visits/visits.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.visits = { + enable = mkEnableOption "mini.visits"; + setupOpts = mkPluginSetupOption "mini.visits" {}; + }; +} From f1f89a5c490d7ffaaff65d64632bc949c4e8de47 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:29:48 +0100 Subject: [PATCH 106/202] mini/*: remove unused inherits --- modules/plugins/mini/ai/ai.nix | 2 +- modules/plugins/mini/align/align.nix | 2 +- modules/plugins/mini/animate/animate.nix | 2 +- modules/plugins/mini/basics/basics.nix | 2 +- modules/plugins/mini/bracketed/bracketed.nix | 2 +- modules/plugins/mini/bufremove/bufremove.nix | 2 +- modules/plugins/mini/clue/clue.nix | 2 +- modules/plugins/mini/colors/colors.nix | 2 +- modules/plugins/mini/comment/comment.nix | 2 +- modules/plugins/mini/completion/completion.nix | 2 +- modules/plugins/mini/diff/diff.nix | 2 +- modules/plugins/mini/doc/doc.nix | 2 +- modules/plugins/mini/extra/extra.nix | 2 +- modules/plugins/mini/files/files.nix | 2 +- modules/plugins/mini/fuzzy/fuzzy.nix | 2 +- modules/plugins/mini/git/git.nix | 2 +- modules/plugins/mini/hipatterns/hipatterns.nix | 2 +- modules/plugins/mini/icons/icons.nix | 2 +- modules/plugins/mini/indentscope/indentscope.nix | 2 +- modules/plugins/mini/jump/jump.nix | 2 +- modules/plugins/mini/jump2d/jump2d.nix | 2 +- modules/plugins/mini/map/map.nix | 2 +- modules/plugins/mini/misc/misc.nix | 2 +- modules/plugins/mini/move/move.nix | 2 +- modules/plugins/mini/notify/notify.nix | 2 +- modules/plugins/mini/operators/operators.nix | 2 +- modules/plugins/mini/pairs/pairs.nix | 2 +- modules/plugins/mini/pick/pick.nix | 2 +- modules/plugins/mini/sessions/sessions.nix | 2 +- modules/plugins/mini/snippets/snippets.nix | 2 +- modules/plugins/mini/splitjoin/splitjoin.nix | 2 +- modules/plugins/mini/starter/starter.nix | 2 +- modules/plugins/mini/statusline/statusline.nix | 2 +- modules/plugins/mini/surround/surround.nix | 2 +- modules/plugins/mini/tabline/tabline.nix | 2 +- modules/plugins/mini/test/test.nix | 2 +- modules/plugins/mini/trailspace/trailspace.nix | 2 +- modules/plugins/mini/visits/visits.nix | 2 +- 38 files changed, 38 insertions(+), 38 deletions(-) diff --git a/modules/plugins/mini/ai/ai.nix b/modules/plugins/mini/ai/ai.nix index c8e60b8e..d0da31d7 100644 --- a/modules/plugins/mini/ai/ai.nix +++ b/modules/plugins/mini/ai/ai.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.ai = { diff --git a/modules/plugins/mini/align/align.nix b/modules/plugins/mini/align/align.nix index c21e9532..96c82947 100644 --- a/modules/plugins/mini/align/align.nix +++ b/modules/plugins/mini/align/align.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.align = { diff --git a/modules/plugins/mini/animate/animate.nix b/modules/plugins/mini/animate/animate.nix index 6be633b5..fb17c0bd 100644 --- a/modules/plugins/mini/animate/animate.nix +++ b/modules/plugins/mini/animate/animate.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.animate = { diff --git a/modules/plugins/mini/basics/basics.nix b/modules/plugins/mini/basics/basics.nix index b2a4ff30..e855caa6 100644 --- a/modules/plugins/mini/basics/basics.nix +++ b/modules/plugins/mini/basics/basics.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.basics = { diff --git a/modules/plugins/mini/bracketed/bracketed.nix b/modules/plugins/mini/bracketed/bracketed.nix index 950f4e7f..3152f046 100644 --- a/modules/plugins/mini/bracketed/bracketed.nix +++ b/modules/plugins/mini/bracketed/bracketed.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.bracketed = { diff --git a/modules/plugins/mini/bufremove/bufremove.nix b/modules/plugins/mini/bufremove/bufremove.nix index 79b84936..5e04609d 100644 --- a/modules/plugins/mini/bufremove/bufremove.nix +++ b/modules/plugins/mini/bufremove/bufremove.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.bufremove = { diff --git a/modules/plugins/mini/clue/clue.nix b/modules/plugins/mini/clue/clue.nix index de4cf2ee..50d33c65 100644 --- a/modules/plugins/mini/clue/clue.nix +++ b/modules/plugins/mini/clue/clue.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.clue = { diff --git a/modules/plugins/mini/colors/colors.nix b/modules/plugins/mini/colors/colors.nix index 81fe5840..7d56cd49 100644 --- a/modules/plugins/mini/colors/colors.nix +++ b/modules/plugins/mini/colors/colors.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; in { options.vim.mini.colors = { enable = mkEnableOption "mini.colors"; diff --git a/modules/plugins/mini/comment/comment.nix b/modules/plugins/mini/comment/comment.nix index 2231a360..c46c0a58 100644 --- a/modules/plugins/mini/comment/comment.nix +++ b/modules/plugins/mini/comment/comment.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.comment = { diff --git a/modules/plugins/mini/completion/completion.nix b/modules/plugins/mini/completion/completion.nix index a5f8caa5..fc36ed84 100644 --- a/modules/plugins/mini/completion/completion.nix +++ b/modules/plugins/mini/completion/completion.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.completion = { diff --git a/modules/plugins/mini/diff/diff.nix b/modules/plugins/mini/diff/diff.nix index 8438cec9..4a72fda2 100644 --- a/modules/plugins/mini/diff/diff.nix +++ b/modules/plugins/mini/diff/diff.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.diff = { diff --git a/modules/plugins/mini/doc/doc.nix b/modules/plugins/mini/doc/doc.nix index f1e65730..8699fa11 100644 --- a/modules/plugins/mini/doc/doc.nix +++ b/modules/plugins/mini/doc/doc.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.doc = { diff --git a/modules/plugins/mini/extra/extra.nix b/modules/plugins/mini/extra/extra.nix index c57e6cdc..c697fdd6 100644 --- a/modules/plugins/mini/extra/extra.nix +++ b/modules/plugins/mini/extra/extra.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; in { options.vim.mini.extra = { enable = mkEnableOption "mini.extra"; diff --git a/modules/plugins/mini/files/files.nix b/modules/plugins/mini/files/files.nix index f9c3f8ca..4ba5fcc4 100644 --- a/modules/plugins/mini/files/files.nix +++ b/modules/plugins/mini/files/files.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.files = { diff --git a/modules/plugins/mini/fuzzy/fuzzy.nix b/modules/plugins/mini/fuzzy/fuzzy.nix index c5c486fc..977a1763 100644 --- a/modules/plugins/mini/fuzzy/fuzzy.nix +++ b/modules/plugins/mini/fuzzy/fuzzy.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.fuzzy = { diff --git a/modules/plugins/mini/git/git.nix b/modules/plugins/mini/git/git.nix index f77a7502..ebbf4282 100644 --- a/modules/plugins/mini/git/git.nix +++ b/modules/plugins/mini/git/git.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.git = { diff --git a/modules/plugins/mini/hipatterns/hipatterns.nix b/modules/plugins/mini/hipatterns/hipatterns.nix index 31921a89..019626cf 100644 --- a/modules/plugins/mini/hipatterns/hipatterns.nix +++ b/modules/plugins/mini/hipatterns/hipatterns.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.hipatterns = { diff --git a/modules/plugins/mini/icons/icons.nix b/modules/plugins/mini/icons/icons.nix index 096fa9c2..27928a93 100644 --- a/modules/plugins/mini/icons/icons.nix +++ b/modules/plugins/mini/icons/icons.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.icons = { diff --git a/modules/plugins/mini/indentscope/indentscope.nix b/modules/plugins/mini/indentscope/indentscope.nix index 8307a88c..6feffaee 100644 --- a/modules/plugins/mini/indentscope/indentscope.nix +++ b/modules/plugins/mini/indentscope/indentscope.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.indentscope = { diff --git a/modules/plugins/mini/jump/jump.nix b/modules/plugins/mini/jump/jump.nix index ca9563d3..1e16ae7a 100644 --- a/modules/plugins/mini/jump/jump.nix +++ b/modules/plugins/mini/jump/jump.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.jump = { diff --git a/modules/plugins/mini/jump2d/jump2d.nix b/modules/plugins/mini/jump2d/jump2d.nix index c25c6902..59f7c2ba 100644 --- a/modules/plugins/mini/jump2d/jump2d.nix +++ b/modules/plugins/mini/jump2d/jump2d.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.jump2d = { diff --git a/modules/plugins/mini/map/map.nix b/modules/plugins/mini/map/map.nix index 554e2072..2d42fe70 100644 --- a/modules/plugins/mini/map/map.nix +++ b/modules/plugins/mini/map/map.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.map = { diff --git a/modules/plugins/mini/misc/misc.nix b/modules/plugins/mini/misc/misc.nix index 7b36e9fd..1f4dcf55 100644 --- a/modules/plugins/mini/misc/misc.nix +++ b/modules/plugins/mini/misc/misc.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.misc = { diff --git a/modules/plugins/mini/move/move.nix b/modules/plugins/mini/move/move.nix index e97e837b..ec9eccac 100644 --- a/modules/plugins/mini/move/move.nix +++ b/modules/plugins/mini/move/move.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.move = { diff --git a/modules/plugins/mini/notify/notify.nix b/modules/plugins/mini/notify/notify.nix index 76e8c135..e98f6e71 100644 --- a/modules/plugins/mini/notify/notify.nix +++ b/modules/plugins/mini/notify/notify.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.notify = { diff --git a/modules/plugins/mini/operators/operators.nix b/modules/plugins/mini/operators/operators.nix index c60ad6b5..639229bf 100644 --- a/modules/plugins/mini/operators/operators.nix +++ b/modules/plugins/mini/operators/operators.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.operators = { diff --git a/modules/plugins/mini/pairs/pairs.nix b/modules/plugins/mini/pairs/pairs.nix index db43027b..926c93d3 100644 --- a/modules/plugins/mini/pairs/pairs.nix +++ b/modules/plugins/mini/pairs/pairs.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.pairs = { diff --git a/modules/plugins/mini/pick/pick.nix b/modules/plugins/mini/pick/pick.nix index 8f93ac35..d8ccbfd5 100644 --- a/modules/plugins/mini/pick/pick.nix +++ b/modules/plugins/mini/pick/pick.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.pick = { diff --git a/modules/plugins/mini/sessions/sessions.nix b/modules/plugins/mini/sessions/sessions.nix index 9a3737d6..0ceba595 100644 --- a/modules/plugins/mini/sessions/sessions.nix +++ b/modules/plugins/mini/sessions/sessions.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.sessions = { diff --git a/modules/plugins/mini/snippets/snippets.nix b/modules/plugins/mini/snippets/snippets.nix index 5dbb1557..d7f0355c 100644 --- a/modules/plugins/mini/snippets/snippets.nix +++ b/modules/plugins/mini/snippets/snippets.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.snippets = { diff --git a/modules/plugins/mini/splitjoin/splitjoin.nix b/modules/plugins/mini/splitjoin/splitjoin.nix index ae4f9420..44b2f23f 100644 --- a/modules/plugins/mini/splitjoin/splitjoin.nix +++ b/modules/plugins/mini/splitjoin/splitjoin.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.splitjoin = { diff --git a/modules/plugins/mini/starter/starter.nix b/modules/plugins/mini/starter/starter.nix index cb42061d..df550857 100644 --- a/modules/plugins/mini/starter/starter.nix +++ b/modules/plugins/mini/starter/starter.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.starter = { diff --git a/modules/plugins/mini/statusline/statusline.nix b/modules/plugins/mini/statusline/statusline.nix index 9e1301cf..2c850ae1 100644 --- a/modules/plugins/mini/statusline/statusline.nix +++ b/modules/plugins/mini/statusline/statusline.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.statusline = { diff --git a/modules/plugins/mini/surround/surround.nix b/modules/plugins/mini/surround/surround.nix index f4c1c199..726bf3f9 100644 --- a/modules/plugins/mini/surround/surround.nix +++ b/modules/plugins/mini/surround/surround.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.surround = { diff --git a/modules/plugins/mini/tabline/tabline.nix b/modules/plugins/mini/tabline/tabline.nix index 7dc48222..936273db 100644 --- a/modules/plugins/mini/tabline/tabline.nix +++ b/modules/plugins/mini/tabline/tabline.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.tabline = { diff --git a/modules/plugins/mini/test/test.nix b/modules/plugins/mini/test/test.nix index fba4db0b..28135a26 100644 --- a/modules/plugins/mini/test/test.nix +++ b/modules/plugins/mini/test/test.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.test = { diff --git a/modules/plugins/mini/trailspace/trailspace.nix b/modules/plugins/mini/trailspace/trailspace.nix index 003e159c..19757bfb 100644 --- a/modules/plugins/mini/trailspace/trailspace.nix +++ b/modules/plugins/mini/trailspace/trailspace.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.trailspace = { diff --git a/modules/plugins/mini/visits/visits.nix b/modules/plugins/mini/visits/visits.nix index 0560533e..c01e8ebf 100644 --- a/modules/plugins/mini/visits/visits.nix +++ b/modules/plugins/mini/visits/visits.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.mini.visits = { From 5f00d7d0d216c4f49e7e96b65232d0b64665dc93 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:32:36 +0100 Subject: [PATCH 107/202] mini/deps: add missing changelog entry --- docs/release-notes/rl-0.8.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 421b7916..b75fc410 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -65,6 +65,7 @@ - `mini.colors` - `mini.comment` - `mini.completion` + - `mini.deps` - `mini.diff` - `mini.doc` - `mini.extra` From e7649d1ec546b4dad1c1ef7a1e3f28b4a9b4551e Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 18 Jan 2025 20:45:47 +0300 Subject: [PATCH 108/202] meta: remove stale donation links --- .github/FUNDING.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 739d2d2c..97a82378 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,4 +1 @@ github: NotAShelf -ko_fi: NotAShelf -liberapay: NotAShelf - From 420082852636b812c9e9c6bdd4b6ecdc072030b6 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 18 Jan 2025 20:19:08 +0300 Subject: [PATCH 109/202] languages/nix: remove hardcoded indentation options --- modules/plugins/languages/nix.nix | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index 1120633c..4056a415 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -187,17 +187,6 @@ in { ''; } ]; - vim.pluginRC.nix = '' - vim.api.nvim_create_autocmd("FileType", { - pattern = "nix", - callback = function(opts) - local bo = vim.bo[opts.buf] - bo.tabstop = 2 - bo.shiftwidth = 2 - bo.softtabstop = 2 - end - }) - ''; } (mkIf cfg.treesitter.enable { From 7d0c56d74cd1ecbc5e01d14d81941708619e1aed Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 18 Jan 2025 20:20:15 +0300 Subject: [PATCH 110/202] docs: update v0.8 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 465bf5c9..e854eebc 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -26,6 +26,11 @@ - Deprecate rnix-lsp as it has been abandoned and archived upstream. +- Hardcoded indentation values for the Nix language module have been removed. To + replicate previous behaviour, you must either consolidate Nix indentation in + your Editorconfig configuration, or use an autocommand to set indentation + values for buffers with the Nix filetype. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim From f279e3a5856fb090b28f5ff69b8ce09e51349b67 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:53:44 +0100 Subject: [PATCH 111/202] utility/fzf-lua: init --- flake.lock | 17 +++++++++++++++++ flake.nix | 7 ++++++- modules/plugins/utility/default.nix | 1 + modules/plugins/utility/fzf-lua/config.nix | 16 ++++++++++++++++ modules/plugins/utility/fzf-lua/default.nix | 6 ++++++ modules/plugins/utility/fzf-lua/fzf-lua.nix | 18 ++++++++++++++++++ 6 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 modules/plugins/utility/fzf-lua/config.nix create mode 100644 modules/plugins/utility/fzf-lua/default.nix create mode 100644 modules/plugins/utility/fzf-lua/fzf-lua.nix diff --git a/flake.lock b/flake.lock index 918b0ce1..e28d03b5 100644 --- a/flake.lock +++ b/flake.lock @@ -599,6 +599,22 @@ "type": "github" } }, + "plugin-fzf-lua": { + "flake": false, + "locked": { + "lastModified": 1737131132, + "narHash": "sha256-0IdADUsIr+SZ0ort92jPPfGIH1EdcwELYz+TCmDCPPI=", + "owner": "ibhagwan", + "repo": "fzf-lua", + "rev": "fbe21aeb147b3dc8b188b5753a8e288ecedcee5e", + "type": "github" + }, + "original": { + "owner": "ibhagwan", + "repo": "fzf-lua", + "type": "github" + } + }, "plugin-gesture-nvim": { "flake": false, "locked": { @@ -2127,6 +2143,7 @@ "plugin-fidget-nvim": "plugin-fidget-nvim", "plugin-flutter-tools": "plugin-flutter-tools", "plugin-friendly-snippets": "plugin-friendly-snippets", + "plugin-fzf-lua": "plugin-fzf-lua", "plugin-gesture-nvim": "plugin-gesture-nvim", "plugin-gitsigns-nvim": "plugin-gitsigns-nvim", "plugin-glow-nvim": "plugin-glow-nvim", diff --git a/flake.nix b/flake.nix index 02ceb667..19443813 100644 --- a/flake.nix +++ b/flake.nix @@ -236,12 +236,17 @@ flake = false; }; - # Telescope + # Pickers plugin-telescope = { url = "github:nvim-telescope/telescope.nvim"; flake = false; }; + plugin-fzf-lua = { + url = "github:ibhagwan/fzf-lua"; + flake = false; + }; + # Runners plugin-run-nvim = { url = "github:diniamo/run.nvim"; diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 686295e2..8b25ea8f 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -14,5 +14,6 @@ ./wakatime ./surround ./preview + ./fzf-lua ]; } diff --git a/modules/plugins/utility/fzf-lua/config.nix b/modules/plugins/utility/fzf-lua/config.nix new file mode 100644 index 00000000..558f3cd1 --- /dev/null +++ b/modules/plugins/utility/fzf-lua/config.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.fzf-lua; +in { + vim.lazy.plugins."fzf-lua" = mkIf cfg.enable { + package = "fzf-lua"; + cmd = ["FzfLua"]; + setupModule = "fzf-lua"; + inherit (cfg) setupOpts; + }; +} diff --git a/modules/plugins/utility/fzf-lua/default.nix b/modules/plugins/utility/fzf-lua/default.nix new file mode 100644 index 00000000..e5147e44 --- /dev/null +++ b/modules/plugins/utility/fzf-lua/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./fzf-lua.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/fzf-lua/fzf-lua.nix b/modules/plugins/utility/fzf-lua/fzf-lua.nix new file mode 100644 index 00000000..099911be --- /dev/null +++ b/modules/plugins/utility/fzf-lua/fzf-lua.nix @@ -0,0 +1,18 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption borderType; +in { + options.vim.fzf-lua = { + enable = mkEnableOption "fzf-lua"; + setupOpts = mkPluginSetupOption "mini.ai" { + winopts.border = mkOption { + type = borderType; + default = config.vim.ui.borders.globalStyle; + }; + }; + }; +} From ce7017cf5ba6ea53359d002c8433e18b1a6dd83b Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 21:55:06 +0100 Subject: [PATCH 112/202] utility/fzf-lua: add changelog --- docs/release-notes/rl-0.8.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e854eebc..9271e796 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -59,6 +59,7 @@ - Add `vim.snippets.luasnip.setupOpts`, which was previously missing. - Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`. +- Add [fzf-lua](https://github.com/ibhagwan/fzf-lua) in `vim.fzf-lua` [kaktu5](https://github.com/kaktu5): From 775963dd9dcd3b82746a558b12dad445288ecc9e Mon Sep 17 00:00:00 2001 From: LilleAila Date: Fri, 17 Jan 2025 22:02:25 +0100 Subject: [PATCH 113/202] utility/fzf-lua: add border option description --- modules/plugins/utility/fzf-lua/fzf-lua.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/plugins/utility/fzf-lua/fzf-lua.nix b/modules/plugins/utility/fzf-lua/fzf-lua.nix index 099911be..3b45ab02 100644 --- a/modules/plugins/utility/fzf-lua/fzf-lua.nix +++ b/modules/plugins/utility/fzf-lua/fzf-lua.nix @@ -12,6 +12,7 @@ in { winopts.border = mkOption { type = borderType; default = config.vim.ui.borders.globalStyle; + description = "Border type for the fzf-lua picker window"; }; }; }; From ba55a1b54a5b5c4d0cc0d035132a9bc9c0733db6 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sat, 18 Jan 2025 10:10:59 +0100 Subject: [PATCH 114/202] utility/fzf-lua: add profile option, fix name --- modules/plugins/utility/fzf-lua/config.nix | 2 +- modules/plugins/utility/fzf-lua/fzf-lua.nix | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/modules/plugins/utility/fzf-lua/config.nix b/modules/plugins/utility/fzf-lua/config.nix index 558f3cd1..85425fc7 100644 --- a/modules/plugins/utility/fzf-lua/config.nix +++ b/modules/plugins/utility/fzf-lua/config.nix @@ -11,6 +11,6 @@ in { package = "fzf-lua"; cmd = ["FzfLua"]; setupModule = "fzf-lua"; - inherit (cfg) setupOpts; + setupOpts = cfg.setupOpts // {"@1" = cfg.profile;}; }; } diff --git a/modules/plugins/utility/fzf-lua/fzf-lua.nix b/modules/plugins/utility/fzf-lua/fzf-lua.nix index 3b45ab02..5657f666 100644 --- a/modules/plugins/utility/fzf-lua/fzf-lua.nix +++ b/modules/plugins/utility/fzf-lua/fzf-lua.nix @@ -3,17 +3,35 @@ lib, ... }: let + inherit (lib.types) nullOr enum; inherit (lib.options) mkEnableOption mkOption; inherit (lib.nvim.types) mkPluginSetupOption borderType; in { options.vim.fzf-lua = { enable = mkEnableOption "fzf-lua"; - setupOpts = mkPluginSetupOption "mini.ai" { + setupOpts = mkPluginSetupOption "fzf-lua" { winopts.border = mkOption { type = borderType; default = config.vim.ui.borders.globalStyle; description = "Border type for the fzf-lua picker window"; }; }; + profile = mkOption { + type = enum [ + "default" + "default-title" + "fzf-native" + "fzf-tmux" + "fzf-vim" + "max-perf" + "telescope" + "skim" + "borderless" + "borderless-full" + "border-fused" + ]; + default = "default"; + description = "The configuration profile ot use"; + }; }; } From f338fd3411589b16340b7560eb7476f1438fa536 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sat, 18 Jan 2025 10:12:33 +0100 Subject: [PATCH 115/202] utility/fzf-lua: fix typo in profile description --- modules/plugins/utility/fzf-lua/fzf-lua.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/utility/fzf-lua/fzf-lua.nix b/modules/plugins/utility/fzf-lua/fzf-lua.nix index 5657f666..c700add7 100644 --- a/modules/plugins/utility/fzf-lua/fzf-lua.nix +++ b/modules/plugins/utility/fzf-lua/fzf-lua.nix @@ -31,7 +31,7 @@ in { "border-fused" ]; default = "default"; - description = "The configuration profile ot use"; + description = "The configuration profile to use"; }; }; } From ae81ab2c5f1ead51b79510fef46f96f8f76cb5f5 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sun, 19 Jan 2025 10:15:51 +0100 Subject: [PATCH 116/202] mini/notify: set vim.notify, assert nvim-notify --- modules/plugins/mini/notify/config.nix | 7 +++--- modules/plugins/mini/notify/notify.nix | 34 +++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/modules/plugins/mini/notify/config.nix b/modules/plugins/mini/notify/config.nix index 2a5ff46e..6872092c 100644 --- a/modules/plugins/mini/notify/config.nix +++ b/modules/plugins/mini/notify/config.nix @@ -3,17 +3,18 @@ lib, ... }: let - inherit (lib.modules) mkIf; + inherit (lib.modules) mkIf mkAssert; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.mini.notify; in { - vim = mkIf cfg.enable { + vim = mkIf cfg.enable (mkAssert (!config.vim.notify.nvim-notify.enable) "Mini.notify is incompatible with nvim-notify!" { startPlugins = ["mini-notify"]; pluginRC.mini-notify = entryAnywhere '' require("mini.notify").setup(${toLuaObject cfg.setupOpts}) + vim.notify = MiniNotify.make_notify(${toLuaObject cfg.notifyOpts}) ''; - }; + }); } diff --git a/modules/plugins/mini/notify/notify.nix b/modules/plugins/mini/notify/notify.nix index e98f6e71..628be47a 100644 --- a/modules/plugins/mini/notify/notify.nix +++ b/modules/plugins/mini/notify/notify.nix @@ -3,11 +3,39 @@ lib, ... }: let - inherit (lib.options) mkEnableOption; - inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.types) int str; + inherit (lib.nvim.types) mkPluginSetupOption borderType; + + mkNotifyOpt = name: duration: hl_group: { + duration = mkOption { + type = int; + default = duration; + description = "The duration of the ${name} notification"; + }; + hl_group = mkOption { + type = str; + default = hl_group; + description = "The highlight group of the ${name} notification"; + }; + }; in { options.vim.mini.notify = { enable = mkEnableOption "mini.notify"; - setupOpts = mkPluginSetupOption "mini.notify" {}; + setupOpts = mkPluginSetupOption "mini.notify" { + window.config.border = mkOption { + type = borderType; + default = config.vim.ui.borders.globalStyle; + description = "The border type for the mini.notify-notifications"; + }; + }; + notifyOpts = mkPluginSetupOption "mini.notify notifications" { + ERROR = mkNotifyOpt "error" 5000 "DiagnosticError"; + WARN = mkNotifyOpt "warn" 5000 "DiagnosticWarn"; + INFO = mkNotifyOpt "info" 5000 "DiagnosticInfo"; + DEBUG = mkNotifyOpt "debug" 0 "DiagnosticHint"; + TRACE = mkNotifyOpt "trace" 0 "DiagnosticOk"; + OFF = mkNotifyOpt "off" 0 "MiniNotifyNormal"; + }; }; } From e331f009d5e43339815331c0f02906b3e4039190 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sun, 19 Jan 2025 10:19:34 +0100 Subject: [PATCH 117/202] mini/hues: more descriptive color options --- modules/plugins/mini/hues/hues.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/modules/plugins/mini/hues/hues.nix b/modules/plugins/mini/hues/hues.nix index f848923a..13de5116 100644 --- a/modules/plugins/mini/hues/hues.nix +++ b/modules/plugins/mini/hues/hues.nix @@ -12,21 +12,13 @@ in { enable = mkEnableOption "mini.hues"; setupOpts = mkPluginSetupOption "mini.hues" { background = mkOption { - description = "The background color to use"; + description = "The hex color for the background color of the color scheme, prefixed with #"; type = hexColor; - apply = v: - if hasPrefix "#" v - then v - else "#${v}"; }; foreground = mkOption { - description = "The foreground color to use"; + description = "The hex color for the foreground color of the color scheme, prefixed with #"; type = hexColor; - apply = v: - if hasPrefix "#" v - then v - else "#${v}"; }; }; }; From abd9176a2ad6eaa0ad6fff3ae2cee9c7c5f8dd0e Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 19 Jan 2025 13:09:47 +0300 Subject: [PATCH 118/202] ci/docs-preview: use `pull_request_target` Run code with access to the tokens on the target branch, *after* approval. --- .github/workflows/docs-preview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs-preview.yml b/.github/workflows/docs-preview.yml index c38be9da..e6d2e662 100644 --- a/.github/workflows/docs-preview.yml +++ b/.github/workflows/docs-preview.yml @@ -2,7 +2,7 @@ name: Build and Preview Manual on: workflow_dispatch: - pull_request: + pull_request_target: types: [opened, synchronize, reopened, closed] paths: - ".github/workflows/docs-preview.yml" From db8a586b7ed5a59995e13e5dab63b39a204946a3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 19 Jan 2025 13:21:51 +0300 Subject: [PATCH 119/202] neovim/init: enable `preventJunkFiles` by default --- modules/neovim/init/basic.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index 532ebcea..b4677de9 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -55,8 +55,14 @@ in { preventJunkFiles = mkOption { type = bool; - default = false; - description = "Prevent swapfile and backupfile from being created"; + default = true; + example = false; + description = '' + Prevent swapfile and backupfile from being created. + + `false` is the default Neovim behaviour. If you wish to create + backup and swapfiles, set this option to `false`. + ''; }; bell = mkOption { From dfd4dc8494be4f09076ce8b1239177c8a5d10420 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sun, 19 Jan 2025 12:52:45 +0100 Subject: [PATCH 120/202] visuals/rainbow-delimiters: init --- docs/release-notes/rl-0.8.md | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/plugins/visuals/default.nix | 1 + .../visuals/rainbow-delimiters/config.nix | 18 ++++++++++++++++++ .../visuals/rainbow-delimiters/default.nix | 6 ++++++ .../rainbow-delimiters/rainbow-delimiters.nix | 13 +++++++++++++ 7 files changed, 61 insertions(+) create mode 100644 modules/plugins/visuals/rainbow-delimiters/config.nix create mode 100644 modules/plugins/visuals/rainbow-delimiters/default.nix create mode 100644 modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 42927baf..a164d776 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -102,6 +102,7 @@ - `mini.trailspace` - `mini.visits` - Add [fzf-lua](https://github.com/ibhagwan/fzf-lua) in `vim.fzf-lua` +- Add [rainbow-delimiters](https://github.com/HiPhish/rainbow-delimiters.nvim) in `vim.visuals.rainbow-delimiters` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 7b7f0bab..c328bda1 100644 --- a/flake.lock +++ b/flake.lock @@ -2361,6 +2361,22 @@ "type": "github" } }, + "plugin-rainbow-delimiters": { + "flake": false, + "locked": { + "lastModified": 1736686348, + "narHash": "sha256-zWHXYs3XdnoszqOFY3hA2L5mNn1a44OAeKv3lL3EMEw=", + "owner": "HiPhish", + "repo": "rainbow-delimiters.nvim", + "rev": "85b80abaa09cbbc039e3095b2f515b3cf8cadd11", + "type": "github" + }, + "original": { + "owner": "HiPhish", + "repo": "rainbow-delimiters.nvim", + "type": "github" + } + }, "plugin-registers": { "flake": false, "locked": { @@ -2893,6 +2909,7 @@ "plugin-precognition-nvim": "plugin-precognition-nvim", "plugin-project-nvim": "plugin-project-nvim", "plugin-promise-async": "plugin-promise-async", + "plugin-rainbow-delimiters": "plugin-rainbow-delimiters", "plugin-registers": "plugin-registers", "plugin-render-markdown-nvim": "plugin-render-markdown-nvim", "plugin-rose-pine": "plugin-rose-pine", diff --git a/flake.nix b/flake.nix index 05b6fc4b..5d4728f6 100644 --- a/flake.nix +++ b/flake.nix @@ -502,6 +502,11 @@ flake = false; }; + plugin-rainbow-delimiters = { + url = "github:HiPhish/rainbow-delimiters.nvim"; + flake = false; + }; + # Minimap plugin-minimap-vim = { url = "github:wfxr/minimap.vim"; diff --git a/modules/plugins/visuals/default.nix b/modules/plugins/visuals/default.nix index 0843654e..3a44aa45 100644 --- a/modules/plugins/visuals/default.nix +++ b/modules/plugins/visuals/default.nix @@ -15,6 +15,7 @@ in { ./nvim-cursorline ./nvim-scrollbar ./nvim-web-devicons + ./rainbow-delimiters ./tiny-devicons-auto-colors ]; } diff --git a/modules/plugins/visuals/rainbow-delimiters/config.nix b/modules/plugins/visuals/rainbow-delimiters/config.nix new file mode 100644 index 00000000..361a0426 --- /dev/null +++ b/modules/plugins/visuals/rainbow-delimiters/config.nix @@ -0,0 +1,18 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + cfg = config.vim.visuals.rainbow-delimiters; +in { + vim = mkIf cfg.enable { + startPlugins = ["rainbow-delimiters"]; + + pluginRC.rainbow-delimiters = entryAnywhere '' + vim.g.rainbow_delimiters = ${toLuaObject cfg.setupOpts} + ''; + }; +} diff --git a/modules/plugins/visuals/rainbow-delimiters/default.nix b/modules/plugins/visuals/rainbow-delimiters/default.nix new file mode 100644 index 00000000..50aaad0e --- /dev/null +++ b/modules/plugins/visuals/rainbow-delimiters/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./rainbow-delimiters.nix + ./config.nix + ]; +} diff --git a/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix b/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix new file mode 100644 index 00000000..3fed4a64 --- /dev/null +++ b/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.visuals.rainbow-delimiters = { + enable = mkEnableOption "rainbow-delimiters"; + setupOpts = mkPluginSetupOption "rainbow-delimiters" {}; + }; +} From fcb6f82892ad1c5831cb369a0328f2abb677f47f Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sun, 19 Jan 2025 18:01:43 +0100 Subject: [PATCH 121/202] highlight: init --- docs/release-notes/rl-0.8.md | 1 + modules/neovim/init/default.nix | 1 + modules/neovim/init/highlight.nix | 106 ++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 modules/neovim/init/highlight.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 42927baf..f835abf1 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -102,6 +102,7 @@ - `mini.trailspace` - `mini.visits` - Add [fzf-lua](https://github.com/ibhagwan/fzf-lua) in `vim.fzf-lua` +- Add options to define highlights under `vim.highlight` [kaktu5](https://github.com/kaktu5): diff --git a/modules/neovim/init/default.nix b/modules/neovim/init/default.nix index 11d9cf59..b0c7e0ce 100644 --- a/modules/neovim/init/default.nix +++ b/modules/neovim/init/default.nix @@ -2,6 +2,7 @@ imports = [ ./basic.nix ./debug.nix + ./highlight.nix ./spellcheck.nix ]; } diff --git a/modules/neovim/init/highlight.nix b/modules/neovim/init/highlight.nix new file mode 100644 index 00000000..d00fe74a --- /dev/null +++ b/modules/neovim/init/highlight.nix @@ -0,0 +1,106 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkOption literalExpression; + inherit (lib.types) nullOr attrsOf listOf submodule bool ints str; + inherit (lib.strings) hasPrefix concatStringsSep; + inherit (lib.attrsets) mapAttrsToList; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.types) hexColor; + + mkColorOption = target: + mkOption { + type = nullOr hexColor; + default = null; + description = '' + The ${target} color to use. Written as color name or hex "#RRGGBB". + ''; + example = "#ebdbb2"; + }; + + mkBoolOption = name: + mkOption { + type = nullOr bool; + default = null; + description = ''Whether to enable ${name}''; + example = false; + }; + + cfg = config.vim.highlight; +in { + options.vim.highlight = mkOption { + type = attrsOf (submodule { + # See :h nvim_set_hl + options = { + bg = mkColorOption "background"; + fg = mkColorOption "foreground"; + sp = mkColorOption "special"; + blend = mkOption { + type = nullOr (ints.between 0 100); + default = null; + description = "Blend as an integer between 0 and 100"; + }; + bold = mkBoolOption "bold"; + standout = mkBoolOption "standout"; + underline = mkBoolOption "underline"; + undercurl = mkBoolOption "undercurl"; + underdouble = mkBoolOption "underdouble"; + underdotted = mkBoolOption "underdotted"; + underdashed = mkBoolOption "underdashed"; + strikethrough = mkBoolOption "strikethrough"; + italic = mkBoolOption "italic"; + reverse = mkBoolOption "reverse"; + nocombine = mkBoolOption "nocombine"; + link = mkOption { + type = nullOr str; + default = null; + description = "The name of another highlight group to link to"; + }; + default = mkOption { + type = nullOr bool; + default = null; + description = "Don't override existing definition"; + }; + ctermfg = mkOption { + type = nullOr str; + default = null; + description = "The cterm foreground color to use"; + }; + ctermbg = mkOption { + type = nullOr str; + default = null; + description = "The cterm background color to use"; + }; + cterm = mkOption { + type = nullOr (listOf str); + default = null; + description = "The cterm arguments to use. See :h highlight-args"; + }; + force = mkBoolOption "force update"; + }; + }); + default = {}; + description = "Custom highlight to apply"; + example = literalExpression '' + { + SignColumn = { + bg = "#282828"; + }; + } + ''; + }; + + config = { + vim.luaConfigRC.highlight = let + highlights = + mapAttrsToList ( + name: value: ''vim.api.nvim_set_hl(0, ${toLuaObject name}, ${toLuaObject value})'' + ) + cfg; + in + entryAnywhere (concatStringsSep "\n" highlights); + }; +} From 5e3a0dcdc32259e50a78d763a6f5720b73b1de5e Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sun, 19 Jan 2025 18:11:12 +0100 Subject: [PATCH 122/202] highlight: cterm as enum --- modules/neovim/init/highlight.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/modules/neovim/init/highlight.nix b/modules/neovim/init/highlight.nix index d00fe74a..8c110cac 100644 --- a/modules/neovim/init/highlight.nix +++ b/modules/neovim/init/highlight.nix @@ -4,7 +4,7 @@ ... }: let inherit (lib.options) mkOption literalExpression; - inherit (lib.types) nullOr attrsOf listOf submodule bool ints str; + inherit (lib.types) nullOr attrsOf listOf submodule bool ints str enum; inherit (lib.strings) hasPrefix concatStringsSep; inherit (lib.attrsets) mapAttrsToList; inherit (lib.nvim.dag) entryAnywhere; @@ -75,7 +75,22 @@ in { description = "The cterm background color to use"; }; cterm = mkOption { - type = nullOr (listOf str); + type = nullOr (listOf (enum [ + "bold" + "underline" + "undercurl" + "underdouble" + "underdotted" + "underdashed" + "strikethrough" + "reverse" + "inverse" + "italic" + "standout" + "altfont" + "nocombine" + "NONE" + ])); default = null; description = "The cterm arguments to use. See :h highlight-args"; }; From 653e5d6a176378386e803c767aa8da4dbdd96f11 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Sun, 19 Jan 2025 19:36:32 +0100 Subject: [PATCH 123/202] highlight: implement suggestions --- docs/release-notes/rl-0.8.md | 2 +- modules/neovim/init/highlight.nix | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f835abf1..7fe3d2e5 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -102,7 +102,7 @@ - `mini.trailspace` - `mini.visits` - Add [fzf-lua](https://github.com/ibhagwan/fzf-lua) in `vim.fzf-lua` -- Add options to define highlights under `vim.highlight` +- Add options to define highlights under [](#opt-vim.highlight) [kaktu5](https://github.com/kaktu5): diff --git a/modules/neovim/init/highlight.nix b/modules/neovim/init/highlight.nix index 8c110cac..606f1c05 100644 --- a/modules/neovim/init/highlight.nix +++ b/modules/neovim/init/highlight.nix @@ -3,11 +3,11 @@ lib, ... }: let - inherit (lib.options) mkOption literalExpression; + inherit (lib.options) mkOption; inherit (lib.types) nullOr attrsOf listOf submodule bool ints str enum; - inherit (lib.strings) hasPrefix concatStringsSep; + inherit (lib.strings) hasPrefix concatLines; inherit (lib.attrsets) mapAttrsToList; - inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.dag) entryBetween; inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.types) hexColor; @@ -15,18 +15,18 @@ mkOption { type = nullOr hexColor; default = null; + example = "#ebdbb2"; description = '' The ${target} color to use. Written as color name or hex "#RRGGBB". ''; - example = "#ebdbb2"; }; mkBoolOption = name: mkOption { type = nullOr bool; default = null; - description = ''Whether to enable ${name}''; example = false; + description = "Whether to enable ${name}"; }; cfg = config.vim.highlight; @@ -98,14 +98,14 @@ in { }; }); default = {}; - description = "Custom highlight to apply"; - example = literalExpression '' + example = '' { SignColumn = { bg = "#282828"; }; } ''; + description = "Custom highlights to apply"; }; config = { @@ -116,6 +116,6 @@ in { ) cfg; in - entryAnywhere (concatStringsSep "\n" highlights); + entryBetween ["lazyConfigs" "pluginConfigs" "extraPluginConfigs"] ["theme"] (concatLines highlights); }; } From 28bbe89fbc92ff6a1b6c180d9812ee6ddf706207 Mon Sep 17 00:00:00 2001 From: LilleAila Date: Mon, 20 Jan 2025 14:16:45 +0100 Subject: [PATCH 124/202] highlight: example without '' --- modules/neovim/init/highlight.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/modules/neovim/init/highlight.nix b/modules/neovim/init/highlight.nix index 606f1c05..8c7eca82 100644 --- a/modules/neovim/init/highlight.nix +++ b/modules/neovim/init/highlight.nix @@ -98,13 +98,11 @@ in { }; }); default = {}; - example = '' - { - SignColumn = { - bg = "#282828"; - }; - } - ''; + example = { + SignColumn = { + bg = "#282828"; + }; + }; description = "Custom highlights to apply"; }; From f58f41629f82ea7c88a84333ba261369194fe7de Mon Sep 17 00:00:00 2001 From: LilleAila Date: Mon, 20 Jan 2025 14:28:36 +0100 Subject: [PATCH 125/202] highlight: :h reference in single quotes --- modules/neovim/init/highlight.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/neovim/init/highlight.nix b/modules/neovim/init/highlight.nix index 8c7eca82..7e992fd1 100644 --- a/modules/neovim/init/highlight.nix +++ b/modules/neovim/init/highlight.nix @@ -92,7 +92,7 @@ in { "NONE" ])); default = null; - description = "The cterm arguments to use. See :h highlight-args"; + description = "The cterm arguments to use. See ':h highlight-args'"; }; force = mkBoolOption "force update"; }; From 4b6021073cd9aa09f75c4c2e89fa18cd3224793a Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 22 Jan 2025 12:16:03 +0300 Subject: [PATCH 126/202] flake: bump nixpkgs --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index c328bda1..ee19b7c8 100644 --- a/flake.lock +++ b/flake.lock @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735523292, - "narHash": "sha256-opBsbR/nrGxiiF6XzlVluiHYb6yN/hEwv+lBWTy9xoM=", + "lastModified": 1737370608, + "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6d97d419e5a9b36e6293887a89a078cf85f5a61b", + "rev": "300081d0cc72df578b02d914df941b8ec62240e6", "type": "github" }, "original": { From 547cbd28b61b605fa7e308f0575d1f4acb7f3aac Mon Sep 17 00:00:00 2001 From: ARCIII <88923299+ArmandoCIII@users.noreply.github.com> Date: Sat, 25 Jan 2025 08:17:48 -0500 Subject: [PATCH 127/202] languages/zig: add dap support (#581) * languages/zig: Added dap support Implemented DAP support for zig. Included comment regarding redundant `dap.adapters.lldb` code when both clang and zig dap modules are enabled. * languages/zig: Added dap support cleanup Cleaned up code from the zig dap implementation for consistency. --- docs/release-notes/rl-0.8.md | 5 +++ modules/plugins/languages/zig.nix | 61 ++++++++++++++++++++++++++++++- 2 files changed, 64 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 95bb6661..b06a071f 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -122,3 +122,8 @@ [ruff]: (https://github.com/astral-sh/ruff) - Add [ruff] as a formatter option in `vim.languages.python.format.type`. + +[ARCIII](https://github.com/ArmandoCIII): + +- Add `vim.languages.zig.dap` support through pkgs.lldb dap adapter. + Code Inspiration from `vim.languages.clang.dap` implementation. diff --git a/modules/plugins/languages/zig.nix b/modules/plugins/languages/zig.nix index 1b9a588b..2aa0e2b6 100644 --- a/modules/plugins/languages/zig.nix +++ b/modules/plugins/languages/zig.nix @@ -8,10 +8,12 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge mkDefault; inherit (lib.lists) isList; - inherit (lib.types) either listOf package str enum; + inherit (lib.types) bool either listOf package str enum; inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.types) mkGrammarOption; + cfg = config.vim.languages.zig; + defaultServer = "zls"; servers = { zls = { @@ -31,7 +33,35 @@ }; }; - cfg = config.vim.languages.zig; + # TODO: dap.adapter.lldb is duplicated when enabling the + # vim.languages.clang.dap module. This does not cause + # breakage... but could be cleaner. + defaultDebugger = "lldb-vscode"; + debuggers = { + lldb-vscode = { + package = pkgs.lldb; + dapConfig = '' + dap.adapters.lldb = { + type = 'executable', + command = '${cfg.dap.package}/bin/lldb-dap', + name = 'lldb' + } + dap.configurations.zig = { + { + name = 'Launch', + type = 'lldb', + request = 'launch', + program = function() + return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') + end, + cwd = "''${workspaceFolder}", + stopOnEntry = false, + args = {}, + }, + } + ''; + }; + }; in { options.vim.languages.zig = { enable = mkEnableOption "Zig language support"; @@ -56,6 +86,26 @@ in { default = pkgs.zls; }; }; + + dap = { + enable = mkOption { + type = bool; + default = config.vim.languages.enableDAP; + description = "Enable Zig Debug Adapter"; + }; + + debugger = mkOption { + type = enum (attrNames debuggers); + default = defaultDebugger; + description = "Zig debugger to use"; + }; + + package = mkOption { + type = package; + default = debuggers.${cfg.dap.debugger}.package; + description = "Zig debugger package."; + }; + }; }; config = mkIf cfg.enable (mkMerge [ @@ -77,5 +127,12 @@ in { globals.zig_fmt_autosave = mkDefault 0; }; }) + + (mkIf cfg.dap.enable { + vim = { + debugger.nvim-dap.enable = true; + debugger.nvim-dap.sources.zig-debugger = debuggers.${cfg.dap.debugger}.dapConfig; + }; + }) ]); } From 9a9340960609a25762379113f6634c317decffc6 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 19 Jan 2025 20:26:52 +0300 Subject: [PATCH 128/202] lsp/lightbulb: cleanup; modularize autocommand behaviour --- docs/release-notes/rl-0.8.md | 16 +++++++++--- modules/plugins/lsp/lightbulb/config.nix | 27 +++++++++++++++++---- modules/plugins/lsp/lightbulb/lightbulb.nix | 22 +++++++++++++++-- 3 files changed, 54 insertions(+), 11 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index b06a071f..f5e9d0a0 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -31,6 +31,12 @@ your Editorconfig configuration, or use an autocommand to set indentation values for buffers with the Nix filetype. +- Add [](#opt-vim.lsp.lightbulb.autocmd.enable) for manually managing the + previously managed lightbulb autocommand. + - A warning will occur if [](#opt-vim.lsp.lightbulb.autocmd.enable) and + `vim.lsp.lightbulb.setupOpts.autocmd.enabled` are both set at the same time. + Pick only one. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim @@ -59,7 +65,8 @@ - Add `vim.snippets.luasnip.setupOpts`, which was previously missing. - Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`. -- Add the following plugins from [mini.nvim](https://github.com/echasnovski/mini.nvim) +- Add the following plugins from + [mini.nvim](https://github.com/echasnovski/mini.nvim) - `mini.ai` - `mini.align` - `mini.animate` @@ -102,7 +109,8 @@ - `mini.trailspace` - `mini.visits` - Add [fzf-lua](https://github.com/ibhagwan/fzf-lua) in `vim.fzf-lua` -- Add [rainbow-delimiters](https://github.com/HiPhish/rainbow-delimiters.nvim) in `vim.visuals.rainbow-delimiters` +- Add [rainbow-delimiters](https://github.com/HiPhish/rainbow-delimiters.nvim) + in `vim.visuals.rainbow-delimiters` - Add options to define highlights under [](#opt-vim.highlight) [kaktu5](https://github.com/kaktu5): @@ -125,5 +133,5 @@ [ARCIII](https://github.com/ArmandoCIII): -- Add `vim.languages.zig.dap` support through pkgs.lldb dap adapter. - Code Inspiration from `vim.languages.clang.dap` implementation. +- Add `vim.languages.zig.dap` support through pkgs.lldb dap adapter. Code + Inspiration from `vim.languages.clang.dap` implementation. diff --git a/modules/plugins/lsp/lightbulb/config.nix b/modules/plugins/lsp/lightbulb/config.nix index f17b8ad9..17e740ad 100644 --- a/modules/plugins/lsp/lightbulb/config.nix +++ b/modules/plugins/lsp/lightbulb/config.nix @@ -4,6 +4,7 @@ ... }: let inherit (lib.modules) mkIf; + inherit (lib.strings) optionalString; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.lua) toLuaObject; @@ -12,13 +13,29 @@ in { config = mkIf (cfg.enable && cfg.lightbulb.enable) { vim = { startPlugins = ["nvim-lightbulb"]; - pluginRC.lightbulb = entryAnywhere '' - vim.api.nvim_command('autocmd CursorHold,CursorHoldI * lua require\'nvim-lightbulb\'.update_lightbulb()') - - -- Enable trouble diagnostics viewer - require'nvim-lightbulb'.setup(${toLuaObject cfg.lightbulb.setupOpts}) + local nvim_lightbulb = require("nvim-lightbulb") + nvim_lightbulb.setup(${toLuaObject cfg.lightbulb.setupOpts}) + ${optionalString cfg.lightbulb.autocmd.enable '' + vim.api.nvim_create_autocmd(${toLuaObject cfg.lightbulb.autocmd.events}, { + pattern = ${toLuaObject cfg.lightbulb.autocmd.pattern}, + callback = function() + nvim_lightbulb.update_lightbulb() + end, + }) + ''} ''; }; + + warnings = [ + # This could have been an assertion, but the chances of collision is very low and asserting here + # might be too dramatic. Let's only warn the user, *in case* this occurs and is not intended. No + # error will be thrown if 'lightbulb.setupOpts.autocmd.enable' has not been set by the user. + (mkIf (cfg.lightbulb.autocmd.enable -> (cfg.lightbulb.setupOpts.autocmd.enabled or false)) '' + Both 'vim.lsp.lightbulb.autocmd.enable' and 'vim.lsp.lightbulb.setupOpts.autocmd.enable' are set + simultaneously. This might have performance implications due to frequent updates. Please set only + one option to handle nvim-lightbulb autocmd. + '') + ]; }; } diff --git a/modules/plugins/lsp/lightbulb/lightbulb.nix b/modules/plugins/lsp/lightbulb/lightbulb.nix index 4341cac6..012d54aa 100644 --- a/modules/plugins/lsp/lightbulb/lightbulb.nix +++ b/modules/plugins/lsp/lightbulb/lightbulb.nix @@ -1,11 +1,29 @@ {lib, ...}: let - inherit (lib.options) mkEnableOption; - inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.options) mkOption mkEnableOption; + inherit (lib.types) listOf str either; + inherit (lib.nvim.types) mkPluginSetupOption luaInline; in { options.vim.lsp = { lightbulb = { enable = mkEnableOption "Lightbulb for code actions. Requires an emoji font"; setupOpts = mkPluginSetupOption "nvim-lightbulb" {}; + autocmd = { + enable = mkEnableOption "updating lightbulb glyph automatically" // {default = true;}; + events = mkOption { + type = listOf str; + default = ["CursorHold" "CursorHoldI"]; + description = "Events on which to update nvim-lightbulb glyphs"; + }; + + pattern = mkOption { + type = either str luaInline; + default = "*"; + description = '' + File patterns or buffer names to match, determining which files or buffers trigger + glyph updates. + ''; + }; + }; }; }; } From a5b7b17947e42d3a990d2db8361d794987b1d963 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 25 Jan 2025 17:21:08 +0300 Subject: [PATCH 129/202] docs: improve manpages; mention helpful utilities --- docs/man/header.5 | 15 +++++++++------ docs/man/nvf.1 | 41 ++++++++++++++++++++++++++++++----------- 2 files changed, 39 insertions(+), 17 deletions(-) diff --git a/docs/man/header.5 b/docs/man/header.5 index a28fc3dd..556a113a 100644 --- a/docs/man/header.5 +++ b/docs/man/header.5 @@ -1,13 +1,16 @@ -.TH "nvf" "5" "01/01/1980" "nvf" +.TH "nvf" "5" "January 1, 1980" "nvf" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" enable line breaks after slashes .cflags 4 / + .SH "NAME" -nvf configuration specification -.SH "OPTIONS" -.PP -You can use the following options to configure nvf: -.PP +nvf \- Configuration specification for the nvf. + +.SH "DESCRIPTION" +The nvf configuration specification provides a declarative structure for configuring Neovim using Nix with few +lines of Nix. This document outlines the available options and their usage to create modular, reusable, and +reproducible configurations using nvf's module system options. For tips, tricks and possible quirks with available +plugins please visit https://notashelf.github.io/nvf/ diff --git a/docs/man/nvf.1 b/docs/man/nvf.1 index 0f1e36dc..d7519651 100644 --- a/docs/man/nvf.1 +++ b/docs/man/nvf.1 @@ -1,5 +1,5 @@ .Dd January 1, 1980 -.Dt nvf 1 +.Dt NVF 1 .Os nvf .\" disable hyphenation .nh @@ -7,27 +7,46 @@ .ad l .\" enable line breaks after slashes .cflags 4 / + .Sh NAME .Nm nvf -.Nd A highly modular, extensible and distro-agnostic Neovim configuration framework for Nix/NixOS. -. +.Nd A modular, extensible, and distro-agnostic Neovim configuration framework for Nix/NixOS. + +.Sh DESCRIPTION +.Nm nvf +is a highly modular, configurable, extensible, and easy-to-use Neovim configuration in Nix. +Designed for flexibility and ease of use, nvf allows you to easily configure your fully featured +Neovim instance with a few lines of Nix. + +.Sh COMMANDS +The following commands are bundled with nvf to allow easier debugging of your configuration. + +.Bl -tag -width Ds +.It Nm nvf-print-config +Outputs the full configuration of the current `nvf` setup. This command is useful for debugging +or inspecting the applied configuration. +.Pp +.It Nm nvf-print-config-path +Prints the file path to the configuration file currently in use. This command is helpful for locating +the source configuration file for troubleshooting or easily sharing it via online paste utilities. +.El + .Sh BUGS .Pp -Please report any bugs that you might encounter on the -\m[blue]\fBproject issue tracker\fR\m[]\&. +Please report any bugs on the project issue tracker: +.Lk https://github.com/notashelf/nvf/issues .Sh SEE ALSO .Pp -\fBnvf\fR(5) +.Fn nvf 5 .Sh AUTHOR .Pp -\fBnvf contributors\fR +.Fn nvf contributors .RS 4 -Author. +Primary contributors and maintainers of the project. .RE .Sh COPYRIGHT -.br -Copyright \(co 2023\(en2024 nvf contributors -.br +.Pp +Copyright (c) 2023–2025 nvf contributors. From 0fbcf1ca6f6bb6eb7b2aa779559c294d8b0b9951 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 26 Jan 2025 13:45:58 +0300 Subject: [PATCH 130/202] utility/yanky-nvim: init --- configuration.nix | 1 + docs/release-notes/rl-0.8.md | 4 +++ flake.lock | 17 ++++++++++ flake.nix | 5 +++ modules/plugins/utility/default.nix | 18 +++++------ modules/plugins/utility/yanky-nvim/config.nix | 32 +++++++++++++++++++ .../plugins/utility/yanky-nvim/default.nix | 6 ++++ .../plugins/utility/yanky-nvim/yanky-nvim.nix | 28 ++++++++++++++++ 8 files changed, 102 insertions(+), 9 deletions(-) create mode 100644 modules/plugins/utility/yanky-nvim/config.nix create mode 100644 modules/plugins/utility/yanky-nvim/default.nix create mode 100644 modules/plugins/utility/yanky-nvim/yanky-nvim.nix diff --git a/configuration.nix b/configuration.nix index 2159edc8..594e292f 100644 --- a/configuration.nix +++ b/configuration.nix @@ -175,6 +175,7 @@ isMaximal: { icon-picker.enable = isMaximal; surround.enable = isMaximal; diffview-nvim.enable = true; + yanky-nvim.enable = false; motion = { hop.enable = true; leap.enable = true; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f5e9d0a0..661aee1d 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -4,6 +4,7 @@ [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim [render-markdown.nvim]: https://github.com/MeanderingProgrammer/render-markdown.nvim +[yanky.nvim]: https://github.com/gbprod/yanky.nvim - Add [typst-preview.nvim] under `languages.typst.extensions.typst-preview-nvim`. @@ -33,10 +34,13 @@ - Add [](#opt-vim.lsp.lightbulb.autocmd.enable) for manually managing the previously managed lightbulb autocommand. + - A warning will occur if [](#opt-vim.lsp.lightbulb.autocmd.enable) and `vim.lsp.lightbulb.setupOpts.autocmd.enabled` are both set at the same time. Pick only one. +- Add [yanky.nvim] to available plugins, under `vim.utility.yanky-nvim`. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim diff --git a/flake.lock b/flake.lock index ee19b7c8..2b0136fd 100644 --- a/flake.lock +++ b/flake.lock @@ -2761,6 +2761,22 @@ "type": "github" } }, + "plugin-yanky-nvim": { + "flake": false, + "locked": { + "lastModified": 1737126873, + "narHash": "sha256-Gt8kb6sZoNIM2SDWUPyAF5Tw99qMZl+ltUCfyMXgJsU=", + "owner": "gbprod", + "repo": "yanky.nvim", + "rev": "d2696b30e389dced94d5acab728f524a25f308d2", + "type": "github" + }, + "original": { + "owner": "gbprod", + "repo": "yanky.nvim", + "type": "github" + } + }, "root": { "inputs": { "flake-parts": "flake-parts", @@ -2934,6 +2950,7 @@ "plugin-vim-repeat": "plugin-vim-repeat", "plugin-vim-startify": "plugin-vim-startify", "plugin-which-key": "plugin-which-key", + "plugin-yanky-nvim": "plugin-yanky-nvim", "systems": "systems_2" } }, diff --git a/flake.nix b/flake.nix index 5d4728f6..52635132 100644 --- a/flake.nix +++ b/flake.nix @@ -590,6 +590,11 @@ flake = false; }; + plugin-yanky-nvim = { + url = "github:gbprod/yanky.nvim"; + flake = false; + }; + # Note-taking plugin-obsidian-nvim = { url = "github:epwalsh/obsidian.nvim"; diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 8b25ea8f..65ef8680 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -1,19 +1,19 @@ { imports = [ - ./outline ./binds ./ccc + ./diffview + ./fzf-lua ./gestures - ./motion - ./new-file-template - ./telescope ./icon-picker ./images - ./telescope - ./diffview - ./wakatime - ./surround + ./motion + ./new-file-template + ./outline ./preview - ./fzf-lua + ./surround + ./telescope + ./wakatime + ./yanky-nvim ]; } diff --git a/modules/plugins/utility/yanky-nvim/config.nix b/modules/plugins/utility/yanky-nvim/config.nix new file mode 100644 index 00000000..138fd07d --- /dev/null +++ b/modules/plugins/utility/yanky-nvim/config.nix @@ -0,0 +1,32 @@ +{ + config, + pkgs, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.lists) optionals concatLists; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.dag) entryAnywhere; + + cfg = config.vim.utility.yanky-nvim; + usingSqlite = cfg.setupOpts.ring.storage == "sqlite"; +in { + config = mkIf cfg.enable { + vim = { + # TODO: this could probably be lazyloaded. I'm not yet sure which event is + # ideal, so it's loaded normally for now. + startPlugins = concatLists [ + ["yanky-nvim"] + + # If using the sqlite backend, sqlite-lua must be loaded + # alongside yanky. + (optionals usingSqlite [pkgs.vimPlugins.sqlite-lua]) + ]; + + pluginRC.yanky-nvim = entryAnywhere '' + require("yanky").setup(${toLuaObject cfg.setupOpts}); + ''; + }; + }; +} diff --git a/modules/plugins/utility/yanky-nvim/default.nix b/modules/plugins/utility/yanky-nvim/default.nix new file mode 100644 index 00000000..05cb2bea --- /dev/null +++ b/modules/plugins/utility/yanky-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./yanky-nvim.nix + ]; +} diff --git a/modules/plugins/utility/yanky-nvim/yanky-nvim.nix b/modules/plugins/utility/yanky-nvim/yanky-nvim.nix new file mode 100644 index 00000000..95d6a211 --- /dev/null +++ b/modules/plugins/utility/yanky-nvim/yanky-nvim.nix @@ -0,0 +1,28 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.types) enum; +in { + options.vim.utility.yanky-nvim = { + enable = mkEnableOption '' + improved Yank and Put functionalities for Neovim [yanky-nvim] + ''; + + setupOpts = { + ring.storage = mkOption { + type = enum ["shada" "sqlite" "memory"]; + default = "shada"; + example = "sqlite"; + description = '' + storage mode for ring values. + + - shada: this will save pesistantly using Neovim ShaDa feature. + This means that history will be persisted between each session of Neovim. + - memory: each Neovim instance will have his own history and it will be + lost between sessions. + - sqlite: more reliable than `shada`, requires `sqlite.lua` as a dependency. + nvf will add this dependency to `PATH` automatically. + ''; + }; + }; + }; +} From ee89d9d5bc441dcb5de6068450d53275b852d9e5 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Thu, 30 Jan 2025 14:12:58 +0300 Subject: [PATCH 131/202] flake: bump rustaceanvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 2b0136fd..81738ba6 100644 --- a/flake.lock +++ b/flake.lock @@ -2460,11 +2460,11 @@ "plugin-rustaceanvim": { "flake": false, "locked": { - "lastModified": 1735431742, - "narHash": "sha256-ucZXGbxHtbSKf5n11lL3vb6rD2BxJacIDOgcx32PLzA=", + "lastModified": 1738187731, + "narHash": "sha256-Z4aCPO4MR0Q2ZojT6YBGSa8fb7u5Nd+4Z/rekqhXqDY=", "owner": "mrcjkb", "repo": "rustaceanvim", - "rev": "51c097ebfb65d83baa71f48000b1e5c0a8dcc4fb", + "rev": "4a2f2d2cc04f5b0aa0981f98bb7d002c898318ad", "type": "github" }, "original": { From e5f6aa23ea63dcbf6c918157cf5b9c818286e958 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 31 Jan 2025 01:19:48 +0300 Subject: [PATCH 132/202] flake: change nvim-colorizer URL to the new repo --- flake.lock | 10 +++++----- flake.nix | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 81738ba6..8e5a40d7 100644 --- a/flake.lock +++ b/flake.lock @@ -1836,15 +1836,15 @@ "plugin-nvim-colorizer-lua": { "flake": false, "locked": { - "lastModified": 1735384185, - "narHash": "sha256-quqs3666vQc/4ticc/Z5BHzGxV6UUVE9jVGT07MEMQQ=", - "owner": "NvChad", + "lastModified": 1738229011, + "narHash": "sha256-IEgZnIUeNXRKZ4eV1+KknluyKZj68HBWe1EW+LueuGA=", + "owner": "catgoose", "repo": "nvim-colorizer.lua", - "rev": "8a65c448122fc8fac9c67b2e857b6e830a4afd0b", + "rev": "9b5fe0450bfb2521c6cea29391e5ec571f129136", "type": "github" }, "original": { - "owner": "NvChad", + "owner": "catgoose", "repo": "nvim-colorizer.lua", "type": "github" } diff --git a/flake.nix b/flake.nix index 52635132..eb7f5904 100644 --- a/flake.nix +++ b/flake.nix @@ -645,7 +645,7 @@ }; plugin-nvim-colorizer-lua = { - url = "github:NvChad/nvim-colorizer.lua"; + url = "github:catgoose/nvim-colorizer.lua"; flake = false; }; From 944327329712eda9eec8a86a972e0abd7ea368e6 Mon Sep 17 00:00:00 2001 From: Etherbloom Date: Sun, 2 Feb 2025 15:02:26 +0100 Subject: [PATCH 133/202] languages/ts: register javascript with prettier formatter (#595) --- modules/plugins/languages/ts.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index 2530d352..50e6d91c 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -82,7 +82,7 @@ ls_sources, null_ls.builtins.formatting.prettier.with({ command = "${cfg.format.package}/bin/prettier", - filetypes = { "typescript" }, + filetypes = { "typescript", "javascript" }, }) ) ''; From 90abd270a68f8de59363ff8c63dcc7e7d561f92c Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 28 Jan 2025 16:17:02 +0300 Subject: [PATCH 134/202] meta: include hacking guidelines in PR template --- .../pull_request_template.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md index b2a26919..66fe9c0f 100644 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -7,14 +7,17 @@ or dependency in this section. If your pull request aims to fix an open issue or a please bug, please also link the relevant issue below this line. You may attach an issue to your pull request with `Fixes #` outside this comment, and it will be closed when your pull request is merged. + +A developer package template is provided in flake/develop.nix. If working on a module, you may use +it to test your changes with minimal dependency changes. --> ## Sanity Checking --- From 7b886c98795147464ab69e55d0d19ce4653c773f Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 28 Jan 2025 16:17:52 +0300 Subject: [PATCH 135/202] docs/options: mention manpages for offline viewing --- docs/manual/options.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/manual/options.md b/docs/manual/options.md index 3b70484f..b386347d 100644 --- a/docs/manual/options.md +++ b/docs/manual/options.md @@ -4,6 +4,10 @@ Below are the module options provided by nvf, in no particular order. Most options will include useful comments, warnings or setup tips on how a module option is meant to be used as well as examples in complex cases. +An offline version of this page is bundled with nvf as a part of the manpages +which you can access with `man 5 nvf`. Please us know if you believe any of the +options below are missing useful examples. +