source: handbook ch. 49, 61; calamares-parch repo
Installer development
Parch ships two installer tracks: the Calamares flavor used by current editions, and archinstall-rs, a Rust TUI installer under development. This page covers how both are built and tested.
Calamares: how the pieces fit
Calamares itself is upstream (packaged in world with Parch patches). The
Parch-specific parts live in the
calamares-parch
repository: branding, module configuration, and presets, installed into the
live environment where Calamares reads /etc/calamares/.
/etc/calamares/
├── settings.conf module sequence (YAML)
├── branding/parch/ branding.desc + slideshow QML + images
└── modules/ per-module *.conf (welcome, locale, keyboard,
partition, users, summary, finished)
Calamares configuration is YAML. Module names and keys are defined by
upstream Calamares; when adding configuration, check the module's
documentation in the upstream Calamares repo rather than guessing key names.
The Parch defaults of record: fa_IR locale with Asia/Tehran timezone
offered, parch hostname default, users added to
users, wheel, storage, audio, video, network, EFI partition of 512 MiB,
and a btrfs preset enabling zstd compression.
Making a configuration change
- Clone
calamares-parchand locate the module config. - Validate YAML syntax (
python -c "import yaml,sys; yaml.safe_load(open('modules/users.conf'))"). - Test in a live VM: build an ISO of your edition with your modified package (build guide), boot, and run the installer to completion.
- Inspect results: the installed system's fstab, users, locale, and bootloader all reflect your change.
Debugging a failing installer
$ sudo calamares -d # debug mode, verbose logging
$ cat /var/log/calamares/calamares.log
Common failure sources: a module config key that upstream does not recognize, a missing package in the live environment, partitioning edge cases on unusual disk layouts, and unmountable target filesystems. The log names the module and step; fix configuration or package list accordingly.
archinstall-rs
archinstall-rs is a Rust TUI installer with partitioning and optional LUKS support. It aims to give minimal and net-editions a lighter path than Calamares. Contributions need Rust proficiency and careful partitioning tests (it manipulates disks); see the repository's issues for the current roadmap.
What never ships from here
Installer changes are the highest-risk category in the distribution: a module error can corrupt user disks. Configuration PRs require a full VM install test (documented in the PR), and disk-touching code requires a second maintainer review.