{ config, lib, pkgs, ... }: let cfg = config.programs.nvim-lazy; inherit (pkgs.callPackage ../../pkgs { }) wrapNeovimLazy; in { imports = [ ./options.nix ]; config = lib.mkIf cfg.enable { programs.nvim-lazy.finalPackage = let luaEnv = cfg.package.lua.withPackages cfg.extraLuaPackages; wrapperArgs = lib.optionals (luaEnv != null) [ "--prefix" "LUA_PATH" ";" (cfg.package.lua.pkgs.luaLib.genLuaPathAbsStr luaEnv) "--prefix" "LUA_CPATH" ";" (cfg.package.lua.pkgs.luaLib.genLuaCPathAbsStr luaEnv) ]; in (wrapNeovimLazy cfg.package { inherit (cfg) luaRcContent lazyConfig lazyPlugins vPlug viAlias vimAlias withNodeJs withRuby withPython3 extraPython3Packages ; inherit wrapperArgs; }); }; }