plugins: Introduce helpers.defaultNullOpts.mkLuaFn (#855)

This allows to avoid calling `mkRaw` on lua functions, as they will get
applied automatically.

This could also help in the future to refactor the use of Lua code to
make it more user-friendly.
This commit is contained in:
traxys 2023-12-29 15:24:42 +01:00 committed by GitHub
parent b38dbdb0dc
commit 1d8e7906c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 140 additions and 119 deletions

View file

@ -140,6 +140,33 @@ with lib; rec {
# documentation
mkNullableWithRaw = type: mkNullable (maybeRaw type);
mkLuaFn = default: desc:
lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = let
defaultDesc = ''
default:
```lua
${default}
```
'';
in
if desc == ""
then ''
(lua function)
${defaultDesc}
''
else ''
${desc}
(lua function)
${defaultDesc}
'';
apply = mkRaw;
};
mkNum = default: mkNullable (maybeRaw lib.types.number) (toString default);
mkInt = default: mkNullable (maybeRaw lib.types.int) (toString default);
# Positive: >0