flake-parts/setups: add config-specific standalone modules option

This commit is contained in:
Gabriel Arazas 2025-04-21 20:15:39 +08:00
parent 52f58cb4a7
commit a75045fa4d
No known key found for this signature in database
GPG Key ID: 62104B43D00AA360
3 changed files with 28 additions and 5 deletions

View File

@ -91,6 +91,13 @@ let
node.
'';
};
standaloneConfigModules = options.setups.home-manager.standaloneConfigModules // {
description = ''
A list of config-specific modules to be used when deployed as a
standalone home-manager environment.
'';
};
};
config = {
@ -381,7 +388,7 @@ in {
inherit pkgs system;
inherit (metadata) homeManagerBranch;
extraModules = cfg.sharedModules ++ cfg.standaloneConfigModules
++ metadata.modules;
++ metadata.modules ++ metadata.standaloneConfigModules;
})) metadata.systems);
in lib.mapAttrs generatePureConfigs cfg.configs;
in {

View File

@ -97,6 +97,13 @@ let
}
];
};
standaloneConfigModules = options.setups.nixvim.standaloneConfigModules // {
description = ''
A list of config-specific modules to be included when deployed as a
standalone NixVim package.
'';
};
};
config = {
@ -252,7 +259,7 @@ in {
inherit system pkgs;
inherit (component) nixvimBranch;
modules = cfg.sharedModules ++ cfg.standaloneConfigModules
++ metadata.modules ++ [{ package = neovimPackage; }];
++ metadata.modules ++ metadata.standaloneConfigModules ++ [{ package = neovimPackage; }];
});
nixvimConfigs = lib.map mkNixvimConfig' metadata.components;
in lib.listToAttrs nixvimConfigs;

View File

@ -62,6 +62,15 @@ let
};
wrapperManagerConfigModule = { name, config, lib, ... }: {
options = {
standaloneConfigModules = options.setups.wrapper-manager.standaloneConfigModules // {
description = ''
A list of config-specific modules to be included when the
wrapper-manager package is deployed as a standalone package.
'';
};
};
config = {
nixpkgs.config = cfg.sharedNixpkgsConfig;
specialArgs = cfg.sharedSpecialArgs;
@ -119,7 +128,7 @@ in {
'';
};
standaloneModules = lib.mkOption {
standaloneConfigModules = lib.mkOption {
type = with lib.types; listOf deferredModule;
default = [ ];
description = ''
@ -196,8 +205,8 @@ in {
inherit pkgs;
inherit (metadata) specialArgs;
wrapperManagerBranch = metadata.wrapper-manager.branch;
modules = cfg.sharedModules ++ cfg.standaloneModules
++ metadata.modules;
modules = cfg.sharedModules ++ cfg.standaloneConfigModules
++ metadata.modules ++ metadata.standaloneConfigModules;
}) validWrapperManagerConfigs;
};
})