diff --git a/plugins/by-name/wezterm/default.nix b/plugins/by-name/wezterm/default.nix new file mode 100644 index 00000000..9686039b --- /dev/null +++ b/plugins/by-name/wezterm/default.nix @@ -0,0 +1,37 @@ +{ + lib, + pkgs, + ... +}: +let + inherit (lib.nixvim) defaultNullOpts; +in +lib.nixvim.plugins.neovim.mkNeovimPlugin { + name = "wezterm"; + packPathName = "wezterm.nvim"; + package = "wezterm-nvim"; + + maintainers = [ lib.maintainers.khaneliman ]; + + extraOptions = { + weztermPackage = lib.mkPackageOption pkgs "wezterm" { + nullable = true; + }; + }; + + settingsOptions = { + create_commands = defaultNullOpts.mkBool true '' + Whether to create plugin commands. + ''; + }; + + settingsExample = { + create_commands = false; + }; + + extraConfig = cfg: { + extraPackages = [ + cfg.weztermPackage + ]; + }; +} diff --git a/tests/test-sources/plugins/by-name/wezterm/default.nix b/tests/test-sources/plugins/by-name/wezterm/default.nix new file mode 100644 index 00000000..97de02c0 --- /dev/null +++ b/tests/test-sources/plugins/by-name/wezterm/default.nix @@ -0,0 +1,23 @@ +{ + empty = + { pkgs, ... }: + { + plugins.wezterm = { + enable = true; + weztermPackage = pkgs.wezterm; + }; + }; + + defaults = + { pkgs, ... }: + { + plugins.wezterm = { + enable = true; + weztermPackage = pkgs.wezterm; + + settings = { + create_commands = true; + }; + }; + }; +}