-{% for key, value in (clever_base_env | combine(clever_env)).items() %}
-{{ key }}={{ value | to_json }}
-{% endfor %}
-
-{%- if clever_haskell_entry_point %}
+{% set static_env = clever_base_env | combine(clever_env) %}
+{% set dynamic_env = {} %}
+{% if clever_haskell_entry_point %}
{# Haskell only #}
{# https://www.clever-cloud.com/doc/get-help/reference-environment-variables/#haskell #}
-CC_RUN_COMMAND={{'~/.local/bin/' + clever_haskell_entry_point | to_json }}
+{% set dynamic_env = { 'CC_RUN_COMMAND': '~/.local/bin/' + clever_haskell_entry_point } %}
{% endif %}
+{# dict2items is not enough here, all the values have to be stringified #}
+{# git-blame this line for more explanations #}
+{{ static_env | combine(dynamic_env) | json_env_map | to_json }}