Lorax is a tool for building bootable/installable Fedora images. Its primary
focus is Fedora installation images but it should be able to create other
types of images too.

Some design precepts:

  * It should be easy to make small changes to images.
    - Image configs should be extendable/inheritable
    - Configs should be self-contained and portable - everything in one dir
      - kickstart, templates, config files, image-specific data files
        (bootloader templates, keymaps, service files, etc).

  * Templates should be brief but expressive.
    - Don't make the user maintain huge lists of files/packages
      (do filename globbing and brace expansion, resolve package deps, etc.)
    - Provide commands that allow blacklists/exceptions
      (e.g.: removefrom PKG --allbut FILE FILE...)

  * The template language should make common actions easy and obvious.
    - Avoid 'runcmd' - add new builtins instead!
    - Corollary: It should be easy to extend the template runner

  * Image configs should allow custom commands/scripts
    - If you already have a bunch of kickstarts/Ruby/whatever for setting up
      images, you should be able to use that too

  * Lorax should be usable as a script or a (python) library