diff --git a/modules/flake-parts/setups/home-manager.nix b/modules/flake-parts/setups/home-manager.nix index 03891717..b90472fb 100644 --- a/modules/flake-parts/setups/home-manager.nix +++ b/modules/flake-parts/setups/home-manager.nix @@ -349,6 +349,8 @@ in { config = lib.mkMerge [ { setups.home-manager.sharedNixpkgsConfig = config.setups.sharedNixpkgsConfig; + + setups.home-manager.sharedSpecialArgs = config.setups.sharedSpecialArgs; } (lib.mkIf (cfg.configs != { }) { diff --git a/modules/flake-parts/setups/nixos.nix b/modules/flake-parts/setups/nixos.nix index 2e95327c..88a14027 100644 --- a/modules/flake-parts/setups/nixos.nix +++ b/modules/flake-parts/setups/nixos.nix @@ -269,6 +269,8 @@ in { config = lib.mkMerge [ { setups.nixos.sharedNixpkgsConfig = config.setups.sharedNixpkgsConfig; + + setups.nixos.sharedSpecialArgs = config.setups.sharedSpecialArgs; } (lib.mkIf (cfg.configs != { }) { diff --git a/modules/flake-parts/setups/nixvim.nix b/modules/flake-parts/setups/nixvim.nix index 6d2480cf..e56f059f 100644 --- a/modules/flake-parts/setups/nixvim.nix +++ b/modules/flake-parts/setups/nixvim.nix @@ -225,6 +225,8 @@ in { config = lib.mkMerge [ { setups.nixvim.sharedNixpkgsConfig = config.setups.sharedNixpkgsConfig; + + setups.nixvim.sharedSpecialArgs = config.setups.sharedSpecialArgs; } (lib.mkIf (cfg.configs != { }) { diff --git a/modules/flake-parts/setups/wrapper-manager.nix b/modules/flake-parts/setups/wrapper-manager.nix index f17608b6..f2339bbf 100644 --- a/modules/flake-parts/setups/wrapper-manager.nix +++ b/modules/flake-parts/setups/wrapper-manager.nix @@ -63,17 +63,9 @@ let }; wrapperManagerConfigModule = { name, config, lib, ... }: { - options.wrapper-manager.src = lib.mkOption { - type = lib.types.path; - default = ../../../subprojects/wrapper-manager-fds; - description = '' - The path containing wrapper-manager-fds source code to be used to - properly initialize and create the wrapper-manager environment. - ''; - }; - config = { nixpkgs.config = cfg.sharedNixpkgsConfig; + specialArgs = cfg.sharedSpecialArgs; modules = [ "${partsConfig.setups.configDir}/wrapper-manager/${config.configName}" @@ -94,6 +86,7 @@ in { attrsOf (submodule [ (import ./shared/config-options.nix { inherit (config) systems; }) ./shared/nixpkgs-options.nix + ./shared/special-args-options.nix wrapperManagerConfigModule ]); default = { }; @@ -111,6 +104,13 @@ in { ''; }; + sharedSpecialArgs = options.setups.sharedSpecialArgs // { + description = '' + Shared set of module arguments as part of `_module.specialArgs` of the + configuration. + ''; + }; + sharedModules = lib.mkOption { type = with lib.types; listOf deferredModule; default = [ ]; @@ -160,6 +160,9 @@ in { { setups.wrapper-manager.sharedNixpkgsConfig = config.setups.sharedNixpkgsConfig; + + setups.wrapper-manager.sharedSpecialArgs = + config.setups.sharedSpecialArgs; } (lib.mkIf (cfg.configs != { }) { @@ -177,11 +180,12 @@ in { }; in mkWrapperManagerPackage { inherit pkgs; + inherit (metadata) specialArgs; inherit (metadata.wrapper-manager) src; modules = cfg.sharedModules ++ cfg.standaloneModules ++ metadata.modules; }) validWrapperManagerConfigs; }; - }); + }) ]; }