From 9e02939e5bd83057078e02823d6bb53ce4489980 Mon Sep 17 00:00:00 2001 From: Kiara Grouwstra Date: Thu, 6 Nov 2025 15:42:37 +0100 Subject: [PATCH] factor out `withEnv` (#572) Reviewed-on: https://git.fediversity.eu/fediversity/fediversity/pulls/572 --- deployment/run/default.nix | 6 ++---- deployment/utils.nix | 23 +++++++++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/deployment/run/default.nix b/deployment/run/default.nix index 942fae96..92801079 100644 --- a/deployment/run/default.nix +++ b/deployment/run/default.nix @@ -15,7 +15,7 @@ let str submodule ; - inherit (pkgs.callPackage ../utils.nix { }) toBash withPackages tfApply; + inherit (pkgs.callPackage ../utils.nix { }) withPackages withEnv tfApply; writeConfig = { system, @@ -244,9 +244,7 @@ in pkgs.jq ]) '' - env ${ - toString (lib.mapAttrsToList (k: v: "${k}=\"${toBash v}\"") environment) - } bash ./deployment/run/ssh-single-host/run.sh + env ${withEnv environment} bash ./deployment/run/ssh-single-host/run.sh ''; }; }; diff --git a/deployment/utils.nix b/deployment/utils.nix index 992f465a..d923275c 100644 --- a/deployment/utils.nix +++ b/deployment/utils.nix @@ -5,6 +5,15 @@ ... }: rec { + mapKeys = + keyMapper: + lib.mapAttrs' ( + k: value: { + name = keyMapper k; + inherit value; + } + ); + evalModel = module: (lib.evalModules { @@ -51,6 +60,10 @@ rec { ]; }; + filterNull = lib.filterAttrs (_: v: v != null); + + withEnv = environment: toString (lib.mapAttrsToList (k: v: "${k}=\"${toBash v}\"") environment); + tfApply = { directory, @@ -62,14 +75,8 @@ rec { }: let env-vars = '' - ${ - toString ( - lib.mapAttrsToList (k: v: "TF_VAR_${k}=\"${toBash v}\"") ( - lib.filterAttrs (_: v: v != null) environment - ) - ) - } \ - ${toString (lib.mapAttrsToList (k: v: "${k}=\"${toBash v}\"") httpBackend.value)} \ + ${withEnv (mapKeys (k: "TF_VAR_${k}") (filterNull environment))} \ + ${withEnv (filterNull httpBackend.value)} \ ''; tfPackage = pkgs.callPackage ./run/${directory}/tf.nix { }; tf-env = pkgs.callPackage ./run/tf-env.nix {