2024-07-08 05:51:51 +01:00
|
|
|
default_pkgs: self:
|
2023-11-06 16:26:23 +01:00
|
|
|
{
|
2023-02-20 11:42:13 +01:00
|
|
|
pkgs ? default_pkgs,
|
2024-08-02 01:26:01 +01:00
|
|
|
lib ? pkgs.lib,
|
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-09-20 11:24:43 +01:00
|
|
|
# NOTE: user-facing so we must include the legacy `pkgs` argument
|
2024-09-13 14:44:42 +01:00
|
|
|
helpers = import ../lib { inherit pkgs lib _nixvimTests; };
|
2023-04-20 22:41:37 +02:00
|
|
|
|
2024-08-04 21:54:17 +01:00
|
|
|
inherit (helpers.modules) evalNixvim;
|
2023-03-31 15:10:27 +02:00
|
|
|
|
2024-02-22 08:22:21 +01:00
|
|
|
mkNvim =
|
|
|
|
mod:
|
|
|
|
let
|
2024-09-24 10:19:12 +01:00
|
|
|
nixvimConfig = evalNixvim {
|
2024-07-02 13:30:29 +01:00
|
|
|
modules = [
|
|
|
|
mod
|
2024-07-05 14:25:21 +01:00
|
|
|
];
|
2024-09-12 14:56:36 +01:00
|
|
|
extraSpecialArgs = {
|
|
|
|
defaultPkgs = pkgs;
|
|
|
|
} // extraSpecialArgs;
|
2024-07-02 13:30:29 +01:00
|
|
|
};
|
2024-09-24 07:02:22 +01:00
|
|
|
inherit (nixvimConfig.config) enableMan build;
|
2024-02-22 08:22:21 +01:00
|
|
|
in
|
|
|
|
(pkgs.symlinkJoin {
|
|
|
|
name = "nixvim";
|
|
|
|
paths = [
|
2024-09-24 07:02:22 +01:00
|
|
|
build.package
|
|
|
|
build.printInitPackage
|
2024-08-04 21:54:17 +01:00
|
|
|
] ++ pkgs.lib.optional enableMan self.packages.${pkgs.stdenv.hostPlatform.system}.man-docs;
|
2024-02-22 08:22:21 +01:00
|
|
|
meta.mainProgram = "nvim";
|
|
|
|
})
|
2024-07-01 14:20:12 +01:00
|
|
|
// rec {
|
2024-09-24 10:19:12 +01:00
|
|
|
inherit (nixvimConfig) config options;
|
2024-07-01 14:20:12 +01:00
|
|
|
extend =
|
2024-02-22 08:22:21 +01:00
|
|
|
extension:
|
|
|
|
mkNvim {
|
|
|
|
imports = [
|
|
|
|
mod
|
|
|
|
extension
|
|
|
|
];
|
|
|
|
};
|
2024-07-01 14:20:12 +01:00
|
|
|
nixvimExtend = lib.warn "<nixvim>.nixvimExtend has been renamed to <nixvim>.extend" extend;
|
2024-02-22 08:22:21 +01:00
|
|
|
};
|
2023-02-20 11:42:13 +01:00
|
|
|
in
|
2024-02-22 08:22:21 +01:00
|
|
|
mkNvim module
|