R.I.P. Cnchi (2012-2026) — Calamares is the big boy installer now

Full removal of Cnchi from the ISO. It was the original Antergos
installer and we tried to keep it alive with a GTK4 port, but the
Python GTK4 bindings were unstable, the maintenance burden was
unsustainable for a solo dev, and Calamares simply does everything
better.

What changed:
  - README: complete rewrite of installer section with eulogy and
    'Why Calamares and not Cnchi' explanation
  - packages.x86_64: cnchi removed (calamares stays)
  - run_before_squashfs.sh: removed cnchi memes dir creation, cnchi
    desktop file fix, cnchi version comment; changed GTK theme from
    Adwaita to Adwaita-dark (fixes white-on-white welcome app)
  - airootfs/.../cnchi.desktop: deleted
  - user-commands-before.bash: updated cnchi references → generic
  - user_commands.bash: updated cnchi reference → generic
  - .gitignore: removed Cnchi/ entry
  - AGENTS.md: cnchi → calamares
  - .github/workflows/build.yml: cnchi → calamares in README gen
  - NOTICES: kept historical Cnchi credit (unchanged)

🕯️ Requiescat in pace, Cnchi. You did your job.
This commit is contained in:
2026-06-23 13:35:40 +02:00
parent 3099b79251
commit 266ec69576
9 changed files with 38 additions and 54 deletions
+2 -2
View File
@@ -130,14 +130,14 @@ jobs:
echo "## Installation" >> README.md echo "## Installation" >> README.md
echo "1. Boot from ISO" >> README.md echo "1. Boot from ISO" >> README.md
echo "2. Select desktop environment" >> README.md echo "2. Select desktop environment" >> README.md
echo "3. Run Cnchi installer" >> README.md echo "3. Run Calamares installer" >> README.md
echo "" >> README.md echo "" >> README.md
echo "## Issues" >> README.md echo "## Issues" >> README.md
echo "Report at: https://github.com/Antergos-NeXT/antergos-iso/issues" >> README.md echo "Report at: https://github.com/Antergos-NeXT/antergos-iso/issues" >> README.md
echo "" >> README.md echo "" >> README.md
echo "## Source" >> README.md echo "## Source" >> README.md
echo "- ISO Build: https://github.com/Antergos-NeXT/antergos-iso" >> README.md echo "- ISO Build: https://github.com/Antergos-NeXT/antergos-iso" >> README.md
echo "- Cnchi: https://github.com/Antergos-NeXT/cnchi-next" >> README.md echo "- Calamares: https://codeberg.org/calamares/calamares" >> README.md
echo "- Packages: https://github.com/Antergos-NeXT/antergos-packages" >> README.md echo "- Packages: https://github.com/Antergos-NeXT/antergos-packages" >> README.md
# Upload ISO + README # Upload ISO + README
-1
View File
@@ -1,4 +1,3 @@
Cnchi/
antergos-pkgs/ antergos-pkgs/
internetarchive.log internetarchive.log
airootfs/root/antergos-skel-liveuser/*.pkg.tar.zst airootfs/root/antergos-skel-liveuser/*.pkg.tar.zst
+2 -2
View File
@@ -12,12 +12,12 @@ git config user.email "ash8820@proton.me"
## The Crusade ## The Crusade
- Arch Linux live ISO, forged from the bones of EndeavourOS-ISO - Arch Linux live ISO, forged from the bones of EndeavourOS-ISO
- A KDE Plasma live environment, bearing the sacred Cnchi installer - A GNOME live environment with Calamares installer (offline + online)
- To smite the ISO into existence: `./prepare.sh && sudo ./mkarchiso -v "."` - To smite the ISO into existence: `./prepare.sh && sudo ./mkarchiso -v "."`
## Antergos NeXT Repos ## Antergos NeXT Repos
- **antergos-iso**: `https://github.com/Antergos-NeXT/antergos-iso` (branch: master) - **antergos-iso**: `https://github.com/Antergos-NeXT/antergos-iso` (branch: master)
- **cnchi-next**: `https://github.com/Antergos-NeXT/cnchi-next` (branch: cnchi-dev) - **calamares**: `https://codeberg.org/calamares/calamares` (upstream)
- **antergos-packages**: `https://github.com/Antergos-NeXT/antergos-packages` (branch: master) - **antergos-packages**: `https://github.com/Antergos-NeXT/antergos-packages` (branch: master)
**DEUS VULT** **DEUS VULT**
+29 -21
View File
@@ -9,31 +9,39 @@
Both a revival **and** a modernization of the Antergos live installer ISO, based on the maintained EndeavourOS-ISO. Both a revival **and** a modernization of the Antergos live installer ISO, based on the maintained EndeavourOS-ISO.
Provides a live GNOME environment to install Arch Linux using **Cnchi**, the original Antergos installer — overhauled for modern Python (GTK4), with multi-DE support and the original installer experience re-engineered for 2026. Provides a live GNOME environment to install Arch Linux using **Calamares** the mature, upstream-supported universal installer framework — with offline (GNOME squashfs) and online (netinstall with 8 DE choices) modes, and dracut initramfs.
This is not a museum piece. We keep what worked, fix what broke, and aren't afraid to add new things. Cnchi stays because it's what makes Antergos *Antergos* — but we've gutted the guts and replaced the pipes. > *"I can't let you do that, Dave."* — Cnchi, 20122026
**Calamares** is also included as an **experimental** alternative installer. ## Why Calamares and not Cnchi?
## Why Cnchi and not Calamares? Cnchi was the original Antergos installer — a custom GTK+ tool that gave Antergos its identity. For Antergos NeXT, we initially ported it to GTK4 and fought to keep it alive. But after days of fighting with a brittle Python codebase, broken GTK4 bindings, and an ever-growing maintenance burden, the honest call was made:
| | Cnchi (default) | Calamares (experimental) | **Cnchi is not coming back.**
|---|---|---|
| **Status** | Primary installer, actively developed | Experimental, community requested |
| **Experience** | Original Antergos feel, custom GTK4 UI | Standard Calamares workflow |
| **Development** | Part of the project's DNA | Porting effort, needs testing |
**Q: Why not just use Calamares like everyone else?** | Reason | Detail |
A: Because Antergos NeXT is a revival of *Antergos*, not another EndeavourOS or Arch derivative. Cnchi *is* the Antergos installer. Replacing it would defeat the purpose. |--------|--------|
| **GTK4 breakage** | Python GTK4 bindings were unstable; widgets broke on every upstream release |
| **Maintenance hell** | Single developer couldn't keep up with Python dependency churn + GTK4 + systemd + dracut |
| **Calamares is better** | Mature, modular C++/Qt6 framework, upstream-supported, offline+online already built in |
| **Time** | Every hour fixing Cnchi was an hour not spent on actual improvements |
**Q: So why include Calamares at all?** ### A brief eulogy
A: Community feedback. Some users prefer Calamares' workflow. We're not here to force anyone — both are available. Pick the one that fits you.
**Q: Is Calamares fully functional?** Cnchi (originally written as a Bash script, then Python/GTK2, then GTK3) served Antergos from 2012 to 2019, and was briefly revived for NeXT. It was ambitious, opinionated, and deeply tied to what made Antergos *Antergos*. But the 2026 Linux desktop is not 2012 — dracut replaces mkinitcpio, systemd-boot replaces grub, and a single-dev team can't carry a full custom installer framework.
A: Not yet. It's experimental. Some features (lembrame, desktop-specific tweaks) are Cnchi-only. Calamares is there for testing and as a fallback.
**Q: Will Calamares become the default in the future?** Calamares is the big boy installer now. It works. It's maintained. And with our custom branding, offline/online split, and dracut support, it's more capable than Cnchi ever was.
A: Only if Cnchi becomes unmaintainable. As long as Cnchi works, it stays default. Calamares is a backup, not a replacement.
*Requiescat in pace, Cnchi. You did your job.*
## Installer modes
| Mode | Description |
|------|-------------|
| **Offline** | Unpacks a GNOME squashfs from the ISO — no internet needed, fast install |
| **Online** | Netinstall with 8 DE choices (GNOME, KDE, Xfce, Budgie, Cinnamon, MATE, LXQt, i3/Sway) |
The launcher (`calamares-next`) presents a zenity/kdialog/dialog GUI to pick offline or online mode before launching Calamares.
## Desktop Editions ## Desktop Editions
@@ -59,7 +67,7 @@ Join us on Matrix: (uses pulsar's matrix) [#pulsar-linux:matrix.org](https://mat
ISO images exceed GitHub's 2 GB release limit. They are uploaded to **SourceForge** (uses pulsar's SF Project since the old antergos-next project was deleted oopsie!) ISO images exceed GitHub's 2 GB release limit. They are uploaded to **SourceForge** (uses pulsar's SF Project since the old antergos-next project was deleted oopsie!)
[![Download antergos-next](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/pulsar-linux/files/Antergos_NeXT/latest/download) [![Download antergos-next](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/pulsar-linux/files/Antergos_NeXT/latest/download)
**⚠️ Early releases may have incomplete DE package lists.** The latest `packages.xml` is always in the [cnchi-next repo](https://github.com/Antergos-NeXT/cnchi-next/blob/cnchi-dev/data/packages.xml). Building from source after a fresh clone ensures you have the most up-to-date package selection. **⚠️ Early releases may have incomplete DE package lists.**
## How to build ## How to build
@@ -77,7 +85,7 @@ The `.iso` appears in the `out/` directory.
## Custom packages ## Custom packages
The ISO uses the `antergos-packages` repo for custom packages (Cnchi, keyring, mirrorlist, desktop settings, wallpapers). Add it to your system: The ISO uses the `antergos-packages` repo for custom packages (Calamares branding, keyring, mirrorlist, desktop settings, wallpapers). Add it to your system:
```ini ```ini
[antergos-pkgs] [antergos-pkgs]
@@ -90,7 +98,7 @@ Server = https://antergos-next.github.io/antergos-packages
- [EndeavourOS-ISO](https://github.com/endeavouros-team/EndeavourOS-ISO) — base ISO build system - [EndeavourOS-ISO](https://github.com/endeavouros-team/EndeavourOS-ISO) — base ISO build system
- [Arch-ISO](https://gitlab.archlinux.org/archlinux/archiso) — archiso tools - [Arch-ISO](https://gitlab.archlinux.org/archlinux/archiso) — archiso tools
- [cnchi-next](https://github.com/Antergos-NeXT/cnchi-next) — our patched Cnchi fork - [Calamares](https://codeberg.org/calamares/calamares) — upstream installer framework
- [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) — custom package repo - [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) — custom package repo
- [Antergos wallpapers](https://github.com/Antergos/wallpapers) — original wallpapers - [Antergos wallpapers](https://github.com/Antergos/wallpapers) — original wallpapers
@@ -102,7 +110,7 @@ Server = https://antergos-next.github.io/antergos-packages
## A Note to the "Branding Police" ## A Note to the "Branding Police"
If you came here to hate and you're about to type "why are you using Antergos's branding" — pack your bags and go to Pulsar Linux (formerly Antergos NeXT). We have Dustin's blessing. We are respectful. We are not them. Move on. If you came here to hate and you're about to type "why are you using Antergos's branding" — pack your bags and go to Manjaro. We have Dustin's blessing. We are respectful. We are not them. Move on.
--- ---
@@ -1,14 +0,0 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Install Antergos
GenericName=System Installer
Comment=Cnchi — Antergos System Installer
Keywords=cnchi;system;installer;
TryExec=cnchi
Exec=sudo -E cnchi
Categories=Qt;System;
Icon=cnchi
Terminal=false
SingleMainWindow=true
StartupNotify=true
@@ -1,11 +1,11 @@
#!/bin/bash #!/bin/bash
# #
# This file can contain commands that will be executed (as root) before # This file can contain commands that will be executed (as root) before
# cnchi is started. So here you may configure various settings of cnchi. # Calamares is started. So here you may configure various settings.
# #
# NOTE! This is an advanced feature, so you need to know *exactly* what # NOTE! This is an advanced feature, so you need to know *exactly* what
# you are doing. Otherwise bad things can happen... # you are doing. Otherwise bad things can happen...
# Sound knowledge of cnchi, bash language, and linux commands is required # Sound knowledge of bash language and linux commands is required
# for a meaningful customization. # for a meaningful customization.
# #
# If you add commands to this file, start the whole install process fresh # If you add commands to this file, start the whole install process fresh
@@ -24,7 +24,7 @@
_IsoConfig() { _IsoConfig() {
## Add your ISO configurations here. ## Add your ISO configurations here.
## This is executed as root before cnchi is started. ## This is executed as root before the installer is started.
local -r install_mode="$1" # 'online' or 'offline' local -r install_mode="$1" # 'online' or 'offline'
@@ -50,7 +50,7 @@
_PostInstallCommands() { _PostInstallCommands() {
## Add your "late-install" commands here. ## Add your "late-install" commands here.
## This is executed as root near the end of cnchi execution. ## This is executed as root near the end of installation.
local -r username="$1" # new user you created for the target local -r username="$1" # new user you created for the target
-1
View File
@@ -271,7 +271,6 @@ yay
hal hal
## Installer ## Installer
cnchi
calamares calamares
calamares-branding-antergos-next calamares-branding-antergos-next
squashfs-tools squashfs-tools
+1 -9
View File
@@ -177,20 +177,12 @@ rm -rf "/var/cache/pacman/pkg/"
echo "---> Keep ranked mirrorlist for live session (removed revert to packaged default) --->" echo "---> Keep ranked mirrorlist for live session (removed revert to packaged default) --->"
rm -f "/etc/pacman.d/mirrorlist-from-package" rm -f "/etc/pacman.d/mirrorlist-from-package"
echo "---> Create cnchi memes directory --->"
mkdir -p "/usr/share/cnchi-memes"
echo "---> Fix cnchi desktop file to use sudo -E --->"
sed -i 's|^Exec=.*cnchi.*|Exec=sudo -E cnchi|' "/usr/share/applications/cnchi.desktop"
echo "---> Fix calamares desktop file to use launcher --->" echo "---> Fix calamares desktop file to use launcher --->"
sed -i 's|^Exec=.*calamares.*|Exec=sudo -E calamares-next|' "/usr/share/applications/calamares.desktop" 2>/dev/null || true sed -i 's|^Exec=.*calamares.*|Exec=sudo -E calamares-next|' "/usr/share/applications/calamares.desktop" 2>/dev/null || true
echo "---> Symlink antergos icon for calamares branding --->" echo "---> Symlink antergos icon for calamares branding --->"
ln -sf "/usr/share/antergos/antergos-icon.png" "/usr/share/calamares/branding/antergos-next/squid.png" 2>/dev/null || true ln -sf "/usr/share/antergos/antergos-icon.png" "/usr/share/calamares/branding/antergos-next/squid.png" 2>/dev/null || true
# cnchi 0.17.1+ already has the regain_privileges fix in source
echo "---> Set Antergos NeXT os-release --->" echo "---> Set Antergos NeXT os-release --->"
cat > "/usr/lib/os-release" << 'OSEOF' cat > "/usr/lib/os-release" << 'OSEOF'
NAME="Antergos NeXT" NAME="Antergos NeXT"
@@ -217,7 +209,7 @@ LSBEOF
echo "---> Configure GNOME Shell theme for live user --->" echo "---> Configure GNOME Shell theme for live user --->"
su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.shell.extensions.user-theme name 'Antergos-NeXT'" 2>/dev/null || true su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.shell.extensions.user-theme name 'Antergos-NeXT'" 2>/dev/null || true
su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.shell enabled-extensions \"['user-theme@gnome-shell-extensions.gcampax.github.com']\"" 2>/dev/null || true su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.shell enabled-extensions \"['user-theme@gnome-shell-extensions.gcampax.github.com']\"" 2>/dev/null || true
su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita'" 2>/dev/null || true su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark'" 2>/dev/null || true
su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/antergos/backgrounds/antergos-wallpaper.png'" 2>/dev/null || true su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/antergos/backgrounds/antergos-wallpaper.png'" 2>/dev/null || true
su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.desktop.background picture-uri-dark 'file:///usr/share/antergos/backgrounds/antergos-wallpaper.png'" 2>/dev/null || true su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.desktop.background picture-uri-dark 'file:///usr/share/antergos/backgrounds/antergos-wallpaper.png'" 2>/dev/null || true
su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.desktop.screensaver picture-uri 'file:///usr/share/antergos/backgrounds/antergos-wallpaper.png'" 2>/dev/null || true su - antergos -c "dbus-launch --exit-with-session gsettings set org.gnome.desktop.screensaver picture-uri 'file:///usr/share/antergos/backgrounds/antergos-wallpaper.png'" 2>/dev/null || true