mirror of
https://github.com/nix-community/nixvim.git
synced 2025-11-08 19:46:06 +01:00
modules/performance: add excludedPlugins option to byte compilation
Signed-off-by: saygo-png <saygo.mail@proton.me>
This commit is contained in:
parent
43c6f7293e
commit
cd427977f3
3 changed files with 27 additions and 3 deletions
|
|
@ -60,6 +60,17 @@ in
|
|||
luaLib = lib.mkEnableOption "luaLib" // {
|
||||
description = "Whether to byte compile lua library.";
|
||||
};
|
||||
excludedPlugins = lib.mkOption {
|
||||
type = with types; listOf (either str package);
|
||||
default = [ ];
|
||||
example = lib.literalExpression ''
|
||||
[
|
||||
"faster.nvim"
|
||||
pkgs.vimPlugins.conform-nvim
|
||||
];
|
||||
'';
|
||||
description = "List of plugins (names or packages) to exclude from byte compilation.";
|
||||
};
|
||||
};
|
||||
|
||||
combinePlugins = {
|
||||
|
|
|
|||
|
|
@ -4,15 +4,25 @@
|
|||
Inputs: List of normalized plugins
|
||||
Outputs: List of normalized (compiled) plugins
|
||||
*/
|
||||
{ lib, pkgs }:
|
||||
{
|
||||
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
|
||||
(mapNormalizedPlugins byteCompile partitionedPlugins.wrong) ++ partitionedPlugins.right
|
||||
|
|
|
|||
|
|
@ -32,7 +32,10 @@ in
|
|||
build.plugins =
|
||||
let
|
||||
shouldCompilePlugins = byteCompileCfg.enable && byteCompileCfg.plugins;
|
||||
byteCompilePlugins = pkgs.callPackage ./byte-compile-plugins.nix { inherit lib; };
|
||||
byteCompilePlugins = pkgs.callPackage ./byte-compile-plugins.nix {
|
||||
inherit lib;
|
||||
inherit (config.performance.byteCompileLua) excludedPlugins;
|
||||
};
|
||||
|
||||
shouldCompileLuaLib = byteCompileCfg.enable && byteCompileCfg.luaLib;
|
||||
inherit (pkgs.callPackage ./byte-compile-lua-lib.nix { inherit lib; }) byteCompilePluginDeps;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue