diff --git a/plugins/by-name/arrow/default.nix b/plugins/by-name/arrow/default.nix index 44e0992c..2f3685fc 100644 --- a/plugins/by-name/arrow/default.nix +++ b/plugins/by-name/arrow/default.nix @@ -1,11 +1,10 @@ { lib, ... }: -with lib; lib.nixvim.plugins.mkNeovimPlugin { name = "arrow"; package = "arrow-nvim"; description = "A Neovim plugin to bookmark and navigate through files."; - maintainers = [ maintainers.hmajid2301 ]; + maintainers = [ lib.maintainers.hmajid2301 ]; settingsOptions = { show_icons = lib.nixvim.defaultNullOpts.mkBool false '' @@ -93,7 +92,7 @@ lib.nixvim.plugins.mkNeovimPlugin { }; window = - lib.nixvim.defaultNullOpts.mkAttrsOf types.anything + lib.nixvim.defaultNullOpts.mkAttrsOf lib.types.anything { relative = "editor"; width = "auto"; @@ -153,7 +152,7 @@ lib.nixvim.plugins.mkNeovimPlugin { Keys mapped to bookmark index. ''; - full_path_list = lib.nixvim.defaultNullOpts.mkListOf types.str [ "update_stuff" ] '' + full_path_list = lib.nixvim.defaultNullOpts.mkListOf lib.types.str [ "update_stuff" ] '' Filenames on this list will ALWAYS show the file path too ''; }; diff --git a/plugins/by-name/barbar/default.nix b/plugins/by-name/barbar/default.nix index 1985f30b..0792cc1f 100644 --- a/plugins/by-name/barbar/default.nix +++ b/plugins/by-name/barbar/default.nix @@ -1,6 +1,6 @@ { config, lib, ... }: -with lib; let + inherit (lib) mkOption types; inherit (lib.nixvim) defaultNullOpts keymaps @@ -66,12 +66,12 @@ lib.nixvim.plugins.mkNeovimPlugin { package = "barbar-nvim"; description = "A neovim tabline plugin."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; extraOptions = { - keymaps = mapAttrs ( + keymaps = lib.mapAttrs ( optionName: funcName: - lib.mkOption { + mkOption { type = v2NullOr ( keymaps.mkMapOptionSubmodule { defaults = { @@ -90,7 +90,7 @@ lib.nixvim.plugins.mkNeovimPlugin { extraConfig = cfg: { # TODO: added 2024-09-20 remove after 24.11 - plugins.web-devicons = mkIf ( + plugins.web-devicons = lib.mkIf ( !( ( config.plugins.mini.enable @@ -99,11 +99,11 @@ lib.nixvim.plugins.mkNeovimPlugin { ) || (config.plugins.mini-icons.enable && config.plugins.mini-icons.mockDevIcons) ) - ) { enable = mkOverride 1490 true; }; + ) { enable = lib.mkOverride 1490 true; }; - keymaps = filter (keymap: keymap != null) ( + keymaps = lib.filter (keymap: keymap != null) ( # TODO: switch to `attrValues cfg.keymaps` when removing the deprecation warnings above: - attrValues (filterAttrs (n: v: n != "silent") cfg.keymaps) + lib.attrValues (lib.filterAttrs (n: v: n != "silent") cfg.keymaps) ); }; diff --git a/plugins/by-name/better-escape/default.nix b/plugins/by-name/better-escape/default.nix index 7648d452..94c9e6ee 100644 --- a/plugins/by-name/better-escape/default.nix +++ b/plugins/by-name/better-escape/default.nix @@ -1,15 +1,14 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: +let + inherit (lib) types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "better-escape"; moduleName = "better_escape"; package = "better-escape-nvim"; description = "A Neovim plugin to quickly exit insert mode without losing your typed text."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { timeout = lib.nixvim.defaultNullOpts.mkStrLuaOr types.ints.unsigned "vim.o.timeoutlen" '' diff --git a/plugins/by-name/bufdelete/default.nix b/plugins/by-name/bufdelete/default.nix index c56101c1..16497305 100644 --- a/plugins/by-name/bufdelete/default.nix +++ b/plugins/by-name/bufdelete/default.nix @@ -1,14 +1,10 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkVimPlugin { name = "bufdelete"; package = "bufdelete-nvim"; globalPrefix = "bufdelete_"; - maintainers = [ maintainers.MattSturgeon ]; + maintainers = [ lib.maintainers.MattSturgeon ]; description = '' Delete Neovim buffers without losing window layout. diff --git a/plugins/by-name/chatgpt/default.nix b/plugins/by-name/chatgpt/default.nix index eb84d1bd..2e40fccd 100644 --- a/plugins/by-name/chatgpt/default.nix +++ b/plugins/by-name/chatgpt/default.nix @@ -1,14 +1,10 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkNeovimPlugin { name = "chatgpt"; package = "ChatGPT-nvim"; description = "Effortless Natural Language Generation with OpenAI's ChatGPT API"; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; dependencies = [ "curl" ]; @@ -30,7 +26,7 @@ lib.nixvim.plugins.mkNeovimPlugin { ''; extra_curl_params = lib.nixvim.defaultNullOpts.mkListOf' { - type = types.str; + type = lib.types.str; pluginDefault = null; description = '' Custom cURL parameters can be passed using this option. diff --git a/plugins/by-name/codesnap/default.nix b/plugins/by-name/codesnap/default.nix index 9a990fdc..f0e80def 100644 --- a/plugins/by-name/codesnap/default.nix +++ b/plugins/by-name/codesnap/default.nix @@ -1,11 +1,10 @@ { lib, ... }: -with lib; lib.nixvim.plugins.mkNeovimPlugin { name = "codesnap"; package = "codesnap-nvim"; description = "Snapshot plugin with rich features that can make pretty code snapshots."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsExample = { save_path = "~/Pictures/Screenshots/"; diff --git a/plugins/by-name/comment/default.nix b/plugins/by-name/comment/default.nix index fb2215ba..da6bf701 100644 --- a/plugins/by-name/comment/default.nix +++ b/plugins/by-name/comment/default.nix @@ -1,15 +1,11 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkNeovimPlugin { name = "comment"; moduleName = "Comment"; package = "comment-nvim"; description = "Smart and powerful comment plugin for Neovim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { padding = lib.nixvim.defaultNullOpts.mkBool true '' @@ -61,7 +57,7 @@ lib.nixvim.plugins.mkNeovimPlugin { mappings = lib.nixvim.defaultNullOpts.mkNullable ( - with types; + with lib.types; either (enum [ false ]) (submodule { options = { basic = lib.nixvim.defaultNullOpts.mkBool true '' diff --git a/plugins/by-name/copilot-vim/default.nix b/plugins/by-name/copilot-vim/default.nix index 66612939..fba25c2d 100644 --- a/plugins/by-name/copilot-vim/default.nix +++ b/plugins/by-name/copilot-vim/default.nix @@ -3,14 +3,15 @@ pkgs, ... }: -with lib; -with lib.nixvim.plugins; +let + inherit (lib) mkOption types; +in lib.nixvim.plugins.mkVimPlugin { name = "copilot-vim"; globalPrefix = "copilot_"; description = "Official Neovim plugin for GitHub Copilot."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { node_command = mkOption { diff --git a/plugins/by-name/dashboard/default.nix b/plugins/by-name/dashboard/default.nix index 33d6a31b..1fc1ac72 100644 --- a/plugins/by-name/dashboard/default.nix +++ b/plugins/by-name/dashboard/default.nix @@ -1,14 +1,13 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: +let + inherit (lib) types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "dashboard"; package = "dashboard-nvim"; description = "Fancy and Blazing Fast start screen plugin for Neovim."; - maintainers = [ maintainers.MattSturgeon ]; + maintainers = [ lib.maintainers.MattSturgeon ]; settingsExample = { theme = "hyper"; diff --git a/plugins/by-name/debugprint/default.nix b/plugins/by-name/debugprint/default.nix index bebdd660..403922ac 100644 --- a/plugins/by-name/debugprint/default.nix +++ b/plugins/by-name/debugprint/default.nix @@ -1,14 +1,13 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: +let + inherit (lib) mkOption types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "debugprint"; package = "debugprint-nvim"; description = "A Neovim plugin for inserting debug print statements."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { keymaps = diff --git a/plugins/by-name/edgy/default.nix b/plugins/by-name/edgy/default.nix index 15c1f3a9..a188e90f 100644 --- a/plugins/by-name/edgy/default.nix +++ b/plugins/by-name/edgy/default.nix @@ -1,14 +1,13 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: +let + inherit (lib) mkDefault types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "edgy"; package = "edgy-nvim"; description = "A Neovim plugin to easily create and manage predefined window layouts."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; extraConfig = { # Those options are strongly recommended by the plugin author: @@ -72,7 +71,7 @@ lib.nixvim.plugins.mkNeovimPlugin { top = mkViewOptsOption "top"; options = - mapAttrs + lib.mapAttrs (_: defaultSize: { size = lib.nixvim.defaultNullOpts.mkUnsignedInt defaultSize '' Size of the short edge of the edgebar. diff --git a/plugins/by-name/flash/default.nix b/plugins/by-name/flash/default.nix index f6d0ea29..6fd2d1f2 100644 --- a/plugins/by-name/flash/default.nix +++ b/plugins/by-name/flash/default.nix @@ -1,21 +1,20 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: +let + inherit (lib) recursiveUpdate; +in lib.nixvim.plugins.mkNeovimPlugin { name = "flash"; package = "flash-nvim"; description = "`flash.nvim` lets you navigate your code with search labels, enhanced character motions, and Treesitter integration."; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ traxys MattSturgeon ]; imports = [ # TODO: check automatic search config still works - (mkRemovedOptionModule [ + (lib.mkRemovedOptionModule [ "plugins" "flash" "search" @@ -25,6 +24,7 @@ lib.nixvim.plugins.mkNeovimPlugin { settingsOptions = let + inherit (lib) types; # Default values used for the top-level settings options, # also used as secondary defaults for mode options. configDefaults = { @@ -335,7 +335,7 @@ lib.nixvim.plugins.mkNeovimPlugin { Extmark priority. ''; - groups = mapAttrs (name: lib.nixvim.defaultNullOpts.mkStr defaults.highlight.groups.${name}) { + groups = lib.mapAttrs (name: lib.nixvim.defaultNullOpts.mkStr defaults.highlight.groups.${name}) { # opt = description match = "FlashMatch"; current = "FlashCurrent"; diff --git a/plugins/by-name/fzf-lua/default.nix b/plugins/by-name/fzf-lua/default.nix index 7a6e0d29..b3f86a60 100644 --- a/plugins/by-name/fzf-lua/default.nix +++ b/plugins/by-name/fzf-lua/default.nix @@ -3,8 +3,8 @@ lib, ... }: -with lib; let + inherit (lib) types mkOption; settingsOptions = { fzf_bin = lib.nixvim.mkNullOrStr '' The path to the `fzf` binary to use. @@ -32,7 +32,7 @@ lib.nixvim.plugins.mkNeovimPlugin { name = "fzf-lua"; description = "`fzf` powered fuzzy finder for Neovim written in Lua."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; inherit settingsOptions settingsExample; @@ -141,11 +141,11 @@ lib.nixvim.plugins.mkNeovimPlugin { plugins.fzf-lua.settings.__unkeyed_profile = cfg.profile; - keymaps = mapAttrsToList ( + keymaps = lib.mapAttrsToList ( key: mapping: let actionStr = - if isString mapping then + if lib.isString mapping then "${mapping}()" else "${mapping.action}(${lib.nixvim.toLuaObject mapping.settings})"; diff --git a/plugins/by-name/git-conflict/default.nix b/plugins/by-name/git-conflict/default.nix index 94b84e0f..bd5d0dfe 100644 --- a/plugins/by-name/git-conflict/default.nix +++ b/plugins/by-name/git-conflict/default.nix @@ -1,14 +1,10 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkNeovimPlugin { name = "git-conflict"; package = "git-conflict-nvim"; description = "A plugin to visualise and resolve merge conflicts in neovim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; dependencies = [ "git" ]; @@ -22,7 +18,7 @@ lib.nixvim.plugins.mkNeovimPlugin { settingsOptions = { default_mappings = - lib.nixvim.defaultNullOpts.mkNullable (with types; either bool (attrsOf str)) true + lib.nixvim.defaultNullOpts.mkNullable (with lib.types; either bool (attrsOf str)) true '' This plugin offers default buffer local mappings inside conflicted files. This is primarily because applying these mappings only to relevant buffers is impossible diff --git a/plugins/by-name/gitignore/default.nix b/plugins/by-name/gitignore/default.nix index 4eac56ae..0af41c48 100644 --- a/plugins/by-name/gitignore/default.nix +++ b/plugins/by-name/gitignore/default.nix @@ -1,8 +1,4 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: # We use `mkVimPlugin` to avoid having a `settings` option. # Indeed, this plugin is not configurable in the common sense (no `setup` function). lib.nixvim.plugins.mkVimPlugin { @@ -10,12 +6,12 @@ lib.nixvim.plugins.mkVimPlugin { package = "gitignore-nvim"; description = "A Neovim plugin for generating .gitignore files."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; extraOptions = { - keymap = mkOption { + keymap = lib.mkOption { type = - with types; + with lib.types; nullOr ( either str (submodule { options = { @@ -44,9 +40,9 @@ lib.nixvim.plugins.mkVimPlugin { }; extraConfig = cfg: { - keymaps = optional (cfg.keymap != null) ( + keymaps = lib.optional (cfg.keymap != null) ( ( - if isString cfg.keymap then + if lib.isString cfg.keymap then { mode = "n"; key = cfg.keymap; diff --git a/plugins/by-name/godot/default.nix b/plugins/by-name/godot/default.nix index 8f50c3c8..3540912d 100644 --- a/plugins/by-name/godot/default.nix +++ b/plugins/by-name/godot/default.nix @@ -1,15 +1,11 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkVimPlugin { name = "godot"; package = "vim-godot"; globalPrefix = "godot_"; description = "A Neovim plugin for Godot game engine integration."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; dependencies = [ "godot" ]; diff --git a/plugins/by-name/goyo/default.nix b/plugins/by-name/goyo/default.nix index a225c387..0dbe50eb 100644 --- a/plugins/by-name/goyo/default.nix +++ b/plugins/by-name/goyo/default.nix @@ -1,16 +1,14 @@ -{ - lib, - ... -}: -with lib.nixvim.plugins; -with lib; -mkVimPlugin { +{ lib, ... }: +let + inherit (lib) types; +in +lib.nixvim.plugins.mkVimPlugin { name = "goyo"; package = "goyo-vim"; globalPrefix = "goyo_"; description = "Distraction-free writing in Vim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { width = lib.nixvim.mkNullOrOption types.ints.unsigned "width"; diff --git a/plugins/by-name/hydra/default.nix b/plugins/by-name/hydra/default.nix index 82b9f4e5..037e5fa1 100644 --- a/plugins/by-name/hydra/default.nix +++ b/plugins/by-name/hydra/default.nix @@ -1,14 +1,10 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkNeovimPlugin { name = "hydra"; package = "hydra-nvim"; description = "Create custom submodes and menus, inspired by the Hydra Emacs package."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; extraOptions = { # A list of `Hydra` definitions diff --git a/plugins/by-name/hydra/hydras-option.nix b/plugins/by-name/hydra/hydras-option.nix index 2bbaa0b4..11fdc279 100644 --- a/plugins/by-name/hydra/hydras-option.nix +++ b/plugins/by-name/hydra/hydras-option.nix @@ -1,6 +1,6 @@ { lib }: -with lib; let + inherit (lib) types; hydraType = types.submodule { freeformType = with types; attrsOf anything; options = { @@ -109,7 +109,7 @@ let }; }; in -mkOption { +lib.mkOption { type = types.listOf hydraType; default = [ ]; description = '' diff --git a/plugins/by-name/hydra/settings-options.nix b/plugins/by-name/hydra/settings-options.nix index 20b99b94..c2f55f03 100644 --- a/plugins/by-name/hydra/settings-options.nix +++ b/plugins/by-name/hydra/settings-options.nix @@ -6,7 +6,9 @@ # # -> https://github.com/nvimtools/hydra.nvim?tab=readme-ov-file#config { lib, ... }: -with lib; +let + inherit (lib) types; +in { debug = lib.nixvim.defaultNullOpts.mkBool false '' Whether to enable debug mode. @@ -128,7 +130,7 @@ with lib; close it with `Hydra.hint:close()`. ''; - funcs = mkOption { + funcs = lib.mkOption { type = with lib.types; attrsOf strLuaFn; description = '' Table from function names to function. diff --git a/plugins/by-name/improved-search/default.nix b/plugins/by-name/improved-search/default.nix index 110a352f..208b223b 100644 --- a/plugins/by-name/improved-search/default.nix +++ b/plugins/by-name/improved-search/default.nix @@ -1,16 +1,15 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: # This plugin is only configured through keymaps, so we use `mkVimPlugin` without the # `globalPrefix` argument to avoid the creation of the `settings` option. +let + inherit (lib) mkOption; +in lib.nixvim.plugins.mkVimPlugin { name = "improved-search"; package = "improved-search-nvim"; description = "It's a Neovim plugin that improves the search experience."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; extraOptions = { keymaps = mkOption { @@ -115,7 +114,7 @@ lib.nixvim.plugins.mkVimPlugin { inherit (keymap) key options mode; action = if - isString keymap.action + lib.isString keymap.action # One of the plugin builtin functions then lib.nixvim.mkRaw "require('improved-search').${keymap.action}" diff --git a/plugins/by-name/instant/default.nix b/plugins/by-name/instant/default.nix index 08c0e84e..8c54fbff 100644 --- a/plugins/by-name/instant/default.nix +++ b/plugins/by-name/instant/default.nix @@ -1,16 +1,11 @@ -{ - lib, - ... -}: -with lib; -with lib.nixvim.plugins; -mkVimPlugin { +{ lib, ... }: +lib.nixvim.plugins.mkVimPlugin { name = "instant"; package = "instant-nvim"; globalPrefix = "instant_"; description = "A Neovim plugin for collaborative editing."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { username = lib.nixvim.mkNullOrStr '' diff --git a/plugins/by-name/julia-cell/default.nix b/plugins/by-name/julia-cell/default.nix index ea01c3b9..bf092079 100644 --- a/plugins/by-name/julia-cell/default.nix +++ b/plugins/by-name/julia-cell/default.nix @@ -1,7 +1,4 @@ -{ - lib, - ... -}: +{ lib, ... }: let # The keys are the option name in nixvim (under plugins.julia-cell.keymaps) # cmd: Such that the mapping action is ':JuliaCell${cmd}' @@ -33,14 +30,13 @@ let }; }; in -with lib; lib.nixvim.plugins.mkVimPlugin { name = "julia-cell"; package = "vim-julia-cell"; globalPrefix = "julia_cell_"; description = "A Vim plugin for executing Julia code cells."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { delimit_cells_by = @@ -58,25 +54,25 @@ lib.nixvim.plugins.mkVimPlugin { extraOptions = { keymaps = { - silent = mkOption { - type = types.bool; + silent = lib.mkOption { + type = lib.types.bool; description = "Whether julia-cell keymaps should be silent"; default = false; }; } - // (mapAttrs ( - name: value: lib.nixvim.mkNullOrOption types.str "Keymap for ${value.desc}." + // (lib.mapAttrs ( + name: value: lib.nixvim.mkNullOrOption lib.types.str "Keymap for ${value.desc}." ) mappings); }; extraConfig = cfg: { - keymaps = flatten ( - mapAttrsToList ( + keymaps = lib.flatten ( + lib.mapAttrsToList ( name: value: let key = cfg.keymaps.${name}; in - optional (key != null) { + lib.optional (key != null) { mode = "n"; inherit key; action = ":JuliaCell${value.cmd}"; diff --git a/plugins/by-name/lsp-lines/default.nix b/plugins/by-name/lsp-lines/default.nix index 09e792c7..a2da1134 100644 --- a/plugins/by-name/lsp-lines/default.nix +++ b/plugins/by-name/lsp-lines/default.nix @@ -1,5 +1,4 @@ { lib, ... }: -with lib; lib.nixvim.plugins.mkNeovimPlugin { name = "lsp-lines"; moduleName = "lsp_lines"; @@ -9,10 +8,10 @@ lib.nixvim.plugins.mkNeovimPlugin { # This plugin has no settings; it is configured via vim.diagnostic.config hasSettings = false; - maintainers = [ maintainers.MattSturgeon ]; + maintainers = [ lib.maintainers.MattSturgeon ]; extraConfig = { # Strongly recommended by the plugin, to avoid duplication. - diagnostic.settings.virtual_text = mkDefault false; + diagnostic.settings.virtual_text = lib.mkDefault false; }; } diff --git a/plugins/by-name/ltex-extra/default.nix b/plugins/by-name/ltex-extra/default.nix index 69d77083..33d20c00 100644 --- a/plugins/by-name/ltex-extra/default.nix +++ b/plugins/by-name/ltex-extra/default.nix @@ -3,13 +3,12 @@ config, ... }: -with lib; lib.nixvim.plugins.mkNeovimPlugin { name = "ltex-extra"; package = "ltex_extra-nvim"; description = "LTeX_extra is a companion plugin for LTeX language server."; - maintainers = [ maintainers.loicreynier ]; + maintainers = [ lib.maintainers.loicreynier ]; callSetup = false; @@ -26,7 +25,7 @@ lib.nixvim.plugins.mkNeovimPlugin { Whether to load dictionaries on startup. ''; - load_langs = lib.nixvim.defaultNullOpts.mkListOf types.str [ "en-US" ] '' + load_langs = lib.nixvim.defaultNullOpts.mkListOf lib.types.str [ "en-US" ] '' Languages for witch dicionnaries will be loaded. See `plugins.lsp.servers.ltex.languages` for possible values. ''; diff --git a/plugins/by-name/magma-nvim/default.nix b/plugins/by-name/magma-nvim/default.nix index 20c178d7..6cf40a9a 100644 --- a/plugins/by-name/magma-nvim/default.nix +++ b/plugins/by-name/magma-nvim/default.nix @@ -1,16 +1,11 @@ -{ - lib, - ... -}: -with lib; -with lib.nixvim.plugins; -mkVimPlugin { +{ lib, ... }: +lib.nixvim.plugins.mkVimPlugin { name = "magma-nvim"; package = "magma-nvim"; globalPrefix = "magma_"; description = "Interact with Jupyter from NeoVim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { image_provider = diff --git a/plugins/by-name/neoclip/default.nix b/plugins/by-name/neoclip/default.nix index cc896d97..7535cf0c 100644 --- a/plugins/by-name/neoclip/default.nix +++ b/plugins/by-name/neoclip/default.nix @@ -3,13 +3,15 @@ config, ... }: -with lib; +let + inherit (lib) types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "neoclip"; package = "nvim-neoclip-lua"; description = "Clipboard manager neovim plugin with telescope integration."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { history = lib.nixvim.defaultNullOpts.mkUnsignedInt 1000 '' diff --git a/plugins/by-name/neoscroll/default.nix b/plugins/by-name/neoscroll/default.nix index c5a191f7..c3320365 100644 --- a/plugins/by-name/neoscroll/default.nix +++ b/plugins/by-name/neoscroll/default.nix @@ -1,18 +1,14 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkNeovimPlugin { name = "neoscroll"; package = "neoscroll-nvim"; description = "Smooth scrolling neovim plugin."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { mappings = - lib.nixvim.defaultNullOpts.mkListOf types.str + lib.nixvim.defaultNullOpts.mkListOf lib.types.str [ "" "" diff --git a/plugins/by-name/neotest/adapters.nix b/plugins/by-name/neotest/adapters.nix index d19301e2..72c9188d 100644 --- a/plugins/by-name/neotest/adapters.nix +++ b/plugins/by-name/neotest/adapters.nix @@ -4,7 +4,6 @@ pkgs, ... }: -with lib; let inherit (lib.nixvim) mkSettingsOption toLuaObject; supportedAdapters = import ./adapters-list.nix; @@ -18,7 +17,7 @@ let }: { options.plugins.neotest.adapters.${name} = { - enable = mkEnableOption name; + enable = lib.mkEnableOption name; package = lib.mkPackageOption pkgs name { default = [ @@ -34,7 +33,7 @@ let let cfg = config.plugins.neotest.adapters.${name}; in - mkIf cfg.enable { + lib.mkIf cfg.enable { extraPlugins = [ cfg.package ]; assertions = lib.nixvim.mkAssertions "plugins.neotest.adapters.${name}" { @@ -55,12 +54,14 @@ let plugins.neotest.settings.adapters = let - settingsString = optionalString (cfg.settings != { }) (settingsSuffix (toLuaObject cfg.settings)); + settingsString = lib.optionalString (cfg.settings != { }) ( + settingsSuffix (toLuaObject cfg.settings) + ); in [ "require('neotest-${name}')${settingsString}" ]; }; }; in { - imports = mapAttrsToList mkAdapter supportedAdapters; + imports = lib.mapAttrsToList mkAdapter supportedAdapters; } diff --git a/plugins/by-name/neotest/default.nix b/plugins/by-name/neotest/default.nix index e989192c..0e48dcd4 100644 --- a/plugins/by-name/neotest/default.nix +++ b/plugins/by-name/neotest/default.nix @@ -1,19 +1,15 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkNeovimPlugin { name = "neotest"; description = "An extensible framework for interacting with tests within NeoVim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; imports = [ ./adapters.nix ]; settingsOptions = (import ./settings-options.nix { inherit lib; }) // { - adapters = mkOption { - type = with types; listOf strLua; + adapters = lib.mkOption { + type = with lib.types; listOf strLua; default = [ ]; # NOTE: We hide this option from the documentation as users should use the top-level # `adapters` option. diff --git a/plugins/by-name/neotest/settings-options.nix b/plugins/by-name/neotest/settings-options.nix index 609eb259..85054c7d 100644 --- a/plugins/by-name/neotest/settings-options.nix +++ b/plugins/by-name/neotest/settings-options.nix @@ -1,6 +1,6 @@ { lib }: -with lib; let + inherit (lib) types; inherit (lib.nixvim) defaultNullOpts mkNullOrOption mkNullOrLuaFn; in { diff --git a/plugins/by-name/nvim-autopairs/default.nix b/plugins/by-name/nvim-autopairs/default.nix index b3904029..8545c321 100644 --- a/plugins/by-name/nvim-autopairs/default.nix +++ b/plugins/by-name/nvim-autopairs/default.nix @@ -3,12 +3,14 @@ config, ... }: -with lib; +let + inherit (lib) types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "nvim-autopairs"; description = "Insert and delete brackets, parens, quotes in pair automatically."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { disable_filetype = lib.nixvim.defaultNullOpts.mkListOf types.str [ diff --git a/plugins/by-name/qmk/default.nix b/plugins/by-name/qmk/default.nix index b66c997d..850037ec 100644 --- a/plugins/by-name/qmk/default.nix +++ b/plugins/by-name/qmk/default.nix @@ -1,14 +1,13 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: +let + inherit (lib) mkOption types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "qmk"; package = "qmk-nvim"; description = "Format qmk and zmk keymaps in Neovim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { name = mkOption { diff --git a/plugins/by-name/refactoring/default.nix b/plugins/by-name/refactoring/default.nix index 458329f4..a1edce91 100644 --- a/plugins/by-name/refactoring/default.nix +++ b/plugins/by-name/refactoring/default.nix @@ -3,16 +3,15 @@ config, ... }: -with lib; lib.nixvim.plugins.mkNeovimPlugin { name = "refactoring"; package = "refactoring-nvim"; description = "The Refactoring library based off the Refactoring book by Martin Fowler."; - maintainers = [ maintainers.MattSturgeon ]; + maintainers = [ lib.maintainers.MattSturgeon ]; extraOptions = { - enableTelescope = mkEnableOption "telescope integration"; + enableTelescope = lib.mkEnableOption "telescope integration"; }; extraConfig = cfg: { @@ -25,7 +24,7 @@ lib.nixvim.plugins.mkNeovimPlugin { ''; }; - plugins.telescope.enabledExtensions = mkIf cfg.enableTelescope [ "refactoring" ]; + plugins.telescope.enabledExtensions = lib.mkIf cfg.enableTelescope [ "refactoring" ]; }; settingsOptions = with lib.types; { diff --git a/plugins/by-name/rustaceanvim/default.nix b/plugins/by-name/rustaceanvim/default.nix index 39947c3e..2fdfcf53 100644 --- a/plugins/by-name/rustaceanvim/default.nix +++ b/plugins/by-name/rustaceanvim/default.nix @@ -3,12 +3,11 @@ config, ... }: -with lib; lib.nixvim.plugins.mkNeovimPlugin { name = "rustaceanvim"; description = "A Neovim plugin for Rust development, providing features like LSP support, code navigation, and more."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; dependencies = [ "rust-analyzer" ]; imports = [ diff --git a/plugins/by-name/rustaceanvim/settings-options.nix b/plugins/by-name/rustaceanvim/settings-options.nix index 83071586..6d5dead4 100644 --- a/plugins/by-name/rustaceanvim/settings-options.nix +++ b/plugins/by-name/rustaceanvim/settings-options.nix @@ -1,5 +1,7 @@ { lib }: -with lib; +let + inherit (lib) types; +in { tools = let @@ -294,7 +296,7 @@ with lib; freeformType = with types; attrsOf anything; options = { # Common options - type = mkOption { + type = lib.mkOption { type = types.enum [ "executable" "server" diff --git a/plugins/by-name/sandwich/default.nix b/plugins/by-name/sandwich/default.nix index 19d45f08..4275a338 100644 --- a/plugins/by-name/sandwich/default.nix +++ b/plugins/by-name/sandwich/default.nix @@ -1,8 +1,4 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkVimPlugin { name = "sandwich"; package = "vim-sandwich"; @@ -28,7 +24,7 @@ lib.nixvim.plugins.mkVimPlugin { ``` ''; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { no_default_key_mappings = lib.nixvim.defaultNullOpts.mkFlagInt 0 '' diff --git a/plugins/by-name/schemastore/default.nix b/plugins/by-name/schemastore/default.nix index b29a2b0a..2b944c11 100644 --- a/plugins/by-name/schemastore/default.nix +++ b/plugins/by-name/schemastore/default.nix @@ -3,13 +3,20 @@ config, ... }: -with lib; +let + inherit (lib) + types + mkOption + mkIf + mkDefault + ; +in lib.nixvim.plugins.mkVimPlugin { name = "schemastore"; package = "SchemaStore-nvim"; description = "A Neovim plugin that provides the SchemaStore catalog for use with jsonls and yamlls."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; extraOptions = let diff --git a/plugins/by-name/sniprun/default.nix b/plugins/by-name/sniprun/default.nix index d03461a7..532d3dc7 100644 --- a/plugins/by-name/sniprun/default.nix +++ b/plugins/by-name/sniprun/default.nix @@ -1,13 +1,12 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: +let + inherit (lib) types literalExpression; +in lib.nixvim.plugins.mkNeovimPlugin { name = "sniprun"; description = "A neovim plugin to run lines/blocs of code."; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ traxys MattSturgeon ]; @@ -147,7 +146,7 @@ lib.nixvim.plugins.mkNeovimPlugin { ''; type = types.submodule { freeformType = types.attrsOf types.anything; - options = mapAttrs (optionName: colorOption) { + options = lib.mapAttrs (optionName: colorOption) { SniprunVirtualTextOk = { bg = "#66eeff"; fg = "#000000"; diff --git a/plugins/by-name/specs/default.nix b/plugins/by-name/specs/default.nix index 59a8816f..42f2a15b 100644 --- a/plugins/by-name/specs/default.nix +++ b/plugins/by-name/specs/default.nix @@ -1,14 +1,10 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: lib.nixvim.plugins.mkNeovimPlugin { name = "specs"; package = "specs-nvim"; description = "A fast and lightweight Neovim lua plugin to keep an eye on where your cursor has jumped."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { show_jumps = lib.nixvim.defaultNullOpts.mkBool true '' @@ -49,12 +45,12 @@ lib.nixvim.plugins.mkNeovimPlugin { ''; }; - ignore_filetypes = lib.nixvim.defaultNullOpts.mkAttrsOf types.bool { } '' + ignore_filetypes = lib.nixvim.defaultNullOpts.mkAttrsOf lib.types.bool { } '' An attrs where keys are filetypes and values are a boolean stating whether animation should be enabled or not for this filetype. ''; - ignore_buftypes = lib.nixvim.defaultNullOpts.mkAttrsOf types.bool { nofile = true; } '' + ignore_buftypes = lib.nixvim.defaultNullOpts.mkAttrsOf lib.types.bool { nofile = true; } '' An attrs where keys are buftypes and values are a boolean stating whether animation should be enabled or not for this buftype. ''; diff --git a/plugins/by-name/spectre/default.nix b/plugins/by-name/spectre/default.nix index 2efc03d3..71350954 100644 --- a/plugins/by-name/spectre/default.nix +++ b/plugins/by-name/spectre/default.nix @@ -3,13 +3,15 @@ config, ... }: -with lib; +let + inherit (lib) mkOption types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "spectre"; package = "nvim-spectre"; description = "A search panel for neovim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; imports = [ # TODO: added 2025-04-07, remove after 25.05 diff --git a/plugins/by-name/startify/default.nix b/plugins/by-name/startify/default.nix index b53a36ea..a73c3396 100644 --- a/plugins/by-name/startify/default.nix +++ b/plugins/by-name/startify/default.nix @@ -1,16 +1,11 @@ -{ - lib, - ... -}: -with lib; -with lib.nixvim.plugins; -mkVimPlugin { +{ lib, ... }: +lib.nixvim.plugins.mkVimPlugin { name = "startify"; package = "vim-startify"; globalPrefix = "startify_"; description = "The fancy start screen for Vim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = import ./settings-options.nix { inherit lib; }; diff --git a/plugins/by-name/startify/settings-options.nix b/plugins/by-name/startify/settings-options.nix index 14cd81ee..be03f43b 100644 --- a/plugins/by-name/startify/settings-options.nix +++ b/plugins/by-name/startify/settings-options.nix @@ -1,5 +1,7 @@ { lib }: -with lib; +let + inherit (lib) mkOption types; +in { session_dir = lib.nixvim.defaultNullOpts.mkStr "~/.vim/session" '' The directory to save/load sessions to/from. diff --git a/plugins/by-name/statuscol/default.nix b/plugins/by-name/statuscol/default.nix index 37935bad..1e115060 100644 --- a/plugins/by-name/statuscol/default.nix +++ b/plugins/by-name/statuscol/default.nix @@ -1,14 +1,13 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: +let + inherit (lib) types mkOption; +in lib.nixvim.plugins.mkNeovimPlugin { name = "statuscol"; package = "statuscol-nvim"; description = "Status column plugin that provides a configurable `statuscolumn` and click handlers."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { setopt = lib.nixvim.defaultNullOpts.mkBool true '' diff --git a/plugins/by-name/telescope/default.nix b/plugins/by-name/telescope/default.nix index dbb21ab4..b1ac94bd 100644 --- a/plugins/by-name/telescope/default.nix +++ b/plugins/by-name/telescope/default.nix @@ -3,8 +3,8 @@ config, ... }: -with lib; let + inherit (lib) types mkOption; inherit (lib.nixvim) keymaps mkNullOrOption @@ -17,7 +17,7 @@ lib.nixvim.plugins.mkNeovimPlugin { package = "telescope-nvim"; description = "Find, Filter, Preview, Pick. All lua, all the time."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; imports = [ ./extensions @@ -62,7 +62,7 @@ lib.nixvim.plugins.mkNeovimPlugin { type = types.nullOr types.str; description = "The colorscheme to use for syntax highlighting"; default = config.colorscheme; - defaultText = literalExpression "config.colorscheme"; + defaultText = lib.literalExpression "config.colorscheme"; }; enabledExtensions = mkOption { @@ -86,7 +86,7 @@ lib.nixvim.plugins.mkNeovimPlugin { callSetup = false; extraConfig = cfg: { # TODO: added 2024-09-20 remove after 24.11 - plugins.web-devicons = mkIf ( + plugins.web-devicons = lib.mkIf ( !( ( config.plugins.mini.enable @@ -95,16 +95,16 @@ lib.nixvim.plugins.mkNeovimPlugin { ) || (config.plugins.mini-icons.enable && config.plugins.mini-icons.mockDevIcons) ) - ) { enable = mkOverride 1490 true; }; + ) { enable = lib.mkOverride 1490 true; }; - extraConfigVim = mkIf (cfg.highlightTheme != null) '' + extraConfigVim = lib.mkIf (cfg.highlightTheme != null) '' let $BAT_THEME = '${cfg.highlightTheme}' ''; - keymaps = mapAttrsToList ( + keymaps = lib.mapAttrsToList ( key: mapping: let - actionStr = if isString mapping then mapping else mapping.action; + actionStr = if lib.isString mapping then mapping else mapping.action; in { mode = mapping.mode or "n"; diff --git a/plugins/by-name/telescope/extensions/file-browser.nix b/plugins/by-name/telescope/extensions/file-browser.nix index 4e2a8d0a..bccf1590 100644 --- a/plugins/by-name/telescope/extensions/file-browser.nix +++ b/plugins/by-name/telescope/extensions/file-browser.nix @@ -1,6 +1,6 @@ { lib, ... }: -with lib; let + inherit (lib) types; inherit (import ./_helpers.nix lib) mkMappingsOption; mkExtension = import ./_mk-extension.nix; inherit (lib.nixvim) defaultNullOpts mkNullOrStr; diff --git a/plugins/by-name/telescope/extensions/frecency.nix b/plugins/by-name/telescope/extensions/frecency.nix index 0ef0a739..9c037f79 100644 --- a/plugins/by-name/telescope/extensions/frecency.nix +++ b/plugins/by-name/telescope/extensions/frecency.nix @@ -1,6 +1,6 @@ { lib, ... }: -with lib; let + inherit (lib) types; inherit (lib.nixvim) defaultNullOpts mkNullOrOption mkNullOrStr; mkExtension = import ./_mk-extension.nix; in diff --git a/plugins/by-name/telescope/extensions/media-files.nix b/plugins/by-name/telescope/extensions/media-files.nix index 99a0e920..e571d749 100644 --- a/plugins/by-name/telescope/extensions/media-files.nix +++ b/plugins/by-name/telescope/extensions/media-files.nix @@ -1,8 +1,4 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: let inherit (lib.nixvim) defaultNullOpts mkSettingsRenamedOptionModules; mkExtension = import ./_mk-extension.nix; @@ -60,7 +56,7 @@ mkExtension { dependencies = [ "chafa" ]; settingsOptions = { - filetypes = defaultNullOpts.mkListOf types.str [ + filetypes = defaultNullOpts.mkListOf lib.types.str [ "png" "jpg" "gif" diff --git a/plugins/by-name/telescope/extensions/undo.nix b/plugins/by-name/telescope/extensions/undo.nix index dacc0a92..28184225 100644 --- a/plugins/by-name/telescope/extensions/undo.nix +++ b/plugins/by-name/telescope/extensions/undo.nix @@ -1,6 +1,6 @@ { lib, ... }: -with lib; let + inherit (lib) types; inherit (lib.nixvim) defaultNullOpts mkNullOrOption; inherit (import ./_helpers.nix lib) mkMappingsOption; mkExtension = import ./_mk-extension.nix; diff --git a/plugins/by-name/texpresso/default.nix b/plugins/by-name/texpresso/default.nix index 90dc6a5c..0b1e2c7e 100644 --- a/plugins/by-name/texpresso/default.nix +++ b/plugins/by-name/texpresso/default.nix @@ -1,8 +1,4 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: # This plugin has no configuration, so we use `mkVimPlugin` without the `globalPrefix` argument to # avoid the creation of the `settings` option. lib.nixvim.plugins.mkVimPlugin { @@ -10,7 +6,7 @@ lib.nixvim.plugins.mkVimPlugin { package = "texpresso-vim"; description = "Neovim mode for TeXpresso."; - maintainers = [ maintainers.nickhu ]; + maintainers = [ lib.maintainers.nickhu ]; dependencies = [ "texpresso" ]; diff --git a/plugins/by-name/tmux-navigator/default.nix b/plugins/by-name/tmux-navigator/default.nix index 56cf1eae..08ce54f7 100644 --- a/plugins/by-name/tmux-navigator/default.nix +++ b/plugins/by-name/tmux-navigator/default.nix @@ -2,13 +2,15 @@ lib, ... }: -with lib; +let + inherit (lib) types; +in lib.nixvim.plugins.mkVimPlugin { name = "tmux-navigator"; package = "vim-tmux-navigator"; globalPrefix = "tmux_navigator_"; - maintainers = [ maintainers.MattSturgeon ]; + maintainers = [ lib.maintainers.MattSturgeon ]; description = '' Seamless navigation between tmux panes and vim splits. @@ -161,7 +163,7 @@ lib.nixvim.plugins.mkVimPlugin { }; extraOptions = { - keymaps = mkOption { + keymaps = lib.mkOption { description = '' Keymaps for the `:TmuxNavigate*` commands. diff --git a/plugins/by-name/todo-comments/default.nix b/plugins/by-name/todo-comments/default.nix index af13c5d7..de8d3328 100644 --- a/plugins/by-name/todo-comments/default.nix +++ b/plugins/by-name/todo-comments/default.nix @@ -3,9 +3,8 @@ config, ... }: -with lib; let - inherit (lib) types; + inherit (lib) types mkOption optionalString; inherit (lib.nixvim) defaultNullOpts keymaps @@ -272,7 +271,7 @@ lib.nixvim.plugins.mkNeovimPlugin { extraOptions = { keymaps = - mapAttrs + lib.mapAttrs ( optionName: action: mkNullOrOption' { @@ -335,8 +334,8 @@ lib.nixvim.plugins.mkNeovimPlugin { ]; keymaps = lib.pipe cfg.keymaps [ - (filterAttrs (n: keymap: keymap != null && keymap.key != null)) - (mapAttrsToList ( + (lib.filterAttrs (n: keymap: keymap != null && keymap.key != null)) + (lib.mapAttrsToList ( name: keymap: { inherit (keymap) key mode options; action = @@ -344,7 +343,7 @@ lib.nixvim.plugins.mkNeovimPlugin { cwd = optionalString (keymap.cwd != null) " cwd=${keymap.cwd}"; keywords = optionalString ( keymap.keywords != null && keymap.keywords != [ ] - ) " keywords=${concatStringsSep "," keymap.keywords}"; + ) " keywords=${lib.concatStringsSep "," keymap.keywords}"; in "${keymap.action}${cwd}${keywords}"; } diff --git a/plugins/by-name/transparent/default.nix b/plugins/by-name/transparent/default.nix index e05ceff3..2efd9625 100644 --- a/plugins/by-name/transparent/default.nix +++ b/plugins/by-name/transparent/default.nix @@ -1,14 +1,13 @@ -{ - lib, - ... -}: -with lib; +{ lib, ... }: +let + inherit (lib) types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "transparent"; package = "transparent-nvim"; description = "Remove all background colors to make Neovim transparent."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { groups = diff --git a/plugins/by-name/treesitter/default.nix b/plugins/by-name/treesitter/default.nix index 75bf49f1..ffd684ee 100644 --- a/plugins/by-name/treesitter/default.nix +++ b/plugins/by-name/treesitter/default.nix @@ -4,8 +4,15 @@ options, ... }: -with lib; let + inherit (lib) + types + mkOption + literalExpression + optionalString + mkIf + mkDefault + ; buildGrammarDeps = [ "gcc" "nodejs" @@ -334,7 +341,7 @@ lib.nixvim.plugins.mkNeovimPlugin { }; extraOptions = { - folding = mkEnableOption "tree-sitter based folding"; + folding = lib.mkEnableOption "tree-sitter based folding"; grammarPackages = mkOption { type = with types; listOf package; @@ -346,7 +353,7 @@ lib.nixvim.plugins.mkNeovimPlugin { # TODO: Implement rawLua support to be passed into extraConfigLua. languageRegister = mkOption { - type = with types; attrsOf (coercedTo str toList (listOf str)); + type = with types; attrsOf (coercedTo str lib.toList (listOf str)); default = { }; example = { cpp = "onelab"; diff --git a/plugins/by-name/ts-autotag/default.nix b/plugins/by-name/ts-autotag/default.nix index 1d71858c..c951fd90 100644 --- a/plugins/by-name/ts-autotag/default.nix +++ b/plugins/by-name/ts-autotag/default.nix @@ -3,14 +3,16 @@ config, ... }: -with lib; +let + inherit (lib) types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "ts-autotag"; moduleName = "nvim-ts-autotag"; package = "nvim-ts-autotag"; description = "Use treesitter to auto close and auto rename a html tag."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; extraConfig = { warnings = lib.nixvim.mkWarnings "plugins.ts-autotag" { diff --git a/plugins/by-name/twilight/default.nix b/plugins/by-name/twilight/default.nix index c5b666e7..926730b2 100644 --- a/plugins/by-name/twilight/default.nix +++ b/plugins/by-name/twilight/default.nix @@ -3,13 +3,15 @@ config, ... }: -with lib; +let + inherit (lib) types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "twilight"; package = "twilight-nvim"; description = "Twilight is a Lua plugin for Neovim that dims inactive portions of the code you're editing using TreeSitter."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { dimming = { diff --git a/plugins/by-name/typst-vim/default.nix b/plugins/by-name/typst-vim/default.nix index 8b831bcf..421eca92 100644 --- a/plugins/by-name/typst-vim/default.nix +++ b/plugins/by-name/typst-vim/default.nix @@ -2,13 +2,15 @@ lib, ... }: -with lib; +let + inherit (lib) types; +in lib.nixvim.plugins.mkVimPlugin { name = "typst-vim"; globalPrefix = "typst_"; description = "A Neovim plugin for Typst, a modern typesetting system."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; imports = [ # TODO: added 2025-04-07, remove after 25.05 @@ -22,7 +24,7 @@ lib.nixvim.plugins.mkVimPlugin { extraOptions = { keymaps = { - silent = mkOption { + silent = lib.mkOption { type = types.bool; description = "Whether typst-vim keymaps should be silent."; default = false; @@ -41,7 +43,7 @@ lib.nixvim.plugins.mkVimPlugin { options.silent = silent; } ( - optional (watch != null) { + lib.optional (watch != null) { # mode = "n"; key = watch; action = ":TypstWatch"; diff --git a/plugins/by-name/undotree/default.nix b/plugins/by-name/undotree/default.nix index bd901194..3b98da3f 100644 --- a/plugins/by-name/undotree/default.nix +++ b/plugins/by-name/undotree/default.nix @@ -1,11 +1,10 @@ { lib, ... }: -with lib; lib.nixvim.plugins.mkVimPlugin { name = "undotree"; globalPrefix = "undotree_"; description = "The undo history visualizer for Vim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsExample = { WindowLayout = 4; diff --git a/plugins/by-name/vim-slime/default.nix b/plugins/by-name/vim-slime/default.nix index 96ed4b9a..675f6afb 100644 --- a/plugins/by-name/vim-slime/default.nix +++ b/plugins/by-name/vim-slime/default.nix @@ -1,15 +1,10 @@ -{ - lib, - ... -}: -with lib; -with lib.nixvim.plugins; -mkVimPlugin { +{ lib, ... }: +lib.nixvim.plugins.mkVimPlugin { name = "vim-slime"; globalPrefix = "slime_"; description = "Send text from Vim to a terminal or REPL. Inspired by Emacs' `slime`."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { target = lib.nixvim.defaultNullOpts.mkEnum [ diff --git a/plugins/by-name/vimtex/default.nix b/plugins/by-name/vimtex/default.nix index 06967067..cea5ca80 100644 --- a/plugins/by-name/vimtex/default.nix +++ b/plugins/by-name/vimtex/default.nix @@ -1,15 +1,14 @@ { lib, pkgs, ... }: -with lib; lib.nixvim.plugins.mkVimPlugin { name = "vimtex"; globalPrefix = "vimtex_"; description = "A modern Vim and Neovim plugin for writing LaTeX documents."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { - view_method = mkOption { - type = types.str; + view_method = lib.mkOption { + type = lib.types.str; default = "general"; example = "zathura"; description = '' @@ -64,7 +63,7 @@ lib.nixvim.plugins.mkVimPlugin { extraPackages = let # xdotool does not exist on darwin - xdotool = optional pkgs.stdenv.isLinux cfg.xdotoolPackage; + xdotool = lib.optional pkgs.stdenv.isLinux cfg.xdotoolPackage; viewerPackages = { general = xdotool; diff --git a/plugins/by-name/windsurf-vim/default.nix b/plugins/by-name/windsurf-vim/default.nix index 5b5b416f..f1f0603f 100644 --- a/plugins/by-name/windsurf-vim/default.nix +++ b/plugins/by-name/windsurf-vim/default.nix @@ -3,8 +3,9 @@ pkgs, ... }: -with lib; let + inherit (lib) types; + keymapsDefinitions = { clear = { default = ""; @@ -38,13 +39,13 @@ lib.nixvim.plugins.mkVimPlugin { globalPrefix = "codeium_"; description = "Free, ultrafast Copilot alternative for Vim and Neovim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; # TODO: introduced 2025-04-19 inherit ((import ./deprecations.nix { inherit lib; })) imports; settingsOptions = { - bin = mkOption { + bin = lib.mkOption { type = with types; nullOr str; default = lib.getExe' pkgs.codeium "codeium_language_server"; defaultText = lib.literalExpression ''lib.getExe' pkgs.codeium "codeium_language_server"''; @@ -93,7 +94,7 @@ lib.nixvim.plugins.mkVimPlugin { }; extraOptions = { - keymaps = mapAttrs ( + keymaps = lib.mapAttrs ( optionName: v: lib.nixvim.defaultNullOpts.mkStr v.default '' ${v.description} @@ -109,7 +110,7 @@ lib.nixvim.plugins.mkVimPlugin { let processKeymap = optionName: v: - optional (v != null) { + lib.optional (v != null) { key = v; action = let @@ -118,7 +119,7 @@ lib.nixvim.plugins.mkVimPlugin { lib.nixvim.mkRaw "function() ${command} end"; }; - keymapsList = flatten (mapAttrsToList processKeymap cfg.keymaps); + keymapsList = lib.flatten (lib.mapAttrsToList processKeymap cfg.keymaps); defaults = { mode = "i"; diff --git a/plugins/by-name/yanky/default.nix b/plugins/by-name/yanky/default.nix index 9afc0104..50cef01d 100644 --- a/plugins/by-name/yanky/default.nix +++ b/plugins/by-name/yanky/default.nix @@ -3,13 +3,12 @@ config, ... }: -with lib; lib.nixvim.plugins.mkNeovimPlugin { name = "yanky"; package = "yanky-nvim"; description = "Improved Yank and Put functionalities for Neovim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsDescription = '' Options provided to the `require('yanky').setup` function. @@ -74,7 +73,7 @@ lib.nixvim.plugins.mkNeovimPlugin { cursor or content changed. ''; - ignore_registers = lib.nixvim.defaultNullOpts.mkListOf types.str [ "_" ] '' + ignore_registers = lib.nixvim.defaultNullOpts.mkListOf lib.types.str [ "_" ] '' Define registers to be ignored. By default the black hole register is ignored. ''; @@ -111,14 +110,14 @@ lib.nixvim.plugins.mkNeovimPlugin { apply = mappings: lib.nixvim.ifNonNull' mappings ( - mapAttrs ( + lib.mapAttrs ( _: v: - if isString v then + if lib.isString v then # `mappings.default` is a lua function lib.nixvim.mkRaw v else # `mappings.` is an attrs of lua function - mapAttrs (_: lib.nixvim.mkRaw) v + lib.mapAttrs (_: lib.nixvim.mkRaw) v ) mappings ); pluginDefault = null; @@ -233,7 +232,7 @@ lib.nixvim.plugins.mkNeovimPlugin { }; extraOptions = { - enableTelescope = mkEnableOption "the `yank_history` telescope picker."; + enableTelescope = lib.mkEnableOption "the `yank_history` telescope picker."; }; callSetup = false; @@ -257,12 +256,12 @@ lib.nixvim.plugins.mkNeovimPlugin { plugins.yanky.luaConfig.content = '' do local utils = require('yanky.utils') - ${optionalString config.plugins.telescope.enable "local mapping = require('yanky.telescope.mapping')"} + ${lib.optionalString config.plugins.telescope.enable "local mapping = require('yanky.telescope.mapping')"} require('yanky').setup(${lib.nixvim.toLuaObject cfg.settings}) end ''; - plugins.telescope.enabledExtensions = mkIf cfg.enableTelescope [ "yank_history" ]; + plugins.telescope.enabledExtensions = lib.mkIf cfg.enableTelescope [ "yank_history" ]; }; } diff --git a/plugins/by-name/zen-mode/default.nix b/plugins/by-name/zen-mode/default.nix index 085beaa1..2bb2f88a 100644 --- a/plugins/by-name/zen-mode/default.nix +++ b/plugins/by-name/zen-mode/default.nix @@ -2,13 +2,12 @@ lib, ... }: -with lib; lib.nixvim.plugins.mkNeovimPlugin { name = "zen-mode"; package = "zen-mode-nvim"; description = "Distraction-free coding for Neovim."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; # Optionally, explicitly declare some options. You don't have to. settingsOptions = { @@ -58,7 +57,7 @@ lib.nixvim.plugins.mkNeovimPlugin { - a function that returns the width or the height ''; - options = lib.nixvim.defaultNullOpts.mkAttrsOf types.anything { } '' + options = lib.nixvim.defaultNullOpts.mkAttrsOf lib.types.anything { } '' By default, no options are changed for the Zen window. You can set any `vim.wo` option here. @@ -78,7 +77,7 @@ lib.nixvim.plugins.mkNeovimPlugin { }; plugins = { options = - lib.nixvim.defaultNullOpts.mkAttrsOf types.anything + lib.nixvim.defaultNullOpts.mkAttrsOf lib.types.anything { enabled = true; ruler = false; diff --git a/plugins/by-name/zig/default.nix b/plugins/by-name/zig/default.nix index bf569d1f..95a1e22c 100644 --- a/plugins/by-name/zig/default.nix +++ b/plugins/by-name/zig/default.nix @@ -1,16 +1,11 @@ -{ - lib, - ... -}: -with lib; -with lib.nixvim.plugins; -mkVimPlugin { +{ lib, ... }: +lib.nixvim.plugins.mkVimPlugin { name = "zig"; package = "zig-vim"; globalPrefix = "zig_"; description = "Vim plugin for the Zig programming language."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; settingsOptions = { fmt_autosave = lib.nixvim.defaultNullOpts.mkFlagInt 1 '' diff --git a/plugins/by-name/zk/default.nix b/plugins/by-name/zk/default.nix index 3f309989..c113641a 100644 --- a/plugins/by-name/zk/default.nix +++ b/plugins/by-name/zk/default.nix @@ -3,13 +3,15 @@ config, ... }: -with lib; +let + inherit (lib) types; +in lib.nixvim.plugins.mkNeovimPlugin { name = "zk"; package = "zk-nvim"; description = "Neovim extension for the [`zk`](https://github.com/zk-org/zk) plain text note-taking assistant."; - maintainers = [ maintainers.GaetanLepage ]; + maintainers = [ lib.maintainers.GaetanLepage ]; imports = [ # TODO: added 2025-04-07, remove after 25.05 @@ -99,7 +101,7 @@ lib.nixvim.plugins.mkNeovimPlugin { extraConfig = cfg: opts: { warnings = lib.nixvim.mkWarnings "plugins.zk" ( - mapAttrsToList + lib.mapAttrsToList (picker: pluginName: { when = (cfg.settings.picker == picker) && !config.plugins.${pluginName}.enable; message = '' diff --git a/plugins/lsp/language-servers/default.nix b/plugins/lsp/language-servers/default.nix index a07c4445..e194e203 100644 --- a/plugins/lsp/language-servers/default.nix +++ b/plugins/lsp/language-servers/default.nix @@ -3,11 +3,12 @@ pkgs, ... }: -with lib; let renamedServers = import ./_renamed.nix; unsupportedServers = lib.importJSON ../../../generated/unsupported-lspconfig-servers.json; + inherit (lib) mkOption types; + lspExtraArgs = { dartls = { settingsOptions = import ./dartls-settings.nix { inherit lib; }; @@ -56,7 +57,9 @@ let settings = cfg: { nixd = cfg; }; settingsOptions = import ./nixd-settings.nix { inherit lib; }; extraConfig = cfg: { - extraPackages = optional (cfg.settings.formatting.command == [ "nixpkgs-fmt" ]) pkgs.nixpkgs-fmt; + extraPackages = lib.optional ( + cfg.settings.formatting.command == [ "nixpkgs-fmt" ] + ) pkgs.nixpkgs-fmt; }; }; omnisharp = { @@ -180,7 +183,7 @@ let }; }; extraConfig = cfg: { - filetype.extension = mkIf (cfg.enable && cfg.autoSetFiletype) { v = "vlang"; }; + filetype.extension = lib.mkIf (cfg.enable && cfg.autoSetFiletype) { v = "vlang"; }; }; }; volar = { @@ -249,7 +252,7 @@ in "lsp" "servers" ]; - renameModules = mapAttrsToList ( + renameModules = lib.mapAttrsToList ( old: new: lib.mkRenamedOptionModule (baseLspPath ++ [ old ]) (baseLspPath ++ [ new ]) ) renamedServers; unsupportedModules = map ( diff --git a/tests/test-sources/plugins/cmp/all-sources.nix b/tests/test-sources/plugins/cmp/all-sources.nix index 29ba6205..d6d3101b 100644 --- a/tests/test-sources/plugins/cmp/all-sources.nix +++ b/tests/test-sources/plugins/cmp/all-sources.nix @@ -29,12 +29,11 @@ "codeium" ]; in - with lib; - pipe config.cmpSourcePlugins [ + lib.pipe config.cmpSourcePlugins [ # All known source names - attrNames + lib.attrNames # Filter out disabled sources - (filter (name: !(elem name disabledSources))) + (lib.filter (name: !(lib.elem name disabledSources))) # Convert names to source attributes (map (name: { inherit name;