diff --git a/plugins/bufferlines/barbar.nix b/plugins/bufferlines/barbar.nix index 0d51e5ba..33d44a33 100644 --- a/plugins/bufferlines/barbar.nix +++ b/plugins/bufferlines/barbar.nix @@ -55,7 +55,6 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin config { name = "barbar"; originalName = "barbar.nvim"; defaultPackage = pkgs.vimPlugins.barbar-nvim; - extraPlugins = [ pkgs.vimPlugins.nvim-web-devicons ]; maintainers = [ maintainers.GaetanLepage ]; @@ -197,6 +196,11 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin config { ); extraOptions = { + iconsPackage = lib.nixvim.mkPackageOption { + name = "nvim-web-devicons"; + default = pkgs.vimPlugins.nvim-web-devicons; + }; + keymaps = mapAttrs ( optionName: funcName: mkNullOrOption' { @@ -214,6 +218,8 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin config { }; extraConfig = cfg: { + extraPlugins = mkIf (cfg.iconsPackage != null) [ cfg.iconsPackage ]; + keymaps = filter (keymap: keymap != null) ( # TODO: switch to `attrValues cfg.keymaps` when removing the deprecation warnings above: attrValues (filterAttrs (n: v: n != "silent") cfg.keymaps) diff --git a/tests/test-sources/plugins/bufferlines/barbar.nix b/tests/test-sources/plugins/bufferlines/barbar.nix index fddf4c84..72c2a17d 100644 --- a/tests/test-sources/plugins/bufferlines/barbar.nix +++ b/tests/test-sources/plugins/bufferlines/barbar.nix @@ -219,4 +219,12 @@ }; }; }; + + no-packages = { + plugins.barbar = { + enable = true; + iconsPackage = null; + settings.icons.filetype.enabled = false; + }; + }; }