diff --git a/wrappers/_shared.nix b/wrappers/_shared.nix index ff6c05f1..2c4fe68b 100644 --- a/wrappers/_shared.nix +++ b/wrappers/_shared.nix @@ -1,4 +1,6 @@ { + # Extra args for the `evalNixvim` call that produces the type for `programs.nixvim` + evalArgs ? { }, # Option path where extraFiles should go filesOpt ? null, # Filepath prefix to apply to extraFiles @@ -26,11 +28,17 @@ let setAttrByPath ; cfg = config.programs.nixvim; + nixvimConfiguration = config.lib.nixvim.modules.evalNixvim evalArgs; extraFiles = lib.filter (file: file.enable) (lib.attrValues cfg.extraFiles); in { _file = ./_shared.nix; + options.programs.nixvim = lib.mkOption { + inherit (nixvimConfiguration) type; + default = { }; + }; + # TODO: Added 2024-07-24; remove after 24.11 imports = [ (lib.mkRenamedOptionModule diff --git a/wrappers/darwin.nix b/wrappers/darwin.nix index 655b32f3..2cf24ac1 100644 --- a/wrappers/darwin.nix +++ b/wrappers/darwin.nix @@ -16,7 +16,7 @@ let types ; cfg = config.programs.nixvim; - nixvimConfig = config.lib.nixvim.modules.evalNixvim { + evalArgs = { extraSpecialArgs = { darwinConfig = config; }; @@ -28,14 +28,7 @@ in { _file = ./darwin.nix; - options = { - programs.nixvim = mkOption { - inherit (nixvimConfig) type; - default = { }; - }; - }; - - imports = [ (import ./_shared.nix { }) ]; + imports = [ (import ./_shared.nix { inherit evalArgs; }) ]; config = mkIf cfg.enable { environment.systemPackages = [ diff --git a/wrappers/hm.nix b/wrappers/hm.nix index ebf5b1b1..22e65b0a 100644 --- a/wrappers/hm.nix +++ b/wrappers/hm.nix @@ -15,7 +15,7 @@ let types ; cfg = config.programs.nixvim; - nixvimConfig = config.lib.nixvim.modules.evalNixvim { + evalArgs = { extraSpecialArgs = { hmConfig = config; }; @@ -27,15 +27,9 @@ in { _file = ./hm.nix; - options = { - programs.nixvim = mkOption { - inherit (nixvimConfig) type; - default = { }; - }; - }; - imports = [ (import ./_shared.nix { + inherit evalArgs; filesOpt = [ "xdg" "configFile" diff --git a/wrappers/nixos.nix b/wrappers/nixos.nix index 5b1e82d8..ff6a9f1e 100644 --- a/wrappers/nixos.nix +++ b/wrappers/nixos.nix @@ -16,7 +16,7 @@ let types ; cfg = config.programs.nixvim; - nixvimConfig = config.lib.nixvim.modules.evalNixvim { + evalArgs = { extraSpecialArgs = { nixosConfig = config; }; @@ -28,15 +28,9 @@ in { _file = ./nixos.nix; - options = { - programs.nixvim = mkOption { - inherit (nixvimConfig) type; - default = { }; - }; - }; - imports = [ (import ./_shared.nix { + inherit evalArgs; filesOpt = [ "environment" "etc"