mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 08:35:43 +02:00
modules/performance: handle python3 dependencies when combining plugins
This commit is contained in:
parent
fdb3950c59
commit
f900dcd6aa
2 changed files with 37 additions and 0 deletions
|
@ -95,6 +95,13 @@ in
|
||||||
})
|
})
|
||||||
) allPlugins;
|
) allPlugins;
|
||||||
|
|
||||||
|
# Python3 dependencies from all plugins
|
||||||
|
python3Dependencies =
|
||||||
|
let
|
||||||
|
deps = map (p: p.python3Dependencies or (_: [ ])) allPluginsOverrided;
|
||||||
|
in
|
||||||
|
ps: builtins.concatMap (f: f ps) deps;
|
||||||
|
|
||||||
# Combine all plugins into a single pack
|
# Combine all plugins into a single pack
|
||||||
pluginPack = pkgs.vimUtils.toVimPlugin (
|
pluginPack = pkgs.vimUtils.toVimPlugin (
|
||||||
pkgs.buildEnv {
|
pkgs.buildEnv {
|
||||||
|
@ -106,6 +113,9 @@ in
|
||||||
find $out -type d -empty -delete
|
find $out -type d -empty -delete
|
||||||
runHook preFixup
|
runHook preFixup
|
||||||
'';
|
'';
|
||||||
|
passthru = {
|
||||||
|
inherit python3Dependencies;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -102,4 +102,31 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Test that plugin python3 dependencies are handled
|
||||||
|
python-dependencies.module =
|
||||||
|
{ config, ... }:
|
||||||
|
{
|
||||||
|
performance.combinePlugins.enable = true;
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
|
# No python3 dependencies
|
||||||
|
plenary-nvim
|
||||||
|
# Duplicate python3 dependencies
|
||||||
|
(nvim-lspconfig.overrideAttrs { passthru.python3Dependencies = ps: [ ps.pyyaml ]; })
|
||||||
|
(nvim-treesitter.overrideAttrs { passthru.python3Dependencies = ps: [ ps.pyyaml ]; })
|
||||||
|
# Another python3 dependency
|
||||||
|
(nvim-cmp.overrideAttrs { passthru.python3Dependencies = ps: [ ps.requests ]; })
|
||||||
|
];
|
||||||
|
extraConfigLuaPost = ''
|
||||||
|
-- Python modules are importable
|
||||||
|
vim.cmd.py3("import yaml")
|
||||||
|
vim.cmd.py3("import requests")
|
||||||
|
'';
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = builtins.length config.finalPackage.packpathDirs.myNeovimPackages.start == 1;
|
||||||
|
message = "More than one plugin is defined in packpathDirs.";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue