Files
euri-iso/docs/launcher.md
T
c-ludenberg 20a78051d6 docs: overhaul to match current repo reality (DE/DM selectors, SDDM pixie theme, overlays, offline installer, CI)
- index/installer/launcher: release facts, SDDM theme (pixie on master), init/DE selectors, NoExtract for Install Artix entry
- packages: branding pkg ships offline+online settings (no packagechooser.conf fallback), drop antergos-sddm-theme, correct repo index names
- overlays/overlay-root/overlay-live: root-overlay is live-session only, real file trees, symlinked settings.conf, commit reference
- desktop-environments/wallpapers: remove No Desktop option, video wallpaper via layan-theme + Smart Video Wallpaper Reborn
- ci/development/building: three workflows incl. ai-moderator, IA upload disabled (if:false)
- byode: new page documenting the SteamOS-inspired offline installer
- AGENTS.md/openrc: OpenRC was an installer-only dinit conflict; manual rc-update add works
2026-07-31 21:41:17 +02:00

5.2 KiB

title, layout, nav_order
title layout nav_order
Launcher default 11

Calamares Launcher

The calamares-next script (calamares-next.sh) handles the installer boot flow. It is installed by the calamares-branding-antergos-next package to /usr/bin/calamares-next.

Boot flow

  1. Notice — displays a YAD information dialog explaining why the offline install mode was removed
  2. Welcome — presents a branded splash screen with a single "Install" button
  3. Configuration — copies calamares-online/settings.conf to /etc/calamares/settings.conf after removing any existing file (the removal is necessary to prevent cp from following symlinks)
  4. Launch — runs calamares -D8 with the online config; debug output is redirected to a log file at ~/antergos-install.log

Desktop entries

The live session ships two entries in /usr/share/applications/:

  • calamares.desktop — the branded "Install Antergos NeXT" entry, launching Exec=sudo -E calamares-next
  • antergos-offline-install.desktop — "Install Antergos NeXT (Offline — NO DE)", launching the experimental Exec=sudo -E antergos-offline-install script

Both use sudo -E, which preserves environment variables (WAYLAND_DISPLAY, XDG_CURRENT_DESKTOP, etc.) when launched from the SDDM session. Without it, Calamares may not detect the display server correctly. Do not switch to pkexec — it does not work in the live environment (tested and failed in previous releases).

Module config resolution

The online settings file specifies modules-search: [ local ], which resolves to the directory containing the settings file itself. After SetConfig() copies the file to /etc/calamares/settings.conf, modules are loaded from /etc/calamares/modules/. The calamares-online/modules/ directory in the live-overlay is not used as a module source during installation — its contents exist only as a reference; the active module configs are those under calamares/modules/.

Calamares sequence

The installer runs two packagechooser instances in sequence, followed by the netinstall module:

Step Instance Module Config Method Purpose
4 packagechooser@de packagechooser_de.conf netinstall-add Desktop environment picker (required, default Plasma)
5 packagechooser@dm packagechooser_dm.conf netinstall-select Display manager picker (required, default SDDM)
6 netinstall netinstall.yaml Refine packages, add optional groups

How netinstall-add works

When the user selects a DE, packagechooser@de writes a group definition to the netinstallAdd global storage key. When the netinstall module loads, it reads this key and appends the DE's package group to the tree. This allows users to see and refine the packages for their chosen DE — for example, deselecting specific applications.

The DM selector uses netinstall-select, which marks the chosen DM group (e.g. SDDM) as checked in the netinstall tree. Both keys are read by the netinstall module's onActivate() method at runtime. See NetInstallPage.cpp in the Calamares source for details.

Available DE groups

Each DE item in packagechooser_de.conf includes a netinstall: field with its full package list. The groups are mutually exclusive — selecting a new DE replaces the previously selected one in the netinstall tree. Once added, the group behaves identically to a group defined in netinstall.yaml: users can expand it, toggle subgroups, or remove individual packages.

Pacman log capture

During installation, the launcher polls for the existence of a pacman log file within the chroot (at /tmp/calamares-root-*/var/log/pacman.log). When detected, a copy is written to ~/pacman-install.log. No terminal windows are opened to display installation progress.

Config switching

SetConfig() in calamares-next.sh:

  1. rm -f the existing settings file at /etc/calamares/settings.conf
  2. cp the online settings file to /etc/calamares/settings.conf
  3. Calamares reads the config on launch

Hiding "Install Artix"

The calamares-extensions package ships an "Install Artix Linux" desktop entry (calamares-config-switcher.desktop). It is excluded from the ISO via NoExtract = usr/share/applications/calamares-config-switcher.desktop in pacman.conf.d/iso-x86_64.conf, so pacman never extracts it during the build. Our branded calamares.desktop in the live-overlay is the only installer entry.

Module configs

Configs live in live-overlay/etc/calamares/modules/ (overriding the copies installed by calamares-branding-antergos-next):

  • packagechooser_de.conf — desktop environment selector using method: netinstall-add
  • packagechooser_dm.conf — display manager selector using method: netinstall-select
  • netinstall.yaml / netinstall.conf — the netinstall package tree
  • services-artix.conf — service enablement via artix-service
  • grubcfg.conf — GRUB default configuration (/etc/default/grub)
  • bootloader.conf — bootloader installation parameters

The remaining module configs (initcpiocfg.conf, initcpio.conf, welcome.conf, basestrap.conf, etc.) ship in the calamares-branding-antergos-next package under /etc/calamares/modules/.