wrappers: add our lib to the host's _module.args

Make our "extended" lib available to host modules as `_module.args.nixvimLib`.

We didn't do this before because `helpers` was too generic of a name,
but `nixvimLib` should be ok.

    { nixvimLib, ... }: {
        programs.nixvim.someOption = nixvimLib.nixvim.mkRaw "print('Hi')";
    }
This commit is contained in:
Matt Sturgeon 2024-08-02 02:03:07 +01:00
parent e555ba13b1
commit 511a328aa3
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
2 changed files with 21 additions and 3 deletions

View file

@ -23,6 +23,18 @@ in
}
```
Or you can access the extended `lib` used in standalone builds via the `nixvimLib` module arg:
```nix
{ nixvimLib, ... }:
{
# You can use nixvimLib.nixvim in your config
fooOption = nixvimLib.nixvim.mkRaw "print('hello')";
}
```
This "extended" lib, includes everything normally in `lib`, along with some additions from nixvim.
**Note:** the `lib` argument passed to modules is entirely unrelated to the `lib` _option_ accessed as `config.lib`!
A certain number of helpers are defined that can be useful:

View file

@ -44,9 +44,15 @@ in
];
config = mkMerge [
# Make our lib available to the host modules
# TODO: import top-level ../lib
{ lib.nixvim = lib.mkDefault (import ../lib/helpers.nix { inherit pkgs lib; }); }
{
# Make our lib available to the host modules
# TODO: import top-level ../lib
lib.nixvim = lib.mkDefault (import ../lib/helpers.nix { inherit pkgs lib; });
# Make nixvim's "extended" lib available to the host's module args
_module.args.nixvimLib = lib.mkDefault config.lib.nixvim.extendedLib;
}
# Propagate extraFiles to the host modules
(optionalAttrs (filesOpt != null) (
mkIf (!cfg.wrapRc) (