diff --git a/docs/user-guide/helpers.md b/docs/user-guide/helpers.md index e3e34d4b..1573ccbd 100644 --- a/docs/user-guide/helpers.md +++ b/docs/user-guide/helpers.md @@ -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: diff --git a/wrappers/_shared.nix b/wrappers/_shared.nix index a707e3ee..b31702ff 100644 --- a/wrappers/_shared.nix +++ b/wrappers/_shared.nix @@ -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) (