nix-community.nixvim/wrappers/standalone.nix

51 lines
1.2 KiB
Nix
Raw Normal View History

default_pkgs: self:
2024-05-05 19:39:35 +02:00
{
pkgs ? default_pkgs,
lib ? pkgs.lib,
2024-05-05 19:39:35 +02:00
extraSpecialArgs ? { },
_nixvimTests ? false,
module,
2024-05-05 19:39:35 +02:00
}:
let
# NOTE: user-facing so we must include the legacy `pkgs` argument
helpers = import ../lib { inherit pkgs lib _nixvimTests; };
inherit (helpers.modules) evalNixvim;
2024-05-05 19:39:35 +02:00
mkNvim =
mod:
let
evaledModule = evalNixvim {
modules = [
mod
./modules/standalone.nix
];
extraSpecialArgs = {
defaultPkgs = pkgs;
} // extraSpecialArgs;
};
inherit (evaledModule.config) enableMan finalPackage printInitPackage;
2024-05-05 19:39:35 +02:00
in
(pkgs.symlinkJoin {
name = "nixvim";
2024-05-05 19:39:35 +02:00
paths = [
finalPackage
printInitPackage
] ++ pkgs.lib.optional enableMan self.packages.${pkgs.stdenv.hostPlatform.system}.man-docs;
meta.mainProgram = "nvim";
})
// rec {
inherit (evaledModule) config options;
extend =
2024-05-05 19:39:35 +02:00
extension:
mkNvim {
imports = [
mod
extension
];
};
nixvimExtend = lib.warn "<nixvim>.nixvimExtend has been renamed to <nixvim>.extend" extend;
};
in
2024-05-05 19:39:35 +02:00
mkNvim module