Calamares is a distribution independent installer framework. The initial idea for Calamares popped up in May 2014, less than a year ago, and out of frustration: many successful independent Linux distributions came with lackluster installers, and all of these installers were a result of competition rather than cooperation. Improving one of the existing installers wouldn’t have fixed this, as every installer was more or less distribution specific. We wanted to create a product that would satisfy the requirements of most Linux distributions, developed as an upstream project for all of them.
With support from Blue Systems, we started from scratch around June 2014, with a highly modular design and some valuable contributions from KaOS, Manjaro, Maui and Netrunner developers. Contributors from Fedora, BBQLinux, OpenMandriva and the KDE Visual Design Group joined in afterwards. Now, a little over half a year of design and development frenzy later, we choose to call it 1.0. While there is still room for improvement, we have decided that the first development iteration is done, and we are presenting a modest yet feature-complete product.
Feature highlights include:
- a completely modular design, with three plugin interfaces: C++, Python and generic process;
- a threaded job executor, with C++ and Python API;
- a collection of over 25 modules, ranging from boot loader support to partitioning, to user management and much more, with the opportunity of deploying your own;
- a self-contained branding component mechanism, which allows distributions to ship a consistent user experience without patching;
- an advanced partitioning tool, with automation and resize functionality and both DOS and GPT partition table support.
While Calamares 1.0 is production ready, it does have known and unknown bugs. If you are a distribution maintainer and wish to deploy Calamares as your distribution’s installer, feel free to join #calamares on Freenode and we would be happy to help you get started.