1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-11-26 20:21:03 +01:00
nixvim/flake/wrappers.nix
Matt Sturgeon 947cb0aaed wrappers: use importApply to preserve module location
The `import module args` pattern is useful for applying inputs from
outside of the module system, however it discards module location
metadata that is usually associated with file-path modules.

`lib.modules.importApply` solves that problem by wrapping the applied
module using `lib.modules.setDefaultModuleLocation`.

This means documentation, warnings, and errors will show the correct
location.
2025-11-24 11:10:47 +00:00

43 lines
1 KiB
Nix

{
self,
lib,
...
}:
let
inherit (lib.modules) importApply;
in
{
perSystem =
{ system, ... }:
{
_module.args = {
makeNixvimWithModule = import ../wrappers/standalone.nix {
inherit lib self;
defaultSystem = system;
};
};
};
flake = {
nixosModules = {
nixvim = importApply ../wrappers/nixos.nix self;
default = self.nixosModules.nixvim;
};
# Alias for backward compatibility
# Added 2025-05-25 in https://github.com/nix-community/nixvim/pull/3387
homeManagerModules =
let
cond = lib.trivial.oldestSupportedReleaseIsAtLeast 2505;
msg = "nixvim: flake output `homeManagerModules` has been renamed to `homeModules`.";
in
lib.warnIf cond msg self.homeModules;
homeModules = {
nixvim = importApply ../wrappers/hm.nix self;
default = self.homeModules.nixvim;
};
nixDarwinModules = {
nixvim = importApply ../wrappers/darwin.nix self;
default = self.nixDarwinModules.nixvim;
};
};
}