mirror of
https://github.com/juspay/services-flake.git
synced 2024-09-11 04:15:36 +03:00
refactor: keep options/config top-level
This commit is contained in:
parent
f48d891b14
commit
dfbf5ddf9e
40
nix/lib.nix
40
nix/lib.nix
@ -55,23 +55,29 @@
|
||||
};
|
||||
in
|
||||
{
|
||||
options.services.${service} = lib.mkOption {
|
||||
description = ''
|
||||
${service} service
|
||||
'';
|
||||
default = { };
|
||||
type = lib.types.attrsOf (lib.types.submoduleWith {
|
||||
specialArgs = { inherit pkgs; };
|
||||
modules = [
|
||||
serviceModule
|
||||
mod
|
||||
];
|
||||
});
|
||||
options = {
|
||||
services.${service} = lib.mkOption {
|
||||
description = ''
|
||||
${service} service
|
||||
'';
|
||||
default = { };
|
||||
type = lib.types.attrsOf (lib.types.submoduleWith {
|
||||
specialArgs = { inherit pkgs; };
|
||||
modules = [
|
||||
serviceModule
|
||||
mod
|
||||
];
|
||||
});
|
||||
};
|
||||
};
|
||||
config = {
|
||||
settings = {
|
||||
imports =
|
||||
lib.pipe config.services.${service} [
|
||||
(lib.filterAttrs (_: cfg: cfg.enable))
|
||||
(lib.mapAttrsToList (_: cfg: cfg.outputs.settings))
|
||||
];
|
||||
};
|
||||
};
|
||||
config.settings.imports =
|
||||
lib.pipe config.services.${service} [
|
||||
(lib.filterAttrs (_: cfg: cfg.enable))
|
||||
(lib.mapAttrsToList (_: cfg: cfg.outputs.settings))
|
||||
];
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user