Files
euri-iso/docs/development.md
T
c-ludenberg 9fe5174cc7 feat: add GitHub Pages docs site (Just the Docs), split packagechooser, disable IA upload
- docs/: new 13-page Jekyll site with Just the Docs theme
  - Home, Building, Installer, Packages, CI/CD, Development
  - Desktop Environments (with GNOME joke), Wallpapers, Launcher
  - Overlays, Root Overlay, Live Overlay
- .github/workflows/pages.yml: build & deploy docs from docs/ on
  push to master (only when docs/ changes)
- .github/workflows/build.yml: temporarily disable Internet Archive
  upload (if: false) until ISO is stable
- live-overlay/settings.conf: add instances section for init + desktop
  packagechooser instances
- live-overlay/modules/packagechooser_init.conf: init system selector
  (OpenRC, Runit, S6, Dinit) via netinstall-add method
- live-overlay/modules/packagechooser_desktop.conf: DE selector
  (Plasma, Xfce, Cinnamon, MATE, LXQt, i3, Sway, Hyprland + No Desktop)
  via legacy method
- README.md, AGENTS.md: fix sudo buildiso -> sudo ./buildiso, add note
  about system buildiso lacking --overwrite='*'
- .gitignore: add docs/_site/
2026-06-29 21:27:46 +02:00

3.1 KiB

title, layout, nav_order
title layout nav_order
Development default 6

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