Devices.KeySourceCommand-line arguments for the Mirage configuration tool.
include module type of Functoria.KeyThe type for configuration keys. Keys are used to parameterize the choice of module implementation.
create n a is the key named n whose contents is determined by parsing the command-line argument a.
The type for configure-time and run-time values. Values are either pure or obtained by composing other values. Values might have data dependencies, which form an (implicit) directed and acyclic graph that need to be evaluated.
f $ v is is the value resulting from the application of f'value to v's value. $ is the usual app operator for applicative functor.
The type for abstract keys.
Set implements sets over t elements.
type context := Functoria.Context.tThe type for values holding parsing context.
context ks is a Cmdliner term that evaluates into a parsing context for command-line arguments.
mem c v is true iff all the dependencies of v have been evaluated.
eval c v evaluates v in c's context, using default values if necessary.
get c k is k's value in c's context. If k is not present in c, it is k's default value.
find c k is k's value in c's context or None if k is not present in c.
-t TARGET: Key setting the configuration mode for the current project. Is one of "unix", "macosx", "xen", "qubes", "virtio", "hvt", "muen", "genode" or "spt".
Some keys have a group optional argument. This group argument allows to give several keys a prefix.
For example, if we have two ip stacks, one external and one internal, We can use the group option to name them in and out. This way, the available keys will be --in-ip and --out-ip.
If a key has another, non-optional argument. It is the default value.
Keys are always named the same as their command line option.
The type of key value store. Is one of "crunch", or "direct".
Block device keys