diff --git a/modules/programs/neovim.nix b/modules/programs/neovim.nix index 271bc150e..c7520c064 100644 --- a/modules/programs/neovim.nix +++ b/modules/programs/neovim.nix @@ -155,6 +155,15 @@ in ''; }; + withPerl = mkOption { + type = types.bool; + default = false; + description = '' + Enable perl provider. Set to `true` to + use Perl plugins. + ''; + }; + withRuby = mkOption { type = types.nullOr types.bool; default = true; @@ -224,6 +233,31 @@ in ''; }; + extraName = mkOption { + type = types.str; + default = ""; + description = '' + Extra name appended to the wrapper package name. + ''; + }; + + autowrapRuntimeDeps = mkOption { + type = types.bool; + default = true; + description = '' + Whether to automatically wrap the binary with the runtime dependencies of the plugins. + ''; + }; + + waylandSupport = mkOption { + type = types.bool; + default = pkgs.stdenv.isLinux; + defaultText = literalExpression "pkgs.stdenv.isLinux"; + description = '' + Whether to enable Wayland clipboard support. + ''; + }; + extraWrapperArgs = mkOption { type = with types; listOf str; default = [ ]; @@ -418,6 +452,7 @@ in extraPython3Packages withPython3 withRuby + withPerl viAlias vimAlias ; @@ -429,6 +464,11 @@ in wrappedNeovim' = pkgs.wrapNeovimUnstable cfg.package ( neovimConfig // { + inherit (cfg) + extraName + autowrapRuntimeDeps + waylandSupport + ; wrapperArgs = (lib.escapeShellArgs (neovimConfig.wrapperArgs ++ cfg.extraWrapperArgs)) + " "