about summary refs log tree commit diff
path: root/ops/terraform/deploy-nixos
diff options
context:
space:
mode:
Diffstat (limited to 'ops/terraform/deploy-nixos')
-rwxr-xr-xops/terraform/deploy-nixos/nixos-eval.sh6
1 files changed, 3 insertions, 3 deletions
diff --git a/ops/terraform/deploy-nixos/nixos-eval.sh b/ops/terraform/deploy-nixos/nixos-eval.sh
index dbc03d2fecf5..f206fe7f6875 100755
--- a/ops/terraform/deploy-nixos/nixos-eval.sh
+++ b/ops/terraform/deploy-nixos/nixos-eval.sh
@@ -10,12 +10,12 @@ set -ueo pipefail
 
 # Load input variables from Terraform. jq's @sh format takes care of
 # escaping.
-eval "$(jq -r '@sh "attrpath=\(.attrpath) && entrypoint=\(.entrypoint)"')"
+eval "$(jq -r '@sh "attrpath=\(.attrpath) && entrypoint=\(.entrypoint) && argstr=\((.argstr // {}) | to_entries | map ("--argstr", .key, .value) | join(" "))"')"
 
 # Evaluate the system derivation.
 [[ -z "$entrypoint" ]] && entrypoint=$(git rev-parse --show-toplevel)
-# shellcheck disable=SC2154
-system_drv=$(nix-instantiate -A "${attrpath}" "${entrypoint}")
+# shellcheck disable=SC2086,SC2154
+system_drv=$(nix-instantiate -A "${attrpath}" "${entrypoint}" ${argstr})
 
 # Return system derivation back to Terraform.
 jq -n --arg drv "$system_drv" '{"drv":$drv}'