Lumiera
The new emerging NLE for GNU/Linux
Warning this is a draft from the early days of Lumiera
IMHO, the whole topic “Configuration” requires further discussion and design.

+ — -- Ichthyo



Order is roughly alphabetically, depending on the mood of the writer. Defaults are noted if present. Not all are implemented yet.

General Introduction

Lumiera uses plaintext files with a INI file like syntax for configuration. This Syntax is strictly line based. There are only a few syntactic elements.

TODO:describe config syntax here

Config Subsystem

The path where Lumiera searches its configuration. Single components are separated by colons as in PATH and other such environment variables. Here it might be handy that any Lumiera configuration can be overridden by a environment variable: LUMIERA_CONFIG_PATH=somewhere:else lumiera … A default are initialized at installation time, this is important to bootstrap the whole configuration system.

config.path

The config system check for a preferred format when writing config entries. For each key foo.bar, these can be overridden with a key config.format.foo.bar linking to the desired format.

config.formatkey ='config.format.%s'

The following are links to the default formatting when no explicit format is set for a key. Changing these to a wrong type will break the system!

config.formatdef.link < config.formatstr.link
config.formatdef.number < config.formatstr.number.dec
config.formatdef.real < config.formatstr.real
config.formatdef.string < config.formatstr.string
config.formatdef.word < config.formatstr.word
config.formatdef.bool < config.formatstr.bool

This are the low level formating specifications for the buildin types, DONT TOUCH THESE!

config.formatstr.link = '< %s'
config.formatstr.number.dec = '= %lld'
config.formatstr.number.hex = '= 0x%llX'
config.formatstr.number.oct = '= 0%llo'
config.formatstr.real = '= %Lg'
config.formatstr.real.dec = '= %Lf'
config.formatstr.real.sci = '= %Le'
config.formatstr.string = '= %s'
config.formatstr.string.dquoted = '= \"%s\"'
config.formatstr.string.quoted = '= ''%s'''
config.formatstr.word = '= %s'
config.formatstr.bool = '= %d'

Plugin System

The path where Lumiera searches its plugins. Single components are separated by colons as in PATH and other such environment variables. Here it might be handy that any Lumiera configuration can be overridden by a environment variable: LUMIERA_PLUGIN_PATH=somewhere:else lumiera … Sensible defaults are initialized at installation time.

plugin.path

I/O Backend

File handling

How many filehandles the backend shall use [approx 2/3 of all available]

backend.file.max_handles

Memory mapped Files

Address space limit (memory mapping) Defaults: 3GiB on 32 bit arch 192TiB on 64 bit arch

backend.mmap.as_limit

Default start size for mmaping windows. 128MB on 32 bit arch 2GB on 64 bit arch

backend.mmap.window_size

How many memory mappings shall be established at most Default 60000

backend.mmap.max_maps