ConfigEnv

Configuration loader from system environment

Why?

ensure that all system environment is set and convert to properly type.

Installation

First, add ConfigEnv to your mix.exs dependencies:

def deps do
[
{:config_env, "~> 0.1.0"}
]
end

Usage

in config.exs

config :your_app,
string: {:system, "KEY"},
atom: {:system, "ATOM"},
integer: {:system, "INTEGER", :integer},
float: {:system, "FLOAT", :float},
list: {:system, "LIST", :list}

it can be nested

config :your_app,
nested: %{
key: {:system, "KEY"},
another_nested: [
key: {:system, "ANOTHER_KEY"}
]
}

put this code before start your app

defmodule YourApp do
use Application
def start(_type, _args) do
ConfigEnv.load_env([:yourapp, :otherapp, ...])
# your code
end