
Config::model is a perl framework that enables project developers to provide an interactive configuration system for their software. it supports various frontend interfaces (graphical, curses-based or plain terminal) to users. it handles configuration files semantically rather than syntactically, meaning that developers can specify the structure and constraints of the data along with a mechanism to read and write the files.
using the structure and constraint information, config::model will generate interactive configuration editors that include help and data validation. it is equally simple to use graphical (via tk) interfaces as well as curses- and readline-based terminal interfaces.
config::model also provides a facility to help configuration data upgrade that can be triggered during package upgrades.
config::model provides configuration model and editor for:
- popularity-contest
- fstab (/etc/fstab)
- multistrap
other configuration editors are available with other libconfig-model-*-perl packages.
depending on which suggested or recommended modules are installed, config::model provides several user interfaces:
- shell-like interface (with any of lib-term-readlin-*-perl)
- virtual file system where each config parameter is mapped to a file
(with fuse package)
- graphical user interface (with libconfig-model-tkui-perl)