The idea of Calamares arose from a desire of several independent Linux distributions to come together and work on a shared system installer. Instead of everyone working on their own implementation and forking forks of forks, why not work together on something that can be used by many?
What is Calamares
Calamares is an installer framework. By design it is very customizable, in order to satisfy a wide variety of needs and use cases.
Calamares aims to be easy, usable, beautiful, pragmatic, inclusive and distribution-agnostic.
Calamares includes an advanced partitioning feature, with support for both manual and automated partitioning operations. It is the first installer with an automated “Replace Partition” option, which makes it easy to reuse a partition over and over for distribution testing.
Got a Linux distribution but no system installer? Grab Calamares, mix and match any number of Calamares modules (or write your own in Python or C++), throw together some branding, package it up and you are ready to ship! The Calamares extensions repository holds more branding examples and specialized modules.
What Calamares is not
Calamares is not an installer for any specific Linux distribution. It is used by Manjaro and KaOS and Maui and Netrunner Linux, but it isn’t “the Manjaro installer”. Calamares is an independent product. The Calamares team works closely with Linux distributors to provide the very best experience to their users.
Calamares does not aim to be the ultimate “standard” installer of the Linux desktop. Many distributions already have more mature system installer solutions, but some don’t, and that’s where Calamares can be of use. A herd of Arch derivatives uses Calamares, as does a family of Debian and Ubuntu spins, Fedora remixes and openSUSE flavors.
What does Calamares look like
Since Calamares is designed to be customized, themed and branded by individual distributions, it can look very different when used by specific distributions. There will be distinct color schemes, welcome graphics, and while-you-wait slideshows. It is very unlikely that you will encounter a “plain” version of Calamares. The source code does have a default configuration, which looks like these screenshots:
Who develops Calamares
Calamares is maintained by the Calamares team. Most of us are also KDE developers, and we have received contributions from BBQLinux, Fedora, KaOS, Kubuntu, Manjaro, Maui, Netrunner and OpenMandriva developers as well.
We gladly accept contributions from everyone, and we have no exclusive association with any Linux distribution. Calamares is not a KDE project, or a KaOS project, or a Manjaro project, we are just a bunch of people dumping some code on GitHub.
Who ships Calamares
Many Linux distributions are in varying stages of adopting Calamares as their primary system installer.
Operating systems that already ship Calamares:
- AIMS Desktop
- Apricity OS
- Archman Linux
- Argent Linux
- BlackPanther OS
- Bluestar Linux
- Feren OS
- Hamara Linux
- Kannolo (Fedora Remix)
- KDE Neon
- Laxer OS
- Parrot OS
- Pisi Linux
- Redcore Linux
- Salient OS
Operating systems that are evaluating Calamares in pre-release builds:
Operating systems that ship Calamares in their package repositories for third-party derivatives to use:
What is Calamares made of
Calamares is mostly written in C++17, with Qt 5 (5.9 or later) as general purpose library and UI toolkit.
Calamares is modular by design, and Python 3 was chosen as the main scripting language. The Python 3 interface is implemented with Boost.Python, and all Calamares configuration is done in YAML.
For a complete list of dependencies, see the README file.
- IRC: #calamares on webchat.freenode.net.
- Bugs: Calamares issues, bugs and feature requests
- GPG: Calamares release tarballs are signed with a GPG signing-subkey:
- Calamares 3.2.3 - 3.2.25, E7C31EAE243D798415BCEF00128F00873E05AF1D
- Calamares 3.2.26, 57E14BD1CD6C198BC11BF18D61A7D26277E4D0DB (one release only!)
- Since Calamares 3.2.27, 86B8EDB6ED8E3F96A9BAECB5CFDDC96F12B1915C (current)