1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-11-09 03:56:05 +01:00
nixvim/modules/top-level/plugins/byte-compile-plugins.nix
saygo-png cd427977f3 modules/performance: add excludedPlugins option to byte compilation
Signed-off-by: saygo-png <saygo.mail@proton.me>
2025-09-14 11:48:13 +00:00

28 lines
819 B
Nix

/*
Byte compiling of normalized plugin list
Inputs: List of normalized plugins
Outputs: List of normalized (compiled) plugins
*/
{
lib,
pkgs,
excludedPlugins,
}:
normalizedPlugins:
let
builders = lib.nixvim.builders.withPkgs pkgs;
inherit (import ./utils.nix lib) mapNormalizedPlugins;
excludedNames = map (p: if builtins.isString p then p else lib.getName p) excludedPlugins;
isExcluded = p: builtins.elem (lib.getName p.plugin) excludedNames;
partitionedPlugins = builtins.partition isExcluded normalizedPlugins;
byteCompile =
p:
(builders.byteCompileLuaDrv p).overrideAttrs (
prev: lib.optionalAttrs (prev ? dependencies) { dependencies = map byteCompile prev.dependencies; }
);
in
(mapNormalizedPlugins byteCompile partitionedPlugins.wrong) ++ partitionedPlugins.right