@hackage from-env0.1.1.0

Provides a generic way to construct values from environment variables.

  • Installation

  • Dependencies (3)

  • Dependents (0)

This package exposes a class FromEnv that works with GHC.Generics to provide a generic way to construct values from environment variables.

In many applications you'll have a configuration object holding a connection string to your database, the url of an S3 bucket, you name it. It can be tedious to have to construct this configuration object manually. With this package, you just derive Generic and then create an instance of FromEnv for your configuration type and you're done. Just call fromEnv and you got your configuration.

import System.Environment.FromEnv
import GHC.Generics
newtype Config = Config { configS3BucketUrl :: String } deriving Generic
instance FromEnv Config
config <- fromEnv

The default behaviour is to convert field names like configS3BucketUrl into environment variables like CONFIG_S3_BUCKET_URL, but it can be overriden by providing a custom instance of FromEnv.