Files
euri-iso/AGENTS.md
T
c-ludenberg d0213a7a46 docs: rework all pages to Artix Wiki quality
- index.md: add download link + stable release announcement
- building.md: add troubleshooting section (cache, squashfs, compression)
- ci.md: IA upload enabled, push trigger removed (manual dispatch only)
- development.md: add all gotchas from AGENTS.md (SDDM theme ordering,
  pipewire launcher, antergos-release in basestrap, CI changes)
- installer.md: document fixed issues (audio, SDDM, os-release)
- packages.md: add pipewire fork, antergos-sddm-theme, antergos-release
- launcher.md: expand with module configs
- init-systems.md: Chimera uses dinit, OpenRC marked as broken
- openrc.md: add broken warning banner
- wallpapers.md: default is antergos-wallpaper.png (not Adwaita Morning)
- overlays: clean up explanations and symlink behavior
- desktop-environments.md: add Discover note, clean up GNOME entry
- dinit.md, runit.md, s6.md: polish and add troubleshooting sections
2026-07-11 23:33:17 +02:00

6.0 KiB

Papal Decree for All Agents Working Upon These Hallowed Files

Git Confession (Required Before Every Act)

Lest thy soul be marked with the sigil of a false prophet, thou shalt kneel and recite:

git config user.name "Michał"
git config user.email "ash8820@proton.me"

This commandment shalt be obeyed in every session before committing or pushing. Suffer not the default identity to live. The OpenHands heresy shall not be permitted again.

GPG Signing (Salvation Through Seal)

All commits MUST be signed with the Antergos NeXT maintainer key:

git config user.signingkey F1D8F02C5E929F3FE0424EE897F813D238CF0DBB
git config commit.gpgsign true

Then commit with git commit -S -m "message". If GPG prompts for a passphrase, pray to the build gods and provide it. An unsigned commit is a mortal sin.

The Crusade

  • Artix Linux ISO (dinit default), forked from EndeavourOS-ISO, then migrated to artools after 15 days in a vent shaft
  • KDE Plasma live environment with Calamares installer (offline + online modes)
  • Build command: export WORKSPACE_DIR="$PWD" && sudo -E ./buildiso -p antergosuse ./buildiso, NOT buildiso; the system Artix /usr/bin/buildiso lacks --overwrite='*' and will fail with file conflicts; sudo -E is required to preserve WORKSPACE_DIR environment variable
  • ISO appears in /var/lib/artools/buildiso/iso/antergos/ (assuming the build gods are pleased)

Antergos NeXT Repos

  • antergos-iso: https://github.com/Antergos-NeXT/antergos-iso
  • antergos-packages: https://github.com/Antergos-NeXT/antergos-packages
  • calamares: https://codeberg.org/calamares/calamares (upstream installer framework)

Critical Gotchas (Read Before Editing)

CMAKE_DISTRIBUTION_NAME is a no-op

Calamares completely ignores -DCMAKE_DISTRIBUTION_NAME. The "for " text in the about dialog comes from versionedName in the active branding component at runtime. Do NOT add this flag to the calamares PKGBUILD.

brandind.desc componentName must match directory

Calamares Branding.cpp has this check:

if (m_componentName != componentDir.dirName()) { bail(...); }

So componentName: antergos-next can only live in directory antergos-next/. If copying to default/, you MUST sed the componentName to default.

Package order matters in profile.yaml

Build uses basestrap --overwrite='*'. The last package to claim a file wins. Package order in profile.yaml should list calamares BEFORE calamares-branding-antergos-next, so branding files overwrite Calamares defaults, not the other way around.

Repo order in iso-x86_64.conf

[antergos-pkgs] must be listed FIRST in iso-x86_64.conf so our custom packages (calamares, branding) take priority over Artix's.

Pacman.conf must be user-overridden

buildiso uses /usr/share/artools/pacman.conf.d/iso-x86_64.conf (from artools package) unless there's one at ~/.config/artools/pacman.conf.d/iso-x86_64.conf. But we need [antergos-pkgs] in it. Before building locally:

mkdir -p ~/.config/artools/pacman.conf.d
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/iso-x86_64.conf

CI does this automatically. Forget this step and buildiso will try to fetch our custom packages from Artix repos and fail.

WORKSPACE_DIR

buildiso looks for profiles at $WORKSPACE_DIR/iso-profiles/<profile>/ if WORKSPACE_DIR is set. Always set it to the repo root when building locally.

Default init system

Antergos NeXT uses dinit (via INITSYS='dinit' in buildiso). Runit and s6 are also available as user-selectable options in the online installer. OpenRC is broken (services don't enable correctly on installed systems). See common.yaml and profile.yaml for per-init package lists.

antergos-release in basestrap.conf operations

The filesystem package owns /usr/lib/os-release with "Artix Linux". To get "Antergos NeXT" in os-release, antergos-release must be in the operations list in basestrap.conf. This ensures it's installed during bootstrapping with --overwrite. Missing it → installed system shows "Artix Linux".

SDDM theme ordering

kde_settings.conf from KDE's SDDM KCM sets Current=breeze. The antergos-sddm-theme package ships theme.conf at /etc/sddm.conf.d/theme.conf. SDDM reads conf.d files alphabetically — theme.conf sorts after kde_settings.conf, so its Current=antergos wins.

pipewire launcher patching for dinit

artix-pipewire-launcher detects the init system. Upstream sets dinit|openrc) SUPPORT=''. The forked package changes this to dinit|runit|s6) SUPPORT='YES'. The package also ships pipewire.desktop at /etc/xdg/autostart/ so online installs get the XDG autostart entry.

CI: manual dispatch only, IA upload enabled

build.yml only runs on workflow_dispatch (push trigger removed). Internet Archive upload is enabled with unique identifier format antergos-next-YYYYMMDD-<run_number>.

Repo Structure

antergos-iso/
├── buildiso                    # Modified buildiso with Antergos branding
├── iso-profiles/
│   ├── antergos/
│   │   ├── profile.yaml        # Packages, services (rootfs + livefs)
│   │   ├── root-overlay/       # Merged into squashfs rootfs
│   │   └── live-overlay/       # Merged into live environment
│   └── common/
│       └── common.yaml         # Shared base packages
├── pacman.conf.d/
│   └── iso-x86_64.conf         # Pacman config for ISO build
├── docs/                       # Jekyll site (Just the Docs), deployed to GitHub Pages
│   └── *.md                    # All docs reworked to Artix Wiki quality
├── .github/workflows/build.yml # CI: builds ISO, uploads to Internet Archive
└── AGENTS.md                   # You are here

ISO Upload

Pushed to Internet Archive with collection: open_source_software (Community Software, NOT Community Texts). CI uses IA_ACCESS_KEY and IA_SECRET_KEY secrets.

DEUS VULT