I wonder if it can be used for this use case too?
My understanding is that you want a value shared across notebooks, so a secret/env makes sense. Otherwise you can just define a variable in the setup cell, or at the top.
As for Mix.install, in case of runtime config I usually prefer this:
Mix.install([
{:req, "~> 0.5.6"},
{:kino, "~> 0.14.0"},
{:ex_aws, "~> 2.1"},
{:ex_aws_s3, "~> 2.0"},
{:hackney, "~> 1.9"},
{:sweet_xml, "~> 0.6"},
{:cachex, "~> 4.0"},
{:exjsx, "~> 4.0"},
{:kino_slack, "~> 0.1.1"}
])
Application.put_env(:ex_aws,
debug_requests: true,
json_codec: Jason,
access_key_id: {:system, "LB_AWS_ACCESS_KEY_ID"},
secret_access_key: {:system, "LB_AWS_SECRET_ACCESS_KEY"},
s3: [
scheme: "https://",
host: "fly.storage.tigris.dev",
region: "auto"
]
)
The advantages is that changing config in this way doesn’t invalidate the Mix.install cache.


















