diff --git a/plugins/by-name/nerdy/default.nix b/plugins/by-name/nerdy/default.nix new file mode 100644 index 00000000..c0e32196 --- /dev/null +++ b/plugins/by-name/nerdy/default.nix @@ -0,0 +1,25 @@ +{ lib, config, ... }: +lib.nixvim.plugins.mkNeovimPlugin { + name = "nerdy"; + packPathName = "nerdy.nvim"; + package = "nerdy-nvim"; + + maintainers = [ lib.maintainers.GaetanLepage ]; + + callSetup = false; + hasSettings = false; + + extraOptions = { + enableTelescope = lib.mkEnableOption "telescope integration"; + }; + + extraConfig = cfg: { + assertions = lib.nixvim.mkAssertions "plugins.nerdy" { + assertion = cfg.enableTelescope -> config.plugins.telescope.enable; + message = '' + Telescope support (enableTelescope) is enabled but the telescope plugin is not. + ''; + }; + plugins.telescope.enabledExtensions = lib.mkIf cfg.enableTelescope [ "nerdy" ]; + }; +} diff --git a/tests/test-sources/plugins/by-name/nerdy/default.nix b/tests/test-sources/plugins/by-name/nerdy/default.nix new file mode 100644 index 00000000..18298811 --- /dev/null +++ b/tests/test-sources/plugins/by-name/nerdy/default.nix @@ -0,0 +1,17 @@ +{ + empty = { + plugins.nerdy.enable = true; + }; + + with-telescope = { + plugins = { + telescope.enable = true; + web-devicons.enable = true; + + nerdy = { + enable = true; + enableTelescope = true; + }; + }; + }; +}