···7171 inotify-tools
7272 lazygit
7373 ];
7474+7575+ # below is a list of plugin providers, these should then be
7676+ # configured in your plugin or setup properly by adding to your path
7777+ # or the extraInitLua
7878+ #
7979+ # this can also be a list of strings
8080+ providers = {
8181+ node = false;
8282+ python = false;
8383+ python3 = true;
8484+ ruby = false;
8585+ perl = false;
8686+ };
8787+8888+ # following the providers above, you can set the exact package for
8989+ # your providers, in this case python3
9090+ extraInitLua = ''
9191+ vim.g.python3_host_prog = '${lib.getExe pkgs.python3}'
9292+ '';
7493 };
7594 });
7695 };
+26-5
wrapper.nix
···4040 # path, see there explanation below
4141 extraPackages ? [ ],
42424343+ # providers, these are the providers that will be enabled
4444+ providers ? { },
4545+4646+ # extra init.lua, this is useful for setting up the environment
4747+ extraInitLua ? "",
4848+4349 # plugins
4450 startPlugins ? [ ],
4551 optPlugins ? [ ],
···6672 startWithDeps = findDependenciesRecursively startPlugins;
6773 startPlugins' = unique (startWithDeps ++ depsOfOptionalPlugins);
68747575+ # i couldn't chose a nice api between attrs and lists, so i just did both lol
7676+ attrsifiedProviders =
7777+ if lib.isAttrs providers then providers else (lib.genAttrs providers (_: true));
7878+7979+ # merge providers attrs, with priority to the user providerd options
8080+ pluginProviders = {
8181+ node = false;
8282+ perl = false;
8383+ python = false;
8484+ python3 = false;
8585+ ruby = false;
8686+ }
8787+ // attrsifiedProviders;
8888+6989 mkResultingPath =
7090 subdir: p:
7191 "pack/${pname}/${subdir}/${if typeOf p == "path" then baseNameOf p else (p.pname or p.name)}";
···95115 vim.opt.runtimepath:append('$out')
9611697117 vim.loader.enable()
9898- vim.g.loaded_node_provider = 0
9999- vim.g.loaded_perl_provider = 0
100100- vim.g.loaded_python_provider = 0
101101- vim.g.loaded_python3_provider = 0
102102- vim.g.loaded_ruby_provider = 0
118118+119119+ ${lib.concatMapAttrsStringSep "\n" (provider: enabled: ''
120120+ vim.g.loaded_${provider}_provider = ${if enabled then "1" else "0"}
121121+ '') pluginProviders}
122122+123123+ ${extraInitLua}
103124104125 do
105126 vim.cmd.packadd({ "init-plugin", bang = true })