fix(calamares): enable all DMs in services-artix, clarify both config dirs are online

services-artix.conf enabled only sddm + greetd, so LY/LightDM/LXDM were
installed but never service-enabled -> TTY at boot instead of login screen.
Enable the full DM set (artix-service only activates the installed one).

Docs: the live-overlay calamares/ and calamares-online/ dirs both serve the
online installer; there is no offline Calamares config. settings_offline.conf
shipped by the branding package is unused - the launcher always overwrites it.
This commit is contained in:
2026-08-17 20:17:40 +02:00
parent 1b44b91e30
commit 9a63b5d17a
7 changed files with 30 additions and 16 deletions
+1 -1
View File
@@ -74,7 +74,7 @@ If `$COMPRESSION` is unset in `profile.yaml`, `mksquashfs` produces a sparse zer
### Calamares module precedence
`/etc/calamares/modules/` overrides `/usr/share/calamares/modules/`. The `calamares-next` launcher copies the online settings file to `/etc/calamares/settings.conf`, and the `modules-search: [ local ]` directive in that file resolves modules from `/etc/calamares/modules/`. Module configs placed in `calamares-online/modules/` are not used directly during installation — only `calamares/modules/` is consulted.
`/etc/calamares/modules/` overrides `/usr/share/calamares/modules/`. The `calamares-next` launcher copies the online settings file to `/etc/calamares/settings.conf`, and the `modules-search: [ local ]` directive in that file resolves modules from `/etc/calamares/modules/`. Both `calamares/modules/` and `calamares-online/modules/` in the live-overlay are for the **online** installer — there is no offline Calamares config. Module configs placed in `calamares-online/modules/` are not loaded directly during installation — only `calamares/modules/` is consulted at runtime; the `calamares-online/modules/` tree is the self-contained companion copy.
### GRUB config overwrite must be enabled
+4 -4
View File
@@ -61,11 +61,11 @@ The selector uses `method: netinstall-add` — the chosen DE's package group is
| Desktop | Repo | Type | Notes |
|---------|------|------|-------|
| **KDE Plasma** | world | Full DE | Default. Wayland + X11. Listed as individual packages in the active config; the reference copy in `calamares-online/modules/` uses the `plasma` meta-group + `antergos-next-desktop-settings` |
| **Xfce** | galaxy | Full DE | Lightweight. GTK-based. Individual packages; reference copy uses `xfce4` group |
| **KDE Plasma** | world | Full DE | Default. Wayland + X11. Listed as individual packages in the active config; the companion copy in `calamares-online/modules/` uses the `plasma` meta-group + `antergos-next-desktop-settings` |
| **Xfce** | galaxy | Full DE | Lightweight. GTK-based. Individual packages; companion copy uses `xfce4` group |
| **Cinnamon** | galaxy | Full DE | Traditional layout. GNOME-based |
| **MATE** | galaxy | Full DE | GNOME 2 continuation. Individual packages; reference copy uses `mate` + `mate-extra` |
| **LXQt** | galaxy | Full DE | Lightweight Qt desktop. Individual packages; reference copy uses `lxqt` group |
| **MATE** | galaxy | Full DE | GNOME 2 continuation. Individual packages; companion copy uses `mate` + `mate-extra` |
| **LXQt** | galaxy | Full DE | Lightweight Qt desktop. Individual packages; companion copy uses `lxqt` group |
| **i3** | world | Tiling WM | Keyboard-driven. Individual packages (i3-wm, i3blocks, i3lock, i3status). Requires `antergos-i3-config` for a usable experience |
| **Sway** | world | Tiling WM | i3-compatible Wayland compositor. Requires `antergos-sway-config` |
| **Hyprland** | world | Tiling WM | Dynamic Wayland compositor with eye candy. Requires `antergos-hyprland-config` |
+1 -1
View File
@@ -26,7 +26,7 @@ Both use `sudo -E`, which preserves environment variables (`WAYLAND_DISPLAY`, `X
## 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/`.
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/`. Both `calamares/modules/` and `calamares-online/modules/` in the live-overlay belong to the **online** installer — there is no offline Calamares config. The active module configs at runtime are those under `calamares/modules/`; the `calamares-online/modules/` tree is the self-contained companion copy for the online flow.
## Calamares sequence
+10 -8
View File
@@ -15,7 +15,7 @@ Files in `iso-profiles/antergos/live-overlay/` exist only in the live environmen
live-overlay/
├── etc/
│ ├── calamares/
│ │ └── modules/ # Active runtime module configs
│ │ └── modules/ # Active runtime module configs (online installer)
│ │ ├── basestrap.conf # Package installation (operations incl. antergos-release)
│ │ ├── bootloader.conf
│ │ ├── displaymanager.conf # DM selector backend
@@ -30,7 +30,7 @@ live-overlay/
│ │ └── services-artix.conf
│ ├── calamares-online/
│ │ ├── settings.conf # Online install sequence
│ │ └── modules/ # Online flow modules (reference + extra)
│ │ └── modules/ # Companion module copies (kept in sync)
│ │ ├── packagechooser_de.conf / packagechooser_dm.conf
│ │ ├── initcpio.conf / locale.conf / mount.conf / partition.conf
│ │ ├── umount.conf / users.conf / welcome.conf
@@ -58,6 +58,13 @@ live-overlay/
## Key files
### `etc/calamares/` and `etc/calamares-online/` — both online
Both directories serve the **online** installer. There is no offline Calamares config in this overlay (and no offline Calamares mode at all — see [Installer](installer)).
- `etc/calamares/modules/` — the active module configs at runtime. After `calamares-next.sh` copies `calamares-online/settings.conf` to `/etc/calamares/settings.conf`, the `modules-search: [ local ]` directive resolves modules from this directory.
- `etc/calamares-online/` — the online install sequence (`settings.conf`) plus its own `modules/` tree. The two module trees are kept in sync; the `calamares-online/modules/` copies exist so the online flow has a self-contained config source. The copies under `calamares/modules/` are what actually loads at runtime.
### `etc/calamares-online/settings.conf`
The online install sequence. Defines two `packagechooser` instances:
@@ -67,12 +74,7 @@ The online install sequence. Defines two `packagechooser` instances:
The `modules-search: [ local ]` directive resolves module configs from the same directory as the settings file (`/etc/calamares/modules/`).
> There is **no** `settings.conf` at `etc/calamares/` in this overlay. The `/etc/calamares/settings.conf` on a live system is a symlink installed by the `calamares-branding-antergos-next` package (`ln -sf ../calamares-offline/settings.conf`), and `calamares-next.sh` swaps it to the online config at runtime.
### `etc/calamares/modules/` vs `etc/calamares-online/modules/`
- `calamares/modules/` — active module configs at runtime. The settings file resolves modules from this directory after being copied to `/etc/calamares/`.
- `calamares-online/modules/` — reference copies and additional modules (e.g. `partition.conf`, `mount.conf`) that are used during the online install flow. These are not loaded directly but serve as the source of truth for the install sequence.
> There is **no** `settings.conf` at `etc/calamares/` in this overlay. The `/etc/calamares/settings.conf` on a live system is a symlink installed by the `calamares-branding-antergos-next` package (`ln -sf ../calamares-offline/settings.conf`), and `calamares-next.sh` swaps it to the online config at runtime. The `calamares-offline` fallback is unused — the launcher always overwrites the symlink with the online config.
### `etc/calamares/modules/basestrap.conf`
+2 -2
View File
@@ -57,8 +57,8 @@ Built and published in this order (from `packages.yaml` in `antergos-packages`):
### calamares-branding-antergos-next
- Ships `calamares-next.sh` — installed as `/usr/bin/calamares-next`, the online installer launcher
- Ships both settings files: `/etc/calamares-offline/settings.conf` and `/etc/calamares-online/settings.conf`. `/etc/calamares/settings.conf` is a symlink to the offline one by default; the launcher's `SetConfig()` replaces it with the online config at runtime
- Ships module configs to `/etc/calamares/modules/`: `unpackfs.conf`, `initcpiocfg.conf`, `initcpio.conf`, `netinstall.conf`, `netinstall.yaml`, `packagechooser_de.conf`, `packagechooser_dm.conf`, `welcome.conf`
- Ships the online settings file as `/etc/calamares-online/settings.conf`. It also ships an `settings_offline.conf` installed as `/etc/calamares-offline/settings.conf` (with `/etc/calamares/settings.conf` symlinked to it by default) — but this is **unused**: the launcher's `SetConfig()` always replaces it with the online config at runtime. Calamares is online-only.
- Ships module configs to `/etc/calamares/modules/`: `unpackfs.conf`, `initcpiocfg.conf`, `initcpio.conf`, `netinstall.conf`, `netinstall.yaml`, `packagechooser_de.conf`, `packagechooser_dm.conf`, `services-artix.conf`, `welcome.conf`
- Also overwrites `/usr/share/calamares/branding/default/` so the Artix default branding can't sneak in
- `SetConfig()` must `rm -f` the symlink at `/etc/calamares/settings.conf` before copying, otherwise `cp` follows the symlink and overwrites the wrong file
@@ -20,6 +20,12 @@ services:
action: "enable"
- name: "sddm"
action: "enable"
- name: "lightdm"
action: "enable"
- name: "lxdm"
action: "enable"
- name: "ly"
action: "enable"
- name: "greetd"
action: "enable"
- name: "ntpd"
@@ -20,6 +20,12 @@ services:
action: "enable"
- name: "sddm"
action: "enable"
- name: "lightdm"
action: "enable"
- name: "lxdm"
action: "enable"
- name: "ly"
action: "enable"
- name: "greetd"
action: "enable"
- name: "ntpd"