Files
euri-iso/docs/launcher.md
T
c-ludenberg 442980a7af feat: dinit or die
why the FUCK did i think making an init selector was a good idea
artix themselves dont even ship services in their online installer
they just give you a bare system and say "figure it out" and
it WORKS because people can just install their init of choice
afterwards. but nooooo i had to be clever and build a whole
netinstall-add monstrosity with openrc/runit/s6 service groups
that broke constantly because basestrap --overwrite is a lie
and init packages conflict with each other and sddm-openrc +
lightdm-openrc both Provide: init-displaymanager and pacman
just goes 🖕 during install.

so anyway. dinit only now. you want something else? read
changing-init.md, i literally copied the artix wiki tutorial.
i am not maintaining four init service groups in netinstall.yaml
for the rest of my life. this is my villain origin story.

actual changes:
- ripped out offline calamares mode (was never truly offline)
- ripped out packagechooser.conf (good fucking riddance)
- added packagechooser_dm.conf so you can at least pick your DM
- added BYODE offline installer (bare system + btrfs + snapper,
  no DE, you pacman -Sy plasma-meta yourself)
- added yay + snapper + btrfs-progs to rootfs
- shoved Init Services + DM groups into netinstall.yaml (dinit
  only, obviously)
- updated every markdown file that mentioned another init like
  they were cursed (they were)
- wrote changing-init.md so i can just paste the link next time
  someone asks
- X-KDE-IsAdminApplication=true so KDE stops acting like
  calamares is a virus (its not, its just desperate)
2026-07-16 21:55:05 +02:00

51 lines
1.9 KiB
Markdown

---
title: Launcher
layout: default
nav_order: 10
---
# Calamares Launcher
The `calamares-next` script (`calamares-next.sh`) handles the installer boot flow. It's installed by `calamares-branding-antergos-next` to `/usr/bin/calamares-next`.
## Boot flow
1. **Notice** — explains why the so-called "Offline Install" was removed (it wasn't actually offline)
2. **Welcome** — branded splash screen with an "Install" button
3. **Configuration** — copies `calamares-online/settings.conf` to `/etc/calamares/settings.conf`
4. **Launch** — runs `calamares` with the online config
## Desktop entry
`/usr/share/applications/calamares.desktop` in the live-overlay launches with:
```
Exec=sudo -E calamares-next
```
`sudo -E` 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.
## Installer flow
The launcher shows a YAD info notice explaining the removal of the offline mode, then presents a branded splash with a single "Install" button. Calamares launches in online mode with the DE selector.
## 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 live-overlay includes `calamares-config-switcher.desktop` with `NoDisplay=true`. This hides the upstream Artix "Install Artix Linux" desktop entry while keeping the binary available for other uses.
## Module configs
Configs live in `live-overlay/etc/calamares-online/modules/`:
- `packagechooser_dm.conf` — display manager selector using `method: netinstall-select`
- `initcpiocfg.conf` — mkinitcpio configuration
- `services-artix.conf` — service enablement via `artix-service`