diff --git a/configs/flake-parts/home-manager.nix b/configs/flake-parts/home-manager.nix index 10ce29ce..508ab3e1 100644 --- a/configs/flake-parts/home-manager.nix +++ b/configs/flake-parts/home-manager.nix @@ -31,19 +31,14 @@ }; homeManagerBranch = "home-manager-unstable"; systems = [ "aarch64-linux" "x86_64-linux" ]; + firstSetupArgs = { + baseNixvimModules = config.setups.nixvim.configs.fiesta.modules + ++ config.setups.nixvim.sharedModules; + }; modules = [ inputs.nur.modules.homeManager.default inputs.sops-nix.homeManagerModules.sops inputs.wrapper-manager-fds.homeModules.wrapper-manager - - { - _module.args = { - firstSetupArgs = { - baseNixvimModules = config.setups.nixvim.configs.fiesta.modules - ++ config.setups.nixvim.sharedModules; - }; - }; - } ]; nixvim = { instance = "fiesta"; diff --git a/modules/flake-parts/setups/shared/config-options.nix b/modules/flake-parts/setups/shared/config-options.nix index 1c1bb9ea..a525eecc 100644 --- a/modules/flake-parts/setups/shared/config-options.nix +++ b/modules/flake-parts/setups/shared/config-options.nix @@ -30,5 +30,30 @@ of the same declarative environment. ''; }; + + firstSetupArgs = lib.mkOption { + type = with lib.types; attrsOf anything; + default = {}; + example = lib.literalExpression '' + { + baseSpecificConfigModules = [ + ./whatwhatwut/base.nix + ]; + } + ''; + description = '' + A set of module arguments intended to be set as part of the module + argument namespace `firstSetupArgs` in the configuration. + + :::{.note} + Functionally similar to {option}`specialArgs` but only different in + intent and also for organization purposes. + ::: + ''; + }; + }; + + config.modules = lib.singleton { + _module.args = { inherit (config) firstSetupArgs; } }; }