Development
Critical gotchas
./buildiso vs buildiso
Always use the repo’s ./buildiso, not the system Artix /usr/bin/buildiso. The system version lacks --overwrite='*' and will fail with file conflicts between calamares and calamares-branding-antergos-next.
sudo -E is required
Without -E, WORKSPACE_DIR is stripped and load_profile() returns empty HAS_LIVE/LIVEUSER, causing build failures.
Pacman config must be user-overridden
buildiso reads from ~/.config/artools/pacman.conf.d/iso-x86_64.conf. If missing, it falls back to the Artix default at /usr/share/artools/pacman.conf.d/iso-x86_64.conf which lacks [antergos-pkgs].
mkdir -p ~/.config/artools/pacman.conf.d
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
Squashfs compression
If $COMPRESSION is unset in config, mksquashfs produces a sparse zero file instead of a valid squashfs. Always verify compression is set, or remove stale images before retry.
Calamares module precedence
/etc/calamares/modules/ overrides /usr/share/calamares/modules/. Live-overlay online/offline directories override both.
Live-overlay is not overlay-mounted
Live-overlay files are copied via cp -LR in make_livefs(). Deleting a file from live-overlay exposes the package version, not hides it. Use NoDisplay=true in .desktop files instead.
plasma-wayland-session does not exist on Artix
Artix bundles the Wayland session into plasma-workspace itself. Do not add it to package lists.
File conflicts
calamares and calamares-branding-antergos-next both install to /usr/share/calamares/branding/default/. Handled by --overwrite='*'.
calamares-next.sh SetConfig()
Must rm -f the symlink at /etc/calamares/settings.conf before cp, otherwise cp follows the symlink and overwrites the offline config file instead of replacing it.
Do not push commits while IA keys are set
Test ISOs manually first. IA credentials are set as repo secrets and will trigger an upload on push to master.
Profile structure
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
Building locally
export WORKSPACE_DIR="$PWD"
sudo -E ./buildiso -p antergos
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 Manjaro. We have Dustin’s blessing. We are respectful. We are not them. Move on.
Testing
Boot the resulting ISO in a VM. Verify:
- Wayland is the default display server (SDDM session is
plasma.desktop) - No “Install Artix Linux” entry in the app menu
- Wallpaper is set on first login
- Online mode: init selector + DE selector both work
- Slideshow renders correctly