2024-12-23 14:44:23 +00:00
|
|
|
{
|
|
|
|
self,
|
|
|
|
lib,
|
|
|
|
defaultSystem,
|
|
|
|
}:
|
2023-11-06 16:26:23 +01:00
|
|
|
{
|
2024-08-14 05:31:27 +01:00
|
|
|
# TODO: Deprecate this arg in favour of using module options
|
2024-12-23 14:44:23 +00:00
|
|
|
pkgs ? null,
|
|
|
|
# NOTE: `defaultSystem` is the only reason this function can't go in `<nixvim>.lib`
|
|
|
|
system ? defaultSystem,
|
2023-10-23 14:11:29 +02:00
|
|
|
extraSpecialArgs ? { },
|
2024-02-15 14:27:45 +01:00
|
|
|
_nixvimTests ? false,
|
2023-02-20 11:42:13 +01:00
|
|
|
module,
|
|
|
|
}:
|
|
|
|
let
|
2024-12-15 05:23:06 +00:00
|
|
|
# NOTE: we are importing this just for evalNixvim
|
2024-12-21 13:40:16 +00:00
|
|
|
helpers = self.lib.nixvim.override { inherit _nixvimTests; };
|
2024-08-04 21:54:17 +01:00
|
|
|
inherit (helpers.modules) evalNixvim;
|
2023-03-31 15:10:27 +02:00
|
|
|
|
2024-12-23 14:44:23 +00:00
|
|
|
systemMod =
|
|
|
|
if pkgs == null then
|
|
|
|
{
|
|
|
|
_file = ./standalone.nix;
|
|
|
|
nixpkgs.hostPlatform = lib.mkDefault { inherit system; };
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
_file = ./standalone.nix;
|
|
|
|
nixpkgs.pkgs = lib.mkDefault pkgs;
|
|
|
|
};
|
|
|
|
|
2024-02-22 08:22:21 +01:00
|
|
|
mkNvim =
|
|
|
|
mod:
|
|
|
|
let
|
2025-01-20 14:00:08 +00:00
|
|
|
modules = lib.toList mod;
|
2024-09-24 10:19:12 +01:00
|
|
|
nixvimConfig = evalNixvim {
|
2025-01-20 14:00:08 +00:00
|
|
|
modules = modules ++ [
|
2024-12-23 14:44:23 +00:00
|
|
|
systemMod
|
2024-07-05 14:25:21 +01:00
|
|
|
];
|
2024-08-14 05:31:27 +01:00
|
|
|
inherit extraSpecialArgs;
|
2024-07-02 13:30:29 +01:00
|
|
|
};
|
2025-01-20 14:00:08 +00:00
|
|
|
extend = extension: mkNvim (modules ++ lib.toList extension);
|
2024-02-22 08:22:21 +01:00
|
|
|
in
|
2025-01-20 13:50:50 +00:00
|
|
|
nixvimConfig.config.build.package.overrideAttrs (old: {
|
2025-01-20 14:00:08 +00:00
|
|
|
passthru = old.passthru or { } // {
|
2025-01-20 13:50:50 +00:00
|
|
|
inherit (nixvimConfig) config options;
|
2025-01-20 14:00:08 +00:00
|
|
|
inherit extend;
|
2025-01-20 13:50:50 +00:00
|
|
|
nixvimExtend = lib.warn "<nixvim>.nixvimExtend has been renamed to <nixvim>.extend" extend;
|
|
|
|
};
|
|
|
|
});
|
2023-02-20 11:42:13 +01:00
|
|
|
in
|
2024-02-22 08:22:21 +01:00
|
|
|
mkNvim module
|