etc: Declarative configuration spec for Haskell projects

[ configuration, library, mit, system ] [ Propose Tags ]

Please see

[Skip to Readme]
Versions [faq],,,,,,,,,,,,
Dependencies aeson (==1.0.*), ansi-wl-pprint (==0.6.*), base (>=4.8 && <5), bytestring (==0.10.*), containers (==0.5.*), directory (==1.3.*), exceptions (==0.8.*), hashable (==1.2.*), optparse-applicative (==0.13.*), protolude (==0.1.*), text (==1.2.*), unordered-containers (==0.2.*), vector (==0.11.*), yaml (==0.8.*) [details]
License MIT
Copyright 2017 Roman Gonzalez
Author Roman Gonzalez
Revised Revision 1 made by HerbertValerioRiedel at 2018-08-29T17:51:25Z
Category Configuration, System
Home page
Source repo head: git clone
Uploaded by RomanGonzalez at 2017-04-06T18:12:28Z
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 6297 total (24 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2017-04-06 [all 2 reports]


  • System
    • System.Etc
      • Internal
        • System.Etc.Internal.Config
        • System.Etc.Internal.Printer
        • Resolver
          • System.Etc.Internal.Resolver.Cli
            • System.Etc.Internal.Resolver.Cli.Command
            • System.Etc.Internal.Resolver.Cli.Common
            • System.Etc.Internal.Resolver.Cli.Plain
          • System.Etc.Internal.Resolver.Default
          • System.Etc.Internal.Resolver.Env
          • System.Etc.Internal.Resolver.File
        • Spec
          • System.Etc.Internal.Spec.JSON
          • System.Etc.Internal.Spec.Types
          • System.Etc.Internal.Spec.YAML
        • System.Etc.Internal.Types
      • System.Etc.Spec



Include support for config printer


Include support for cli arguments


Include support to parse YAML files


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for etc-

[back to package description]


etc gathers configuration values from multiple sources (cli options, OS environment variables, files) using a declarative spec file that defines where this values are to be found and located in a configuration map.

For more information about etc API and how to use it, see the etc homepage