minimal-configuration: Minimal ini like configuration library with a few extras

[ configuration, library, system ] [ Propose Tags ]

The module exported provides the ability to manage a configuration file in the users home directory (or the Windows equivalent). Where the configuration takes the form of key=value, without sections, that for example an '.ini' would have.

The library simplifies serilization/deserialization of the configuration into a structure similar in behavior to a Map, as well as an interactive way to fill in values for simple cases.

Consider the following example, where a user would run the application for the first time, it would ask him for his name; however on a followup run it would just print a greeting with his name.

import System.Config.File

main = loadLocal ".apprc" >>= \conf -> do
    let name = getV conf "name"
    case name of Just n  -> putStrLn $ "hello " ++ n
                 Nothing -> do conf' <- fillInteractively conf [("name", acceptNonBlank)]
                               saveConfiguration conf'
Versions [faq] 0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4 (info)
Dependencies base (==4.*), containers (==0.*), directory (==1.*), filepath (==1.*) [details]
License LicenseRef-OtherLicense
Author Marius Ghita
Maintainer mhitza@gmail.com
Category System, Configuration
Source repo head: git clone https://github.com/mhitza/minimal-configuration
Uploaded by MariusGhita at Mon Oct 28 00:38:40 UTC 2019
Distributions NixOS:0.1.4
Downloads 2008 total (90 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-10-28 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees