├── .brittany.yml ├── .circleci └── config.yml ├── .dir-locals.el ├── .ghci ├── .gitignore ├── .hlint.yml ├── .stylish-haskell.yaml ├── LICENSE ├── Makefile ├── README.md ├── etc ├── CHANGELOG.md ├── LICENSE ├── README.md ├── Setup.hs ├── etc.cabal ├── src │ └── System │ │ ├── Etc.hs │ │ └── Etc │ │ ├── Internal │ │ ├── Config.hs │ │ ├── Errors.hs │ │ ├── Extra │ │ │ ├── EnvMisspell.hs │ │ │ └── Printer.hs │ │ ├── Resolver │ │ │ ├── Cli.hs │ │ │ ├── Cli │ │ │ │ ├── Command.hs │ │ │ │ ├── Common.hs │ │ │ │ └── Plain.hs │ │ │ ├── Default.hs │ │ │ ├── Env.hs │ │ │ └── File.hs │ │ ├── Spec │ │ │ ├── JSON.hs │ │ │ ├── JSON │ │ │ │ └── TH.hs │ │ │ ├── Parser.hs │ │ │ ├── Types.hs │ │ │ ├── YAML.hs │ │ │ └── YAML │ │ │ │ └── TH.hs │ │ └── Types.hs │ │ └── Spec.hs └── test │ ├── System │ └── Etc │ │ ├── ConfigTest.hs │ │ ├── Extra │ │ └── EnvMisspellTest.hs │ │ ├── Resolver │ │ ├── Cli │ │ │ ├── CommandTest.hs │ │ │ └── PlainTest.hs │ │ ├── CliTest.hs │ │ ├── DefaultTest.hs │ │ ├── EnvTest.hs │ │ └── FileTest.hs │ │ └── SpecTest.hs │ ├── TestSuite.hs │ └── fixtures │ ├── config.env.json │ ├── config.foo │ ├── config.json │ ├── config.null.json │ ├── config.spec.invalid.yaml │ ├── config.spec.yaml │ ├── config.yaml │ └── config.yml ├── examples ├── etc-command-example │ ├── LICENSE │ ├── README.md │ ├── Setup.hs │ ├── etc-command-example.cabal │ ├── resources │ │ ├── config.yaml │ │ └── spec.yaml │ └── src │ │ └── Main.hs ├── etc-compile-time-spec-check-example │ ├── LICENSE │ ├── README.md │ ├── Setup.hs │ ├── etc-compile-time-spec-check-example.cabal │ ├── resources │ │ ├── config.yaml │ │ ├── env.yaml │ │ └── spec.yaml │ └── src │ │ ├── Main.hs │ │ └── Types.hs ├── etc-embedded-config-example │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── Setup.hs │ ├── etc-embedded-config-example.cabal │ ├── resources │ │ └── spec.yaml │ └── src │ │ └── Main.hs └── etc-plain-example │ ├── LICENSE │ ├── README.md │ ├── Setup.hs │ ├── etc-plain-example.cabal │ ├── resources │ ├── config.yaml │ ├── env.yaml │ └── spec.yaml │ └── src │ └── Main.hs ├── make ├── sdist.make ├── solver.make └── tools.make └── stack.yaml /.brittany.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/.brittany.yml -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/.circleci/config.yml -------------------------------------------------------------------------------- /.dir-locals.el: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/.dir-locals.el -------------------------------------------------------------------------------- /.ghci: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/.ghci -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .stack-work/ 2 | .#* 3 | out/ 4 | tmp/ 5 | tools/bin -------------------------------------------------------------------------------- /.hlint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/.hlint.yml -------------------------------------------------------------------------------- /.stylish-haskell.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/.stylish-haskell.yaml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/README.md -------------------------------------------------------------------------------- /etc/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/CHANGELOG.md -------------------------------------------------------------------------------- /etc/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/LICENSE -------------------------------------------------------------------------------- /etc/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/README.md -------------------------------------------------------------------------------- /etc/Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /etc/etc.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/etc.cabal -------------------------------------------------------------------------------- /etc/src/System/Etc.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Config.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Config.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Errors.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Errors.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Extra/EnvMisspell.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Extra/EnvMisspell.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Extra/Printer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Extra/Printer.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Resolver/Cli.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Resolver/Cli.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Resolver/Cli/Command.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Resolver/Cli/Command.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Resolver/Cli/Common.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Resolver/Cli/Common.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Resolver/Cli/Plain.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Resolver/Cli/Plain.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Resolver/Default.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Resolver/Default.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Resolver/Env.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Resolver/Env.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Resolver/File.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Resolver/File.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Spec/JSON.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Spec/JSON.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Spec/JSON/TH.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Spec/JSON/TH.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Spec/Parser.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Spec/Parser.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Spec/Types.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Spec/Types.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Spec/YAML.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Spec/YAML.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Spec/YAML/TH.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Spec/YAML/TH.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Internal/Types.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Internal/Types.hs -------------------------------------------------------------------------------- /etc/src/System/Etc/Spec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/src/System/Etc/Spec.hs -------------------------------------------------------------------------------- /etc/test/System/Etc/ConfigTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/System/Etc/ConfigTest.hs -------------------------------------------------------------------------------- /etc/test/System/Etc/Extra/EnvMisspellTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/System/Etc/Extra/EnvMisspellTest.hs -------------------------------------------------------------------------------- /etc/test/System/Etc/Resolver/Cli/CommandTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/System/Etc/Resolver/Cli/CommandTest.hs -------------------------------------------------------------------------------- /etc/test/System/Etc/Resolver/Cli/PlainTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/System/Etc/Resolver/Cli/PlainTest.hs -------------------------------------------------------------------------------- /etc/test/System/Etc/Resolver/CliTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/System/Etc/Resolver/CliTest.hs -------------------------------------------------------------------------------- /etc/test/System/Etc/Resolver/DefaultTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/System/Etc/Resolver/DefaultTest.hs -------------------------------------------------------------------------------- /etc/test/System/Etc/Resolver/EnvTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/System/Etc/Resolver/EnvTest.hs -------------------------------------------------------------------------------- /etc/test/System/Etc/Resolver/FileTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/System/Etc/Resolver/FileTest.hs -------------------------------------------------------------------------------- /etc/test/System/Etc/SpecTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/System/Etc/SpecTest.hs -------------------------------------------------------------------------------- /etc/test/TestSuite.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/TestSuite.hs -------------------------------------------------------------------------------- /etc/test/fixtures/config.env.json: -------------------------------------------------------------------------------- 1 | { 2 | "greeting": "hello environment" 3 | } 4 | -------------------------------------------------------------------------------- /etc/test/fixtures/config.foo: -------------------------------------------------------------------------------- 1 | { "greeting": "hello foo" } -------------------------------------------------------------------------------- /etc/test/fixtures/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "greeting": "hello json" 3 | } 4 | -------------------------------------------------------------------------------- /etc/test/fixtures/config.null.json: -------------------------------------------------------------------------------- 1 | { 2 | "greeting": null 3 | } 4 | -------------------------------------------------------------------------------- /etc/test/fixtures/config.spec.invalid.yaml: -------------------------------------------------------------------------------- 1 | etc/entries: 2 | greeting: {} 3 | -------------------------------------------------------------------------------- /etc/test/fixtures/config.spec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/etc/test/fixtures/config.spec.yaml -------------------------------------------------------------------------------- /etc/test/fixtures/config.yaml: -------------------------------------------------------------------------------- 1 | greeting: "hello yaml" 2 | -------------------------------------------------------------------------------- /etc/test/fixtures/config.yml: -------------------------------------------------------------------------------- 1 | greeting: "hello yml" 2 | -------------------------------------------------------------------------------- /examples/etc-command-example/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-command-example/LICENSE -------------------------------------------------------------------------------- /examples/etc-command-example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-command-example/README.md -------------------------------------------------------------------------------- /examples/etc-command-example/Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /examples/etc-command-example/etc-command-example.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-command-example/etc-command-example.cabal -------------------------------------------------------------------------------- /examples/etc-command-example/resources/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-command-example/resources/config.yaml -------------------------------------------------------------------------------- /examples/etc-command-example/resources/spec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-command-example/resources/spec.yaml -------------------------------------------------------------------------------- /examples/etc-command-example/src/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-command-example/src/Main.hs -------------------------------------------------------------------------------- /examples/etc-compile-time-spec-check-example/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-compile-time-spec-check-example/LICENSE -------------------------------------------------------------------------------- /examples/etc-compile-time-spec-check-example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-compile-time-spec-check-example/README.md -------------------------------------------------------------------------------- /examples/etc-compile-time-spec-check-example/Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /examples/etc-compile-time-spec-check-example/etc-compile-time-spec-check-example.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-compile-time-spec-check-example/etc-compile-time-spec-check-example.cabal -------------------------------------------------------------------------------- /examples/etc-compile-time-spec-check-example/resources/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-compile-time-spec-check-example/resources/config.yaml -------------------------------------------------------------------------------- /examples/etc-compile-time-spec-check-example/resources/env.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-compile-time-spec-check-example/resources/env.yaml -------------------------------------------------------------------------------- /examples/etc-compile-time-spec-check-example/resources/spec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-compile-time-spec-check-example/resources/spec.yaml -------------------------------------------------------------------------------- /examples/etc-compile-time-spec-check-example/src/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-compile-time-spec-check-example/src/Main.hs -------------------------------------------------------------------------------- /examples/etc-compile-time-spec-check-example/src/Types.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-compile-time-spec-check-example/src/Types.hs -------------------------------------------------------------------------------- /examples/etc-embedded-config-example/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-embedded-config-example/LICENSE -------------------------------------------------------------------------------- /examples/etc-embedded-config-example/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-embedded-config-example/Makefile -------------------------------------------------------------------------------- /examples/etc-embedded-config-example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-embedded-config-example/README.md -------------------------------------------------------------------------------- /examples/etc-embedded-config-example/Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /examples/etc-embedded-config-example/etc-embedded-config-example.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-embedded-config-example/etc-embedded-config-example.cabal -------------------------------------------------------------------------------- /examples/etc-embedded-config-example/resources/spec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-embedded-config-example/resources/spec.yaml -------------------------------------------------------------------------------- /examples/etc-embedded-config-example/src/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-embedded-config-example/src/Main.hs -------------------------------------------------------------------------------- /examples/etc-plain-example/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-plain-example/LICENSE -------------------------------------------------------------------------------- /examples/etc-plain-example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-plain-example/README.md -------------------------------------------------------------------------------- /examples/etc-plain-example/Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /examples/etc-plain-example/etc-plain-example.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-plain-example/etc-plain-example.cabal -------------------------------------------------------------------------------- /examples/etc-plain-example/resources/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-plain-example/resources/config.yaml -------------------------------------------------------------------------------- /examples/etc-plain-example/resources/env.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-plain-example/resources/env.yaml -------------------------------------------------------------------------------- /examples/etc-plain-example/resources/spec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-plain-example/resources/spec.yaml -------------------------------------------------------------------------------- /examples/etc-plain-example/src/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/examples/etc-plain-example/src/Main.hs -------------------------------------------------------------------------------- /make/sdist.make: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/make/sdist.make -------------------------------------------------------------------------------- /make/solver.make: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/make/solver.make -------------------------------------------------------------------------------- /make/tools.make: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/make/tools.make -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman/Haskell-etc/HEAD/stack.yaml --------------------------------------------------------------------------------