feat: rework wireguard modules using globals

This commit is contained in:
Patrick 2025-02-08 21:27:28 +01:00
parent 93b08971cf
commit ee0c651439
No known key found for this signature in database
GPG key ID: 451F95EFB8BECD0F
7 changed files with 456 additions and 627 deletions

View file

@ -17,6 +17,7 @@ in
These should not include any config only option declaration.
Will be included in the exported nixos Modules from this flake to be included
into the host evaluation.
Be aware that at most 1 of these modules can have a default
'';
};
defModules = mkOption {
@ -38,37 +39,45 @@ in
'';
};
};
config.flake = flakeSubmod: {
globals =
let
globalsSystem = lib.evalModules {
prefix = [ "globals" ];
specialArgs = {
inherit (inputs.self.pkgs.x86_64-linux) lib;
inherit inputs;
inherit (flakeSubmod.config) nodes;
};
modules =
config.globals.optModules
++ config.globals.defModules
++ [
../modules/globals.nix
(
{ lib, ... }:
{
globals = lib.mkMerge (
lib.concatLists (
lib.flip lib.mapAttrsToList flakeSubmod.config.nodes (
name: cfg:
builtins.addErrorContext "while aggregating globals from nixosConfigurations.${name} into flake-level globals:" cfg.config._globalsDefs
config = {
globals = {
optModules = [
../modules/wireguardGlobals.nix
];
attrkeys = [ "wireguard" ];
};
flake = flakeSubmod: {
globals =
let
globalsSystem = lib.evalModules {
prefix = [ "globals" ];
specialArgs = {
inherit (inputs.self.pkgs.x86_64-linux) lib;
inherit inputs;
inherit (flakeSubmod.config) nodes;
};
modules =
config.globals.optModules
++ config.globals.defModules
++ [
../modules/globals.nix
(
{ lib, ... }:
{
globals = lib.mkMerge (
lib.concatLists (
lib.flip lib.mapAttrsToList flakeSubmod.config.nodes (
name: cfg:
builtins.addErrorContext "while aggregating globals from nixosConfigurations.${name} into flake-level globals:" cfg.config._globalsDefs
)
)
)
);
}
)
];
};
in
lib.genAttrs config.globals.attrkeys (x: globalsSystem.config.globals.${x});
);
}
)
];
};
in
lib.genAttrs config.globals.attrkeys (x: globalsSystem.config.globals.${x});
};
};
}