1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-11-20 17:29:40 +01:00

docs: Add a short sections on helpers (#1093)

This commit is contained in:
traxys 2024-02-14 23:38:26 +01:00 committed by GitHub
parent 28d4d2a842
commit 375453feff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 86 additions and 17 deletions

39
docs/helpers.md Normal file
View file

@ -0,0 +1,39 @@
# Helpers
Regardless of the way NixVim is used (as a home-manager module, a nixos module, or as a standalone module),
helpers can be included in the same way.
You can simply use:
```nix
{
helpers,
...
}: {
# Your config
}
```
A certain number of helpers are defined that can be useful:
- `helpers.emptyTable`: An empty lua table `{}` that will be included in the final lua configuration.
This is equivalent to `{__empty = {};}`. This form can allow to do `option.__empty = {}`.
- `helpers.mkRaw str`: Write the string `str` as raw lua in the final lua configuration.
This is equivalent to `{__raw = "lua code";}`. This form can allow to do `option.__raw = "lua code"`.
- `helpers.toLuaObject obj`: Create a string representation of the Nix object. Useful to define your own plugins.
- `helpers.listToUnkeyedAttrs list`: Transforms a list to an "unkeyed" attribute set.
This allows to define mixed table/list in lua:
```nix
(listToUnkeyedAttrs ["a", "b"]) // {foo = "bar";}
```
Resulting in the following lua:
```lua
{"a", "b", [foo] = "bar"}
```