/config_env

Configuration loader from system environment

Primary LanguageElixir

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