diff --git a/plugins/ai/chatgpt.nix b/plugins/ai/chatgpt.nix index 2910070d..c8305203 100644 --- a/plugins/ai/chatgpt.nix +++ b/plugins/ai/chatgpt.nix @@ -13,9 +13,8 @@ helpers.neovim-plugin.mkNeovimPlugin { maintainers = [ maintainers.GaetanLepage ]; extraOptions = { - curlPackage = helpers.mkPackageOption { - name = "curl"; - default = pkgs.curl; + curlPackage = lib.mkPackageOption pkgs "curl" { + nullable = true; }; }; diff --git a/plugins/completion/cmp/sources/cmp-fish.nix b/plugins/completion/cmp/sources/cmp-fish.nix index 90a886d6..ec65084c 100644 --- a/plugins/completion/cmp/sources/cmp-fish.nix +++ b/plugins/completion/cmp/sources/cmp-fish.nix @@ -13,9 +13,8 @@ in meta.maintainers = [ maintainers.GaetanLepage ]; options.plugins.cmp-fish = { - fishPackage = helpers.mkPackageOption { - name = "fish"; - default = pkgs.fish; + fishPackage = lib.mkPackageOption pkgs "fish" { + nullable = true; }; }; diff --git a/plugins/completion/coq.nix b/plugins/completion/coq.nix index 129215f5..8fb064ce 100644 --- a/plugins/completion/coq.nix +++ b/plugins/completion/coq.nix @@ -16,11 +16,14 @@ helpers.neovim-plugin.mkNeovimPlugin { ]; extraOptions = { + # TODO: should this enable option be replaced with `nullable = true` in the package option? installArtifacts = mkEnableOption "and install coq-artifacts"; - artifactsPackage = mkOption { - type = types.package; - description = "Package to use for coq-artifacts (when enabled with installArtifacts)"; - default = pkgs.vimPlugins.coq-artifacts; + artifactsPackage = mkPackageOption pkgs "coq-artifacts" { + extraDescription = "Installed when `installArtifacts` is enabled."; + default = [ + "vimPlugins" + "coq-artifacts" + ]; }; }; diff --git a/plugins/filetrees/neo-tree.nix b/plugins/filetrees/neo-tree.nix index 5a410c59..7bfb5391 100644 --- a/plugins/filetrees/neo-tree.nix +++ b/plugins/filetrees/neo-tree.nix @@ -62,9 +62,8 @@ in "nvim-web-devicons" ] { nullable = true; }; - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; sources = diff --git a/plugins/filetrees/nvim-tree.nix b/plugins/filetrees/nvim-tree.nix index 32272616..cd1e4e0f 100644 --- a/plugins/filetrees/nvim-tree.nix +++ b/plugins/filetrees/nvim-tree.nix @@ -46,9 +46,8 @@ in "nvim-web-devicons" ] { nullable = true; }; - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; disableNetrw = helpers.defaultNullOpts.mkBool false "Disable netrw"; diff --git a/plugins/git/committia.nix b/plugins/git/committia.nix index 31f1d2cd..a3eb7cd1 100644 --- a/plugins/git/committia.nix +++ b/plugins/git/committia.nix @@ -1,5 +1,6 @@ { helpers, + lib, pkgs, ... }: @@ -47,9 +48,8 @@ helpers.vim-plugin.mkVimPlugin { }; extraOptions = { - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; }; diff --git a/plugins/git/fugitive.nix b/plugins/git/fugitive.nix index 08e5846c..5c05ff20 100644 --- a/plugins/git/fugitive.nix +++ b/plugins/git/fugitive.nix @@ -13,9 +13,8 @@ helpers.vim-plugin.mkVimPlugin { # In typical tpope fashion, this plugin has no config options extraOptions = { - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; }; diff --git a/plugins/git/git-conflict.nix b/plugins/git/git-conflict.nix index 13902177..fb26fe7c 100644 --- a/plugins/git/git-conflict.nix +++ b/plugins/git/git-conflict.nix @@ -13,9 +13,8 @@ helpers.neovim-plugin.mkNeovimPlugin { maintainers = [ maintainers.GaetanLepage ]; extraOptions = { - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; }; diff --git a/plugins/git/git-worktree.nix b/plugins/git/git-worktree.nix index a43dd8c7..bde0b75d 100644 --- a/plugins/git/git-worktree.nix +++ b/plugins/git/git-worktree.nix @@ -16,9 +16,8 @@ in package = helpers.mkPluginPackageOption "git-worktree" pkgs.vimPlugins.git-worktree-nvim; - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; enableTelescope = mkEnableOption "telescope integration"; diff --git a/plugins/git/gitblame.nix b/plugins/git/gitblame.nix index a84e520b..f1021c7f 100644 --- a/plugins/git/gitblame.nix +++ b/plugins/git/gitblame.nix @@ -4,7 +4,7 @@ ... }: let - inherit (lib.nixvim) defaultNullOpts mkPackageOption; + inherit (lib.nixvim) defaultNullOpts; types = lib.nixvim.nixvimTypes; in lib.nixvim.neovim-plugin.mkNeovimPlugin { @@ -128,9 +128,8 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin { }; extraOptions = { - gitPackage = mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; }; diff --git a/plugins/git/gitgutter.nix b/plugins/git/gitgutter.nix index c38cc941..8c5338db 100644 --- a/plugins/git/gitgutter.nix +++ b/plugins/git/gitgutter.nix @@ -16,9 +16,8 @@ in package = helpers.mkPluginPackageOption "gitgutter" pkgs.vimPlugins.gitgutter; - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; recommendedSettings = mkOption { diff --git a/plugins/git/gitsigns/default.nix b/plugins/git/gitsigns/default.nix index 0dd85ae9..90dabe49 100644 --- a/plugins/git/gitsigns/default.nix +++ b/plugins/git/gitsigns/default.nix @@ -242,9 +242,8 @@ helpers.neovim-plugin.mkNeovimPlugin { ]; extraOptions = { - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; }; diff --git a/plugins/git/lazygit.nix b/plugins/git/lazygit.nix index 55f22330..68b10ee1 100644 --- a/plugins/git/lazygit.nix +++ b/plugins/git/lazygit.nix @@ -70,14 +70,12 @@ helpers.vim-plugin.mkVimPlugin { }; extraOptions = { - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; - lazygitPackage = helpers.mkPackageOption { - name = "lazygit"; - default = pkgs.lazygit; + lazygitPackage = lib.mkPackageOption pkgs "lazygit" { + nullable = true; }; }; diff --git a/plugins/git/neogit/default.nix b/plugins/git/neogit/default.nix index d2132525..6f7638e0 100644 --- a/plugins/git/neogit/default.nix +++ b/plugins/git/neogit/default.nix @@ -101,9 +101,8 @@ helpers.neovim-plugin.mkNeovimPlugin { }; extraOptions = { - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; }; diff --git a/plugins/languages/godot.nix b/plugins/languages/godot.nix index 4e82c93a..97b8ee0e 100644 --- a/plugins/languages/godot.nix +++ b/plugins/languages/godot.nix @@ -14,9 +14,9 @@ helpers.vim-plugin.mkVimPlugin { maintainers = [ maintainers.GaetanLepage ]; extraOptions = { - godotPackage = helpers.mkPackageOption { - name = "godot"; - default = pkgs.godot_4; + godotPackage = lib.mkPackageOption pkgs "godot" { + nullable = true; + default = "godot_4"; }; }; diff --git a/plugins/languages/lean.nix b/plugins/languages/lean.nix index 1bc8b6a4..645c02e9 100644 --- a/plugins/languages/lean.nix +++ b/plugins/languages/lean.nix @@ -15,9 +15,9 @@ in package = helpers.mkPluginPackageOption "lean-nvim" pkgs.vimPlugins.lean-nvim; - leanPackage = helpers.mkPackageOption { - name = "lean"; - default = pkgs.lean4; + leanPackage = lib.mkPackageOption pkgs "lean" { + nullable = true; + default = "lean4"; }; lsp = helpers.defaultNullOpts.mkNullable ( diff --git a/plugins/languages/ledger.nix b/plugins/languages/ledger.nix index 56a92374..751c4b71 100644 --- a/plugins/languages/ledger.nix +++ b/plugins/languages/ledger.nix @@ -45,9 +45,8 @@ mkVimPlugin { ]; extraOptions = { - ledgerPackage = helpers.mkPackageOption { - name = "ledger"; - default = pkgs.ledger; + ledgerPackage = lib.mkPackageOption pkgs "ledger" { + nullable = true; }; }; diff --git a/plugins/languages/markdown/glow.nix b/plugins/languages/markdown/glow.nix index 9b15b9dd..35dbb819 100644 --- a/plugins/languages/markdown/glow.nix +++ b/plugins/languages/markdown/glow.nix @@ -72,13 +72,8 @@ helpers.neovim-plugin.mkNeovimPlugin { }; extraOptions = { - glowPackage = helpers.mkPackageOption { - description = '' - Which package to use for `glow` in your `$PATH`. - Set to `null` to disable its automatic installation. - ''; - default = pkgs.glow; - defaultText = lib.literalExpression "pkgs.glow"; + glowPackage = lib.mkPackageOption pkgs "glow" { + nullable = true; }; }; diff --git a/plugins/languages/rust/rust-tools.nix b/plugins/languages/rust/rust-tools.nix index b73ea5e4..55ce6075 100644 --- a/plugins/languages/rust/rust-tools.nix +++ b/plugins/languages/rust/rust-tools.nix @@ -13,9 +13,8 @@ in options.plugins.rust-tools = helpers.neovim-plugin.extraOptionsOptions // { enable = mkEnableOption "rust tools plugins"; package = helpers.mkPluginPackageOption "rust-tools" pkgs.vimPlugins.rust-tools-nvim; - serverPackage = helpers.mkPackageOption { - name = "rust-analyzer"; - default = pkgs.rust-analyzer; + serverPackage = lib.mkPackageOption pkgs "rust-analyzer" { + nullable = true; }; executor = helpers.defaultNullOpts.mkEnumFirstDefault [ diff --git a/plugins/languages/rust/rustaceanvim/default.nix b/plugins/languages/rust/rustaceanvim/default.nix index 8f8ea36f..a269f894 100644 --- a/plugins/languages/rust/rustaceanvim/default.nix +++ b/plugins/languages/rust/rustaceanvim/default.nix @@ -16,9 +16,8 @@ helpers.neovim-plugin.mkNeovimPlugin { optionsRenamedToSettings = import ./renamed-options.nix; extraOptions = { - rustAnalyzerPackage = helpers.mkPackageOption { - name = "rust-analyzer"; - default = pkgs.rust-analyzer; + rustAnalyzerPackage = lib.mkPackageOption pkgs "rust-analyzer" { + nullable = true; }; }; diff --git a/plugins/languages/texpresso.nix b/plugins/languages/texpresso.nix index 71f1b135..1c25f0c1 100644 --- a/plugins/languages/texpresso.nix +++ b/plugins/languages/texpresso.nix @@ -15,9 +15,8 @@ helpers.vim-plugin.mkVimPlugin { maintainers = [ maintainers.nickhu ]; extraOptions = { - texpressoPackage = helpers.mkPackageOption { - name = "texpresso"; - default = pkgs.texpresso; + texpressoPackage = lib.mkPackageOption pkgs "texpresso" { + nullable = true; }; }; diff --git a/plugins/languages/vimtex.nix b/plugins/languages/vimtex.nix index 9a67dda5..cb941c5f 100644 --- a/plugins/languages/vimtex.nix +++ b/plugins/languages/vimtex.nix @@ -54,9 +54,13 @@ helpers.vim-plugin.mkVimPlugin { }; extraOptions = { - texlivePackage = helpers.mkPackageOption { - name = "texlive"; - default = pkgs.texlive.combined.scheme-medium; + texlivePackage = lib.mkPackageOption pkgs "texlive" { + nullable = true; + default = [ + "texlive" + "combined" + "scheme-medium" + ]; }; }; diff --git a/plugins/pluginmanagers/lazy.nix b/plugins/pluginmanagers/lazy.nix index cb562dc4..1c11c4af 100644 --- a/plugins/pluginmanagers/lazy.nix +++ b/plugins/pluginmanagers/lazy.nix @@ -41,9 +41,8 @@ in plugins.lazy = { enable = mkEnableOption "lazy.nvim"; - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; plugins = diff --git a/plugins/pluginmanagers/packer.nix b/plugins/pluginmanagers/packer.nix index 63b6d769..0d26b719 100644 --- a/plugins/pluginmanagers/packer.nix +++ b/plugins/pluginmanagers/packer.nix @@ -14,9 +14,8 @@ in plugins.packer = { enable = mkEnableOption "packer.nvim"; - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; plugins = diff --git a/plugins/statuslines/lualine.nix b/plugins/statuslines/lualine.nix index fc5c6c6e..c0cbec36 100644 --- a/plugins/statuslines/lualine.nix +++ b/plugins/statuslines/lualine.nix @@ -108,9 +108,8 @@ in package = helpers.mkPluginPackageOption "lualine" pkgs.vimPlugins.lualine-nvim; - gitPackage = helpers.mkPackageOption { - name = "git"; - default = pkgs.git; + gitPackage = lib.mkPackageOption pkgs "git" { + nullable = true; }; iconsEnabled = mkOption { diff --git a/plugins/utils/fzf-lua.nix b/plugins/utils/fzf-lua.nix index aa96f65e..559fafca 100644 --- a/plugins/utils/fzf-lua.nix +++ b/plugins/utils/fzf-lua.nix @@ -40,10 +40,9 @@ helpers.neovim-plugin.mkNeovimPlugin { inherit settingsOptions settingsExample; extraOptions = { - fzfPackage = helpers.mkPackageOption { - name = "fzf"; - default = pkgs.fzf; - example = pkgs.skim; + fzfPackage = lib.mkPackageOption pkgs "fzf" { + nullable = true; + example = "pkgs.skim"; }; # TODO: deprecated 2024-08-29 remove after 24.11 diff --git a/plugins/utils/todo-comments.nix b/plugins/utils/todo-comments.nix index 5e2fd00d..7898c7cd 100644 --- a/plugins/utils/todo-comments.nix +++ b/plugins/utils/todo-comments.nix @@ -10,7 +10,6 @@ let defaultNullOpts keymaps mkNullOrOption' - mkPackageOption transitionType ; types = lib.nixvim.nixvimTypes; @@ -405,9 +404,8 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin { todoTelescope = "TodoTelescope"; }; - ripgrepPackage = mkPackageOption { - name = "ripgrep"; - default = pkgs.ripgrep; + ripgrepPackage = lib.mkPackageOption pkgs "ripgrep" { + nullable = true; }; }; diff --git a/plugins/utils/zk.nix b/plugins/utils/zk.nix index 92965712..0bbf6080 100644 --- a/plugins/utils/zk.nix +++ b/plugins/utils/zk.nix @@ -108,9 +108,8 @@ helpers.neovim-plugin.mkNeovimPlugin { }; extraOptions = { - zkPackage = helpers.mkPackageOption { - name = "zk"; - default = pkgs.zk; + zkPackage = lib.mkPackageOption pkgs "zk" { + nullable = true; }; }; extraConfig = cfg: {