Let’s say I want to set a repo password:
repo_settings = Application.get_env(:my_app, MyApp.Repo)
modified_repo_settings = Keyword.merge(repo_settings, password: super_secret_password)
Application.put_env(:my_app, MyApp.Repo, modified_repo_settings)
If you need to do this for a couple of different top-level settings, its worth making a helper fun which could be used as:
update_app_env(:my_app, MyApp.Repo, &Keyword.merge(&1, password: super_secret_password))
The implementation is left as an exercise ![]()


















