mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
modules/performance: ensure dependencies of lua packages also compiled
Previously only extraLuaPackages themselves were byte-compiled, not theirs dependencies. This commit fixes that by compiling lua packages recursively. It uses byte-compile-lua-lib.nix shared file. Also this commit uses the shared stub lua libraries for extraLuaPackages byte-compiling test.
This commit is contained in:
parent
9474ce916a
commit
75f2c1b1f1
4 changed files with 23 additions and 20 deletions
|
@ -172,9 +172,10 @@ in
|
|||
config =
|
||||
let
|
||||
# Optionally byte compile lua library
|
||||
inherit (import ./plugins/byte-compile-lua-lib.nix { inherit lib pkgs; }) byteCompileLuaPackages;
|
||||
extraLuaPackages =
|
||||
if config.performance.byteCompileLua.enable && config.performance.byteCompileLua.luaLib then
|
||||
ps: map builders.byteCompileLuaDrv (config.extraLuaPackages ps)
|
||||
ps: byteCompileLuaPackages (config.extraLuaPackages ps)
|
||||
else
|
||||
config.extraLuaPackages;
|
||||
|
||||
|
|
|
@ -1,9 +1,4 @@
|
|||
/*
|
||||
Byte compiling of lua dependencies of normalized plugin list
|
||||
|
||||
Inputs: List of normalized plugins
|
||||
Outputs: List of normalized plugins with all the propagatedBuildInputs byte-compiled
|
||||
*/
|
||||
# Utilities for byte compiling of lua dependencies
|
||||
{ lib, pkgs }:
|
||||
let
|
||||
builders = lib.nixvim.builders.withPkgs pkgs;
|
||||
|
@ -40,4 +35,14 @@ let
|
|||
# Byte-compile derivation (but only if it's a lua module) and its dependencies
|
||||
byteCompile = drv: byteCompileDeps (mapLuaModule builders.byteCompileLuaDrv drv);
|
||||
in
|
||||
mapNormalizedPlugins byteCompileDeps
|
||||
{
|
||||
# byteCompilePluginDeps compiles propagatedBuildInputs recursively
|
||||
# Inputs: List of normalized plugins
|
||||
# Outputs: List of normalized plugins with all the propagatedBuildInputs byte-compiled
|
||||
byteCompilePluginDeps = mapNormalizedPlugins byteCompileDeps;
|
||||
|
||||
# byteCompileLuaPackages compiles packages and its propagatedBuildInputs
|
||||
# Inputs: List of lua packages
|
||||
# Outputs: List of byte-compiled packages along with all the propagatedBuildInputs
|
||||
byteCompileLuaPackages = map byteCompile;
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ in
|
|||
byteCompilePlugins = import ./byte-compile-plugins.nix { inherit lib pkgs; };
|
||||
|
||||
shouldCompileLuaLib = byteCompileCfg.enable && byteCompileCfg.luaLib;
|
||||
byteCompileLuaLib = import ./byte-compile-lua-lib.nix { inherit lib pkgs; };
|
||||
inherit (import ./byte-compile-lua-lib.nix { inherit lib pkgs; }) byteCompilePluginDeps;
|
||||
|
||||
shouldCombinePlugins = config.performance.combinePlugins.enable;
|
||||
combinePlugins = import ./combine-plugins.nix {
|
||||
|
@ -50,7 +50,7 @@ in
|
|||
lib.pipe config.extraPlugins (
|
||||
[ normalizePlugins ]
|
||||
++ lib.optionals shouldCompilePlugins [ byteCompilePlugins ]
|
||||
++ lib.optionals shouldCompileLuaLib [ byteCompileLuaLib ]
|
||||
++ lib.optionals shouldCompileLuaLib [ byteCompilePluginDeps ]
|
||||
++ lib.optionals shouldCombinePlugins [ combinePlugins ]
|
||||
);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue