mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
modules/performance: add ability to byte compile lua configuration files
This commit adds support for byte compiling lua configuration files. It's enabled by default (if byte compiling is enabled at all) and can be disabled with `performance.byteCompileLua.configs` toggle. To implement this feature `extraFiles.<name>.finalSource` internal read-only option is introduced. `source` option cannot be used because it's user configurable. In order to access the values of the `performance.byteCompileLua` options, parent config is added to specialArgs of extraFiles submodule. Then the usages of `source` option changed to `finalSource` in all relevant places (filesPlugin and wrappers). Added more helpers for various cases of byte compiling: * `byteCompileLuaFile` byte compiles lua file * `byteCompileLuaHook` is a setup hook that byte compiles all lua files * `byteCompileLuaDrv` overrides derivation by adding byteCompileLuaHook to it Added tests to validate that extraFiles specified by various methods are handled correctly. Added a separate home-manager test, that is intended to validate that extraFiles propagated to wrapper modules are correctly byte compiled.
This commit is contained in:
parent
17e8904992
commit
44849233e0
10 changed files with 292 additions and 14 deletions
|
@ -53,11 +53,11 @@ in
|
|||
setAttrByPath filesOpt (
|
||||
listToAttrs (
|
||||
map (
|
||||
{ target, source, ... }:
|
||||
{ target, finalSource, ... }:
|
||||
{
|
||||
name = filesPrefix + target;
|
||||
value = {
|
||||
inherit source;
|
||||
source = finalSource;
|
||||
};
|
||||
}
|
||||
) extraFiles
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue