1.6 KiB
nix2lua
This is a small but functional library that converts your nix configurations into Lua format.
This library was initially designed for my personal Neovim flake.
Installation
Add nix2lua
as input to your flake.nix
{
inputs.nix2lua.url = "git+https://git.pleshevski.ru/mynix/nix2lua";
outputs = { nix2lua }:
let
luaTable = nix2lua.lib.toLua {
foo = "bar";
nvimTree.settings = {
open_on_setup = true;
renderer = {
group_empty = true;
full_name = true;
};
};
};
in luaTable;
}
References
toLua expr
Returns a string containing Lua representation of
expr
. Strings, integers, floats, boolean, lists and sets are mapped to their Lua equivalents.Null will be skipped. This is useful when you want to use an optional value. To render
nil
you should use theLuaNil
function.toLua { foo = "bar"; } toLua [ 10 "foo" [ "bar" ] ]
LuaNil
Creates a type that will be mapped by the
toLua
asnil
toLua LuaNil
LuaRaw expr
Creates a type that instructs
toLua
not to change the passed expressionexpr
.toLua (mkLuaRaw "require('bar').baz")
mkNamedField name expr
Creates a type that represents a named field in the Lua table. This type cannot exist outside a list or set.
This is useful to create table with some named fields.
toLua [ "foo" (mkNamedField "bar" "baz") ]
License
GNU General Public License v3.0 or later
See COPYING to see the full text.