From 266ec6957629c27c3d93a5296c0e9886e8e89467 Mon Sep 17 00:00:00 2001 From: Celestia Ludenberg Date: Tue, 23 Jun 2026 13:35:40 +0200 Subject: [PATCH] =?UTF-8?q?R.I.P.=20Cnchi=20(2012-2026)=20=E2=80=94=20Cala?= =?UTF-8?q?mares=20is=20the=20big=20boy=20installer=20now?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .github/workflows/build.yml | 4 +- .gitignore | 1 - AGENTS.md | 4 +- README.md | 50 +++++++++++-------- .../.local/share/applications/cnchi.desktop | 14 ------ .../src/etc/skel/user-commands-before.bash | 6 +-- .../src/etc/skel/user_commands.bash | 2 +- packages.x86_64 | 1 - run_before_squashfs.sh | 10 +--- 9 files changed, 38 insertions(+), 54 deletions(-) delete mode 100644 airootfs/root/antergos-skel-liveuser/src/etc/skel/.local/share/applications/cnchi.desktop diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2e895e5..57efb5a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -130,14 +130,14 @@ jobs: echo "## Installation" >> README.md echo "1. Boot from ISO" >> 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 "## Issues" >> README.md echo "Report at: https://github.com/Antergos-NeXT/antergos-iso/issues" >> README.md echo "" >> README.md echo "## Source" >> 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 # Upload ISO + README diff --git a/.gitignore b/.gitignore index b0632f4..01354b6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -Cnchi/ antergos-pkgs/ internetarchive.log airootfs/root/antergos-skel-liveuser/*.pkg.tar.zst diff --git a/AGENTS.md b/AGENTS.md index 6c86fbd..503fc82 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,12 +12,12 @@ git config user.email "ash8820@proton.me" ## The Crusade - 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 "."` ## Antergos NeXT Repos - **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) **DEUS VULT** diff --git a/README.md b/README.md index b01e5ef..11779f1 100644 --- a/README.md +++ b/README.md @@ -9,31 +9,39 @@ 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, 2012–2026 -**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) | -|---|---|---| -| **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 | +**Cnchi is not coming back.** -**Q: Why not just use Calamares like everyone else?** -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. +| Reason | Detail | +|--------|--------| +| **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: Community feedback. Some users prefer Calamares' workflow. We're not here to force anyone — both are available. Pick the one that fits you. +### A brief eulogy -**Q: Is Calamares fully functional?** -A: Not yet. It's experimental. Some features (lembrame, desktop-specific tweaks) are Cnchi-only. Calamares is there for testing and as a fallback. +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. -**Q: Will Calamares become the default in the future?** -A: Only if Cnchi becomes unmaintainable. As long as Cnchi works, it stays default. Calamares is a backup, not a replacement. +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. + +*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 @@ -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!) [![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 @@ -77,7 +85,7 @@ The `.iso` appears in the `out/` directory. ## 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 [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 - [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 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" -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. --- diff --git a/airootfs/root/antergos-skel-liveuser/src/etc/skel/.local/share/applications/cnchi.desktop b/airootfs/root/antergos-skel-liveuser/src/etc/skel/.local/share/applications/cnchi.desktop deleted file mode 100644 index d333807..0000000 --- a/airootfs/root/antergos-skel-liveuser/src/etc/skel/.local/share/applications/cnchi.desktop +++ /dev/null @@ -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 diff --git a/airootfs/root/antergos-skel-liveuser/src/etc/skel/user-commands-before.bash b/airootfs/root/antergos-skel-liveuser/src/etc/skel/user-commands-before.bash index e3b0768..d356e0c 100755 --- a/airootfs/root/antergos-skel-liveuser/src/etc/skel/user-commands-before.bash +++ b/airootfs/root/antergos-skel-liveuser/src/etc/skel/user-commands-before.bash @@ -1,11 +1,11 @@ #!/bin/bash # # 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 # 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. # # If you add commands to this file, start the whole install process fresh @@ -24,7 +24,7 @@ _IsoConfig() { ## 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' diff --git a/airootfs/root/antergos-skel-liveuser/src/etc/skel/user_commands.bash b/airootfs/root/antergos-skel-liveuser/src/etc/skel/user_commands.bash index c6059f9..7812a67 100755 --- a/airootfs/root/antergos-skel-liveuser/src/etc/skel/user_commands.bash +++ b/airootfs/root/antergos-skel-liveuser/src/etc/skel/user_commands.bash @@ -50,7 +50,7 @@ _PostInstallCommands() { ## 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 diff --git a/packages.x86_64 b/packages.x86_64 index 4457656..57dba08 100644 --- a/packages.x86_64 +++ b/packages.x86_64 @@ -271,7 +271,6 @@ yay hal ## Installer -cnchi calamares calamares-branding-antergos-next squashfs-tools diff --git a/run_before_squashfs.sh b/run_before_squashfs.sh index 5dfbcc1..16adcb3 100755 --- a/run_before_squashfs.sh +++ b/run_before_squashfs.sh @@ -177,20 +177,12 @@ rm -rf "/var/cache/pacman/pkg/" echo "---> Keep ranked mirrorlist for live session (removed revert to packaged default) --->" 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 --->" 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 --->" 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 --->" cat > "/usr/lib/os-release" << 'OSEOF' NAME="Antergos NeXT" @@ -217,7 +209,7 @@ LSBEOF 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 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-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