From the mix deps documentation:
:runtime- whether the dependency is part of runtime applications. If the:applicationskey is not provided indef applicationin your mix.exs file, Mix will automatically included all dependencies as a runtime application, except ifruntime: falseis given. Defaults to true.
According to mix compile.app docs:
:applications- all applications your application depends on at runtime. By default, this list is automatically inferred from your dependencies. Mix and other tools use the application list in order to start your dependencies before starting the application itself.
Does this mean that adding runtime: false to a dependency would make it not started as part of the application's supervision tree, but its functions would be available at compile-time?