diff --git a/plugins/lsp/lspsaga.nix b/plugins/lsp/lspsaga.nix index df615354..40fe6352 100644 --- a/plugins/lsp/lspsaga.nix +++ b/plugins/lsp/lspsaga.nix @@ -51,6 +51,11 @@ in package = helpers.mkPluginPackageOption "lspsaga" pkgs.vimPlugins.lspsaga-nvim; + iconsPackage = helpers.mkPackageOption { + name = "nvim-web-devicons"; + default = pkgs.vimPlugins.nvim-web-devicons; + }; + ui = { border = helpers.defaultNullOpts.mkBorder "single" "lspsaga" ""; @@ -451,9 +456,11 @@ in }; config = mkIf cfg.enable { - extraPlugins = [ - cfg.package - ] ++ (optional (cfg.ui.devicon == null || cfg.ui.devicon) pkgs.vimPlugins.nvim-web-devicons); + extraPlugins = + [ cfg.package ] + ++ optional ( + cfg.iconsPackage != null && (cfg.ui.devicon == null || cfg.ui.devicon) + ) cfg.iconsPackage; warnings = mkIf ( # https://nvimdev.github.io/lspsaga/implement/#default-options diff --git a/tests/test-sources/plugins/lsp/lspsaga.nix b/tests/test-sources/plugins/lsp/lspsaga.nix index fe6a44ce..255e0d3f 100644 --- a/tests/test-sources/plugins/lsp/lspsaga.nix +++ b/tests/test-sources/plugins/lsp/lspsaga.nix @@ -170,4 +170,11 @@ }; }; }; + + no-packages = { + plugins.lspsaga = { + enable = true; + iconsPackage = null; + }; + }; }