mirror of
https://github.com/nix-community/nixvim.git
synced 2025-11-08 19:46:06 +01:00
28 lines
819 B
Nix
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
|