From 0560135ceeb413f7432c68ca72de50473bd86433 Mon Sep 17 00:00:00 2001 From: Kiara Grouwstra Date: Wed, 3 Sep 2025 13:58:43 +0200 Subject: [PATCH] fix data model Signed-off-by: Kiara Grouwstra --- deployment/check/common/data-model.nix | 9 +++---- deployment/data-model.nix | 33 ++++++++++++++++---------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/deployment/check/common/data-model.nix b/deployment/check/common/data-model.nix index 294abbde..27dd8149 100644 --- a/deployment/check/common/data-model.nix +++ b/deployment/check/common/data-model.nix @@ -105,8 +105,7 @@ let options.enable = lib.mkEnableOption "Hello in the shell"; }; implementation = cfg: { - input = cfg; - output.resources = lib.optionalAttrs cfg.enable { + resources = lib.optionalAttrs cfg.enable { hello.login-shell.packages.hello = pkgs.hello; }; }; @@ -142,8 +141,7 @@ let deployment-name, }: { - input = required-resources; - output.ssh-host = { + ssh-host = { nixos-configuration = mkNixosConfiguration environment required-resources; system = targetSystem; ssh = { @@ -166,8 +164,7 @@ let ... }: { - input = required-resources; - output.nixops4 = + nixops4 = { providers, ... }: { providers = { diff --git a/deployment/data-model.nix b/deployment/data-model.nix index 66c16f0d..8a71efca 100644 --- a/deployment/data-model.nix +++ b/deployment/data-model.nix @@ -286,22 +286,31 @@ in }; config-mapping = mkOption { description = "Mapping from a configuration to a deployment"; - type = submodule functionType; + type = functionType; readOnly = true; default = { - input-type = config.configuration; + input-type = submodule { + options = { + deployment-name = mkOption { + type = types.str; + }; + configuration = mkOption { + type = config.configuration; + }; + }; + }; output-type = deployment-type; implementation = - { - deployment-name, - configuration, - }: - # TODO: check cfg.enable.true - let - required-resources = lib.mapAttrs ( - name: application-settings: config.applications.${name}.resources application-settings - ) configuration.applications; - in + { + deployment-name, + configuration, + }: + # TODO: check cfg.enable.true + let + required-resources = lib.mapAttrs ( + name: application-settings: config.applications.${name}.resources application-settings + ) configuration.applications; + in environment.config.resource-mapping.apply { inherit required-resources deployment-name; }; }; };