Files
euri-iso/docs/installer.md
T
c-ludenberg 05ae4f25cc feat: switch default init from OpenRC to Dinit
All approaches to keep OpenRC as default failed:
  - --ignore: pacman ignores it during fresh install provider resolution
  - --assume-installed=init-logind: ALPM doesn't check assume-installed for virtual providers
  - --ask=12: infinite loop (pacman re-adds elogind-dinit after each removal)
  - dummy package in custom repo: init-rc conflict hits via different path

Dinit works because pacman --noconfirm naturally picks elogind-dinit
(alphabetically before elogind-openrc), pulling dinit-rc which has no
conflict. All inits (OpenRC, Runit, S6) remain selectable in the
online installer.

Changes:
  - buildiso: INITSYS='dinit', remove --assume-installed/--ask hacks
  - basestrap/main.py, packages/main.py: remove same hacks
  - profile.yaml: antergos-live-dinit for dinit, move openrc pkg to init-specific
  - packagechooser.conf (x2): default=Dinit, Dinit first in item list
  - packagechooser_dm.conf: *-dinit instead of *-openrc
  - README.md, README.pl.md, docs/*: update all OpenRC-first references
  - AGENTS.md: document dinit as default
2026-07-06 19:42:27 +02:00

61 lines
2.1 KiB
Markdown

---
title: Installer
layout: default
nav_order: 4
---
# Calamares Installer
Uses [Calamares](https://codeberg.org/calamares/calamares) with two modes and custom branding.
## Modes
| Mode | Description |
|------|-------------|
| **Offline** | Unpacks a KDE Plasma squashfs — no internet needed |
| **Online** | Netinstall with init system choice + desktop selection |
The launcher (`calamares-next`) presents a mode picker before launching Calamares.
## Key differences from upstream
- `dracut`/`dracutlukscfg` replaced with `initcpiocfg`/`initcpio`/`luksopenswaphookcfg` (Artix uses mkinitcpio, not dracut)
- `services-openrc` module instead of `services-systemd`
- `removeuser` step removed, `postcfg` added
- `packagechooser` module compiled in (upstream skips it)
## Init system selector (online)
Users choose from: **Dinit**, **OpenRC**, **Runit**, **S6**.
Implemented as a `packagechooser` instance with `method: netinstall-add` — the selected init pulls its associated packages.
## Desktop selector (online)
Users choose from: **Plasma**, **Xfce**, **Cinnamon**, **MATE**, **LXQt**, **i3**, **Sway**, **Hyprland**, or **No Desktop**.
Implemented as a separate `packagechooser` instance with `method: legacy`. "No Desktop" installs only the base system (TTY-only).
## Available desktops
| Desktop | Artix Repo | Group/Packages |
|---------|------------|----------------|
| Plasma | world | `plasma` group |
| Xfce | galaxy | `xfce4` group |
| Cinnamon | galaxy | Individual packages |
| MATE | galaxy | `mate` + `mate-extra` groups |
| LXQt | galaxy | `lxqt` group |
| i3 | world | `i3` group |
| Sway | world | `sway` + related packages |
| Hyprland | world | `hyprland` |
> **Note:** Budgie is not available in any Artix repo and has been removed from all configs and slideshows.
## Offline mode
No packagechooser. Uses `unpackfs` to deploy a pre-built KDE Plasma squashfs, then `initcpiocfg` + `initcpio` for mkinitcpio configuration.
## Branding
Custom branding lives in the `calamares-branding-antergos-next` package, installed to `/etc/calamares/branding/default/`. The `componentName` in `branding.desc` must match its directory name.