From 947cb0aaed6d3f66ef142a0115b72d2537877ecc Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Mon, 24 Nov 2025 10:41:21 +0000 Subject: [PATCH] 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. --- flake/wrappers.nix | 9 ++++++--- wrappers/darwin.nix | 5 ++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/flake/wrappers.nix b/flake/wrappers.nix index 3cb3e0fb..1eb77645 100644 --- a/flake/wrappers.nix +++ b/flake/wrappers.nix @@ -3,6 +3,9 @@ lib, ... }: +let + inherit (lib.modules) importApply; +in { perSystem = { system, ... }: @@ -17,7 +20,7 @@ flake = { nixosModules = { - nixvim = import ../wrappers/nixos.nix self; + nixvim = importApply ../wrappers/nixos.nix self; default = self.nixosModules.nixvim; }; # Alias for backward compatibility @@ -29,11 +32,11 @@ in lib.warnIf cond msg self.homeModules; homeModules = { - nixvim = import ../wrappers/hm.nix self; + nixvim = importApply ../wrappers/hm.nix self; default = self.homeModules.nixvim; }; nixDarwinModules = { - nixvim = import ../wrappers/darwin.nix self; + nixvim = importApply ../wrappers/darwin.nix self; default = self.nixDarwinModules.nixvim; }; }; diff --git a/wrappers/darwin.nix b/wrappers/darwin.nix index 3c78ee8d..2c1082fa 100644 --- a/wrappers/darwin.nix +++ b/wrappers/darwin.nix @@ -8,6 +8,9 @@ let inherit (lib) mkIf ; + inherit (lib.modules) + importApply + ; cfg = config.programs.nixvim; evalArgs = { extraSpecialArgs = { @@ -21,7 +24,7 @@ in { _file = ./darwin.nix; - imports = [ (import ./_shared.nix { inherit self evalArgs; }) ]; + imports = [ (importApply ./_shared.nix { inherit self evalArgs; }) ]; config = mkIf cfg.enable { environment.systemPackages = [