docs: overhaul to match current repo reality (DE/DM selectors, SDDM pixie theme, overlays, offline installer, CI)

- index/installer/launcher: release facts, SDDM theme (pixie on master), init/DE selectors, NoExtract for Install Artix entry
- packages: branding pkg ships offline+online settings (no packagechooser.conf fallback), drop antergos-sddm-theme, correct repo index names
- overlays/overlay-root/overlay-live: root-overlay is live-session only, real file trees, symlinked settings.conf, commit reference
- desktop-environments/wallpapers: remove No Desktop option, video wallpaper via layan-theme + Smart Video Wallpaper Reborn
- ci/development/building: three workflows incl. ai-moderator, IA upload disabled (if:false)
- byode: new page documenting the SteamOS-inspired offline installer
- AGENTS.md/openrc: OpenRC was an installer-only dinit conflict; manual rc-update add works
This commit is contained in:
2026-07-31 21:41:17 +02:00
parent 1a78e9aa36
commit 20a78051d6
15 changed files with 233 additions and 127 deletions
+1 -1
View File
@@ -65,7 +65,7 @@ CI does this automatically. Forget this step and buildiso will try to fetch our
`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 NeXT uses **dinit** (via `INITSYS='dinit'` in `buildiso`). Runit and s6 are also available as user-selectable options in the online installer. **OpenRC is not an install-time option** — in earlier builds it conflicted with dinit during the installer flow (services didn't enable correctly). On an already-installed system, manual switching to OpenRC via `rc-update add` works fine (see `changing-init.md`). 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".
+3 -1
View File
@@ -122,7 +122,9 @@ Then rebuild.
## CI builds
The CI pipeline (`.github/workflows/build.yml`) handles all of the above automatically. It runs in an Artix container, sets `WORKSPACE_DIR`, overrides pacman config, mounts a 12 GB tmpfs, and uploads the resulting ISO to the Internet Archive.
The CI pipeline (`.github/workflows/build.yml`) handles all of the above automatically. It runs in an Artix container, sets `WORKSPACE_DIR`, overrides pacman config, mounts a 12 GB tmpfs, and builds the ISO. It also runs the AI community moderator on issues/PRs (`.github/workflows/ai-moderator.yml`).
An Internet Archive upload step exists in the workflow but is **currently disabled** (`if: false`) — builds are manually verified first. When enabled it uploads with identifier `antergos-next-YYYYMMDD-<run_number>`.
Trigger CI manually from the GitHub Actions tab (push trigger is disabled).
+48
View File
@@ -0,0 +1,48 @@
---
title: Offline Installer (BYODE)
layout: default
nav_order: 14
---
# Offline Installer (BYODE)
The offline installer (`/usr/local/bin/antergos-offline-install`) is a bare-minimum installer for situations where the Calamares online installer can't work — no internet, or you want a minimal base to build on. It is **experimental** and best-effort; the Calamares online installer remains the primary path.
The script is adapted from Valve's SteamOS `repair_device.sh` (the Zenity prompt and pretty-output helpers are lifted straight from there).
## What it does
1. Verifies it's running as root in a live Antergos NeXT session (checks for `/run/artix/bootmnt/LiveOS/rootfs.img`)
2. Warns that it installs **no desktop environment** — just the base system
3. Lets you pick a target disk via `lsblk` + Zenity, then partitions it:
- GPT table
- 512 MiB EFI partition
- 300 MiB swap
- Root partition filling the rest
4. Formats: `vfat` (ESP), `swap`, `btrfs` root
5. Creates btrfs subvolumes: `@`, `@home`, `@cache`, `@log`, `@snapshots`
6. Extracts the live rootfs (squashfs) to the target
7. Generates an fstab with `subvol=` mounts and `compress=zstd`
8. Chroots in: runs `mkinitcpio -P`, installs GRUB as `Antergos`, sets hostname
9. Prompts for a root password and a daily user (added to `wheel` + sudoers)
10. Enables services via `artix-service`: NetworkManager, dbus, acpid, bluetoothd, cronie, cupsd, dhcpcd, power-profiles-daemon, syslog-ng, userspawn
11. Configures **snapper** for automatic snapshots (6 hourly + 7 daily + 4 weekly, via cron jobs)
12. Unmounts, syncs, and offers to reboot
## After first boot
Since no desktop environment was installed, connect to the internet and run:
```bash
sudo pacman -Sy plasma-meta
```
or install any other DE you want.
## Caveats
- **Destroys all data** on the selected disk — confirmed via Zenity twice.
- No Calamares integration (no partitioner UI, no locale/keyboard/user pages).
- Package lists are baked into the live squashfs; there is no post-install package installation step, so the system matches the ISO's rootfs as of build time.
- Bootloader is GRUB only — no systemd-boot, no rEFInd.
- Still needs internet on first boot for anything beyond the base.
+13 -8
View File
@@ -6,11 +6,11 @@ nav_order: 7
# CI/CD Pipeline
Two GitHub Actions workflows:
Three GitHub Actions workflows:
## Build ISO (`build.yml`)
Triggers on **manual `workflow_dispatch`** only (push to master does NOT trigger a build). Runs in an `artixlinux/artixlinux:base` container.
Triggers on **manual `workflow_dispatch`** only (push to master does NOT trigger a build). Runs in an `artixlinux/artixlinux:base` container with `--privileged`.
### Steps
@@ -19,24 +19,29 @@ Triggers on **manual `workflow_dispatch`** only (push to master does NOT trigger
3. Override pacman config with `[antergos-pkgs]` repo (`pacman.conf.d/iso-x86_64.conf`)
4. Mount a 12 GB tmpfs at `/var/lib/artools/buildiso`
5. Run `./buildiso -p antergos`
6. Upload the ISO and checksum as build artifacts
6. Upload the ISO as a build artifact
### Internet Archive upload
Uploads the built ISO to the Internet Archive with:
The workflow includes an Internet Archive upload step, but it is **currently disabled** (`if: false`) — the maintainer is the only QA team and builds are manually verified first. When re-enabled it uploads with:
- **Collection**: `open_source_software` (Community Software, _not_ Community Texts)
- **Identifier**: `antergos-next-YYYYMMDD-<run_number>` (e.g. `antergos-next-20260711-162`)
- **Credentials**: `IA_ACCESS_KEY` and `IA_SECRET_KEY` (repo secrets)
The `-<run_number>` suffix guarantees unique identifiers across CI runs. If two pushes produce the same date, they still get different archive entries.
The `-<run_number>` suffix guarantees unique identifiers across CI runs.
### Secrets
| Secret | Purpose |
|--------|---------|
| `IA_ACCESS_KEY` | Internet Archive S3 access key |
| `IA_ACCESS_KEY` | Internet Archive S3 access key (for the disabled IA step) |
| `IA_SECRET_KEY` | Internet Archive S3 secret key |
| `GROQ_API_KEY` | Groq API key for the AI moderator |
## AI community moderator (`ai-moderator.yml`)
Triggers on issue open, issue/PR comment, discussion, and discussion comment. Uses the Groq API (`llama-3.1-8b-instant`) via `actions/github-script@v9` to check posts against the Code of Conduct and `CONTRIBUTING.md`. May warn, hide comments, or lock threads. See `ai-moderator.yml` for details.
## Deploy docs (`pages.yml`)
@@ -49,5 +54,5 @@ Separate workflow in the [antergos-packages](https://github.com/Antergos-NeXT/an
## Safety notes
- CI does NOT run on push — only manual dispatch. This prevents unintended ISO builds.
- Internet Archive upload uses a unique identifier per run, so re-running CI won't overwrite a previous release.
- Both `IA_ACCESS_KEY` and `IA_SECRET_KEY` must be set as repo secrets for the upload step to succeed.
- Internet Archive upload is disabled by default; when enabled it uses a unique identifier per run, so re-running CI won't overwrite a previous release.
- `GROQ_API_KEY` must be set as a repo secret for the AI moderator to function.
+2 -5
View File
@@ -80,13 +80,10 @@ Available desktops in online mode, sourced from Artix repos.
| **Repo** | galaxy |
| **Group** | `cosmic` |
| **Session** | `cosmic.desktop` |
| **Notes** | Rust-based, Wayland-native. Uses greetd + cosmic-greeter (not SDDM). Alpha quality, not for production. |
## No Desktop
Installs the base system only (TTY/login). Useful for servers or custom setups.
| **Notes** | Rust-based, Wayland-native. Uses greetd + cosmic-greeter (not SDDM). Alpha quality, not for production. Select `greetd` in the display-manager chooser — `cosmic-greeter` requires the `greetd` daemon. |
## Not available
- **Budgie** — not in any Artix repo (system, world, galaxy, lib32). Slideshow entries removed.
- **GNOME** — dropped non-systemd support upstream. Not available.
- **No Desktop** — a "no desktop / base only" option does not exist in the installer. Pick a DE from the list above.
+9 -5
View File
@@ -14,14 +14,16 @@ antergos-iso/
├── iso-profiles/
│ ├── antergos/
│ │ ├── profile.yaml # Packages, services (rootfs + livefs), compression
│ │ ├── root-overlay/ # Merged into squashfs rootfs → installed system
│ │ ├── root-overlay/ # Merged into rootfs → live session + offline install
│ │ └── live-overlay/ # Merged into live environment only
│ ├── antergos-minimal/ # Minimal profile (unmaintained)
│ └── common/
│ └── common.yaml # Shared base packages (kernel, firmware, filesystem)
├── pacman.conf.d/
│ └── iso-x86_64.conf # Pacman config for ISO build with [antergos-pkgs]
└── .github/workflows/
├── build.yml # ISO build + Internet Archive upload
├── build.yml # ISO build (IA upload step disabled)
├── ai-moderator.yml # Groq-powered community moderator
└── pages.yml # Docs deployment to GitHub Pages
```
@@ -93,13 +95,15 @@ Live-overlay files are copied via `cp -LR` in `make_livefs()`. Deleting a file f
Artix bundles the Wayland session into `plasma-workspace` itself. Do not add it to package lists.
### SDDM theme override
### SDDM theme
`kde_settings.conf` from KDE's SDDM KCM sets `Current=breeze`. To override this, the `antergos-sddm-theme` package ships a `theme.conf` at `/etc/sddm.conf.d/theme.conf`. SDDM reads config files in alphabetical order — since `theme.conf` sorts after `kde_settings.conf`, its `Current=antergos` wins. If you're adding a new override file, make sure it sorts after `kde_settings.conf`.
The installed system uses the **pixie** theme (`pixie-sddm-git`). The `antergos-layan-theme` package vendors its own `kde_settings.conf` at `/etc/sddm.conf.d/kde_settings.conf` with `Current=pixie` plus dinit halt/reboot commands — this overrides KDE's SDDM KCM setting. The live session deliberately uses `breeze` for autologin.
> The `antergos-sddm-theme` PKGBUILD still exists in `antergos-packages` but is **not built** (not in `packages.yaml`) and not used.
### Pipewire launcher on dinit
`artix-pipewire-launcher` detects the init system and only proceeds on supported ones. For dinit, the upstream script returns `SUPPORT=''` (unsupported). The forked version in `[antergos-pkgs]` patches this to `SUPPORT='YES'` for dinit. The XDG autostart entry (`pipewire.desktop` at `/etc/xdg/autostart/`) then starts pipewire on login.
`artix-pipewire-launcher` detects the init system and only proceeds on supported ones. For dinit, the upstream script returns `SUPPORT=''` (unsupported). The forked version in `[antergos-pkgs]` patches this to `dinit|runit|s6) SUPPORT='YES'`. The XDG autostart entry (`pipewire.desktop` at `/etc/xdg/autostart/`) then starts pipewire on login.
### File conflicts
+12 -7
View File
@@ -11,21 +11,25 @@ A community revival of Antergos for the post-systemd era — **Artix Linux** bas
## Download
[**Download the latest ISO**](https://github.com/Antergos-NeXT/antergos-iso/releases)
_Published to GitHub Releases. ISO also archived on the Internet Archive._
_Published to GitHub Releases. (The Internet Archive upload step in CI is currently disabled — see [CI](ci).)_
### First stable release — v2026.07.11
### Latest release — v2026.07.11
This is the first stable ISO. What works:
What works in the latest release:
- KDE Plasma 6 on Wayland (with SDDM)
- Full audio support on installed systems
- Custom SDDM theme (Antergos brand, not Breeze)
- Custom SDDM theme (not Breeze)
- Correct `/usr/lib/os-release` (shows "Antergos NeXT", not "Artix Linux")
- Choose your desktop (Plasma/Xfce/Cinnamon/MATE/LXQt/i3/Sway/Hyprland/COSMIC)
- GRUB with Antergos theme
- Custom Calamares slideshow
- Xlibre X server included
> Note: the current `master` branch moves the SDDM theme to `pixie` (`pixie-sddm-git`). The v2026.07.11 release used the older theme — see the [releases page](https://github.com/Antergos-NeXT/antergos-iso/releases) for per-release changes.
The offline bare-minimum installer is **experimental and best-effort** — the online Calamares flow is the supported path.
## Quick links
- [Building the ISO](building) — set up and build locally
@@ -39,15 +43,16 @@ This is the first stable ISO. What works:
- [Init Systems](init-systems) — Dinit, OpenRC, S6, Runit compared
- [Desktop Environments](desktop-environments) — available DEs in online mode
- [Wallpapers](wallpapers) — where they go, how they work
- [Offline Installer](byode) — the BYODE bare-minimum installer
## What changed from original Antergos
| Area | Original Antergos | Antergos NeXT |
|------|-------------------|---------------|
| Base | Arch Linux (systemd) | Artix Linux (Dinit / OpenRC / Runit / S6) |
| Default init | systemd | Dinit |
| Base | Arch Linux (systemd) | Artix Linux |
| Default init | systemd | Dinit (others via [changing-init](changing-init)) |
| Desktop | GNOME | KDE Plasma |
| Installer | Custom Cnchi | Calamares |
| Installer | Custom Cnchi | Calamares (online) + BYODE (offline) |
| Build system | archiso | artools (`buildiso`) |
| Display server | X11 | Wayland (X11 via Xlibre) |
+10 -10
View File
@@ -10,9 +10,9 @@ Antergos NeXT uses [Calamares](https://codeberg.org/calamares/calamares) as its
## Install mode
Online-only (since v2026.07.16). The so-called "Offline Install" was removed — it was never truly offline: the rootfs only contained live session essentials, and all DE packages were still downloaded via basestrap. All installs now use the full netinstall flow with desktop selection.
Online-only (since v2026.07.16). The so-called "Offline Install" was removed from Calamares — it was never truly offline: the rootfs only contained live session essentials, and all DE packages were still downloaded via basestrap. All Calamares installs now use the full netinstall flow with desktop selection.
A BYODE (Bring Your Own Desktop Environment) offline installer is still available for users who want a bare system installed from the ISO. See [BYODE](../byode).
A BYODE (Bring Your Own Desktop Environment) offline installer script is available on the live desktop for users who want a bare system installed from the ISO. See [BYODE](byode). It is experimental.
## Fixed issues
@@ -24,9 +24,9 @@ The upstream `artix-pipewire-launcher` doesn't support dinit. The XDG autostart
### SDDM theme showing Breeze
KDE's SDDM KCM writes a `kde_settings.conf` with `Current=breeze`. The Antergos theme never took effect in the live session.
KDE's SDDM KCM writes a `kde_settings.conf` with `Current=breeze`, and the old `antergos` theme entry didn't win.
**Fix**: The `antergos-sddm-theme` package now ships `theme.conf` at `/etc/sddm.conf.d/theme.conf` with `Current=antergos`. SDDM reads `conf.d` files alphabetically, so `theme.conf` (reads after `kde_settings.conf`) wins.
**Fix**: The installed system uses the **pixie** SDDM theme (`pixie-sddm-git`, Material Design 3). The `antergos-layan-theme` package vendors its own `kde_settings.conf` at `/etc/sddm.conf.d/kde_settings.conf` with `Current=pixie` (plus dinit halt/reboot commands). The live session uses the `breeze` theme for autologin — the pixie theme applies to the installed system after login.
### `/usr/lib/os-release` showing "Artix Linux"
@@ -43,7 +43,7 @@ The `filesystem` package from Artix owns `/usr/lib/os-release`. Our `antergos-re
## Init system
Antergos NeXT ships **Dinit** only. Other init systems (OpenRC, Runit, S6) are available in the Artix repos but are not offered as install-time options. See [Changing init on an installed system](changing-init) for instructions if you need a different init.
Antergos NeXT ships **Dinit** as the default and only install-time init. OpenRC, Runit, and S6 are available in the Artix repos and are supported — but they are not offered as install-time options; you switch after installation. See [Changing init on an installed system](changing-init) for instructions. Note that **OpenRC** is known to have issues with service enabling on installed systems; Runit and S6 switch cleanly.
## Desktop selector
@@ -61,12 +61,12 @@ The selector uses `method: netinstall-add` — the chosen DE's package group is
| Desktop | Repo | Type | Notes |
|---------|------|------|-------|
| **KDE Plasma** | world | Full DE | Default. Wayland + X11. Uses the `plasma` group with antergos-next-desktop-settings |
| **Xfce** | galaxy | Full DE | Lightweight. GTK-based. Uses `xfce4` group |
| **KDE Plasma** | world | Full DE | Default. Wayland + X11. Listed as individual packages in the active config; the reference copy in `calamares-online/modules/` uses the `plasma` meta-group + `antergos-next-desktop-settings` |
| **Xfce** | galaxy | Full DE | Lightweight. GTK-based. Individual packages; reference copy uses `xfce4` group |
| **Cinnamon** | galaxy | Full DE | Traditional layout. GNOME-based |
| **MATE** | galaxy | Full DE | GNOME 2 continuation. Uses `mate` + `mate-extra` |
| **LXQt** | galaxy | Full DE | Lightweight Qt desktop. Uses `lxqt` group |
| **i3** | world | Tiling WM | Keyboard-driven. Ships `i3` group (i3-wm, i3blocks, i3lock, i3status). Requires `antergos-i3-config` for a usable experience |
| **MATE** | galaxy | Full DE | GNOME 2 continuation. Individual packages; reference copy uses `mate` + `mate-extra` |
| **LXQt** | galaxy | Full DE | Lightweight Qt desktop. Individual packages; reference copy uses `lxqt` group |
| **i3** | world | Tiling WM | Keyboard-driven. Individual packages (i3-wm, i3blocks, i3lock, i3status). Requires `antergos-i3-config` for a usable experience |
| **Sway** | world | Tiling WM | i3-compatible Wayland compositor. Requires `antergos-sway-config` |
| **Hyprland** | world | Tiling WM | Dynamic Wayland compositor with eye candy. Requires `antergos-hyprland-config` |
| **COSMIC** | galaxy | Full DE | Rust-based desktop from System76. Alpha quality. Select **greetd** as display manager |
+10 -9
View File
@@ -15,15 +15,14 @@ The `calamares-next` script (`calamares-next.sh`) handles the installer boot flo
3. **Configuration** — copies `calamares-online/settings.conf` to `/etc/calamares/settings.conf` after removing any existing file (the removal is necessary to prevent `cp` from following symlinks)
4. **Launch** — runs `calamares -D8` with the online config; debug output is redirected to a log file at `~/antergos-install.log`
## Desktop entry
## Desktop entries
`/usr/share/applications/calamares.desktop` in the live-overlay launches with:
The live session ships two entries in `/usr/share/applications/`:
```
Exec=sudo -E calamares-next
```
- `calamares.desktop` — the branded "Install Antergos NeXT" entry, launching `Exec=sudo -E calamares-next`
- `antergos-offline-install.desktop` — "Install Antergos NeXT (Offline — NO DE)", launching the experimental `Exec=sudo -E antergos-offline-install` script
`sudo -E` preserves environment variables (`WAYLAND_DISPLAY`, `XDG_CURRENT_DESKTOP`, etc.) when launched from the SDDM session. Without it, Calamares may not detect the display server correctly.
Both use `sudo -E`, which preserves environment variables (`WAYLAND_DISPLAY`, `XDG_CURRENT_DESKTOP`, etc.) when launched from the SDDM session. Without it, Calamares may not detect the display server correctly. **Do not switch to `pkexec`** — it does not work in the live environment (tested and failed in previous releases).
## Module config resolution
@@ -63,15 +62,17 @@ During installation, the launcher polls for the existence of a pacman log file w
## Hiding "Install Artix"
The live-overlay includes `calamares-config-switcher.desktop` with `NoDisplay=true`. This hides the upstream Artix "Install Artix Linux" desktop entry while keeping the binary available for other uses.
The `calamares-extensions` package ships an "Install Artix Linux" desktop entry (`calamares-config-switcher.desktop`). It is excluded from the ISO via `NoExtract = usr/share/applications/calamares-config-switcher.desktop` in `pacman.conf.d/iso-x86_64.conf`, so pacman never extracts it during the build. Our branded `calamares.desktop` in the live-overlay is the only installer entry.
## Module configs
Configs live in `live-overlay/etc/calamares/modules/`:
Configs live in `live-overlay/etc/calamares/modules/` (overriding the copies installed by `calamares-branding-antergos-next`):
- `packagechooser_de.conf` — desktop environment selector using `method: netinstall-add`
- `packagechooser_dm.conf` — display manager selector using `method: netinstall-select`
- `initcpiocfg.conf` — mkinitcpio configuration
- `netinstall.yaml` / `netinstall.conf` — the netinstall package tree
- `services-artix.conf` — service enablement via `artix-service`
- `grubcfg.conf` — GRUB default configuration (`/etc/default/grub`)
- `bootloader.conf` — bootloader installation parameters
The remaining module configs (`initcpiocfg.conf`, `initcpio.conf`, `welcome.conf`, `basestrap.conf`, etc.) ship in the `calamares-branding-antergos-next` package under `/etc/calamares/modules/`.
+1 -1
View File
@@ -9,7 +9,7 @@ nav_order: 1
**OpenRC** is a traditional init system used by Gentoo, Artix Linux, Devuan, Alpine Linux, and other non-systemd distributions. It is well-established, actively maintained, and provides a balance of simplicity and feature completeness.
> **Note:** Earlier Antergos NeXT builds shipped OpenRC as an install-time option but it had issues with service enabling on installed systems. If you want to use OpenRC on Antergos NeXT, see [Changing init](changing-init) for manual setup instructions.
> **Note:** Earlier Antergos NeXT builds shipped OpenRC as an install-time option, but it conflicted with dinit during the installer flow (services didn't enable correctly). OpenRC is no longer an install-time option. On an already-installed system, manual switching via `rc-update add` works fine — see [Changing init](changing-init).
## Comparison with systemd
+43 -28
View File
@@ -15,44 +15,60 @@ Files in `iso-profiles/antergos/live-overlay/` exist only in the live environmen
live-overlay/
├── etc/
│ ├── calamares/
│ │ └── settings.conf # Replaced at runtime by online config
├── calamares-online/
│ │ ├── settings.conf # Online install config (two packagechooser instances)
│ │ └── modules/
│ │ └── modules/ # Active runtime module configs
│ ├── basestrap.conf # Package installation (operations incl. antergos-release)
│ │ ├── bootloader.conf
│ │ ├── displaymanager.conf # DM selector backend
│ │ ├── finished.conf
│ │ ├── grubcfg.conf
│ │ ├── machineid.conf
│ │ ├── netinstall.conf / netinstall.yaml
│ │ ├── packagechooser_de.conf # Desktop environment selector
│ │ ├── packagechooser_dm.conf # Display manager selector
│ │ ├── initcpiocfg.conf
│ │ ├── initcpio.conf
│ │ ── locale.conf
│ ├── mount.conf
│ │ ├── partition.conf
│ │ ├── umount.conf
│ │ ├── users.conf
│ │ ── welcome.conf
└── sddm.conf.d/
│ └── kde_settings.conf # SDDM autologin + Wayland session
└── usr/
── share/
└── applications/
├── calamares.desktop # Branded launcher
└── calamares-config-switcher.desktop # Hidden (NoDisplay=true)
│ │ ├── packages.conf
│ │ ├── postcfg.conf
│ │ ── services-artix.conf
├── calamares-online/
│ │ ├── settings.conf # Online install sequence
│ │ └── modules/ # Online flow modules (reference + extra)
│ │ ├── packagechooser_de.conf / packagechooser_dm.conf
│ │ ── initcpio.conf / locale.conf / mount.conf / partition.conf
│ ├── umount.conf / users.conf / welcome.conf
│ └── ... (mirrors the active set)
│ ├── elogind/{logind.conf,sleep.conf}
── fstab / hostname / hosts
│ ├── issue / issue.live / os-release
│ ├── pam.d/su
│ ├── polkit-1/rules.d/90-live.rules # Live-session polkit bypass
│ ├── sddm.conf.d/
│ │ └── kde_settings.conf # SDDM autologin + Wayland session
│ ├── skel/Desktop/
│ │ ├── calamares.desktop # Install launcher on the desktop
│ │ └── antergos-offline-install.desktop
│ ├── sudoers.d/{g_wheel,u_root}
│ └── syslog-ng/syslog-ng.conf
├── usr/
│ ├── bin/systemd-machine-id-setup
│ ├── lib/calamares/modules/ # Custom calamares modules (basestrap, packages)
│ ├── local/bin/antergos-offline-install
│ └── share/applications/
│ ├── calamares.desktop # Branded launcher
│ └── antergos-offline-install.desktop
```
## Key files
### `etc/calamares/settings.conf`
Placeholder — replaced at runtime by `calamares-next.sh` which copies the online settings file.
### `etc/calamares-online/settings.conf`
Defines two `packagechooser` instances:
The online install sequence. Defines two `packagechooser` instances:
- `packagechooser@de` — desktop environment selector using `method: netinstall-add`. Writes the selected DE's package group to the `netinstallAdd` global storage key. The DE group is dynamically appended to the netinstall tree when the netinstall module loads.
- `packagechooser@dm` — display manager selector using `method: netinstall-select`. Marks the chosen DM group as checked in the netinstall tree.
The `modules-search: [ local ]` directive resolves module configs from the same directory as the settings file (`/etc/calamares/modules/`).
> There is **no** `settings.conf` at `etc/calamares/` in this overlay. The `/etc/calamares/settings.conf` on a live system is a symlink installed by the `calamares-branding-antergos-next` package (`ln -sf ../calamares-offline/settings.conf`), and `calamares-next.sh` swaps it to the online config at runtime.
### `etc/calamares/modules/` vs `etc/calamares-online/modules/`
- `calamares/modules/` — active module configs at runtime. The settings file resolves modules from this directory after being copied to `/etc/calamares/`.
@@ -69,7 +85,6 @@ Additional modules required for the online install flow:
| File | Purpose |
|------|---------|
| `initcpio.conf` | mkinitcpio generation |
| `initcpiocfg.conf` | mkinitcpio configuration |
| `locale.conf` | Locale and timezone |
| `mount.conf` | Filesystem mounting |
| `partition.conf` | Disk partitioning |
@@ -77,9 +92,9 @@ Additional modules required for the online install flow:
| `users.conf` | User creation |
| `welcome.conf` | Welcome page |
### `usr/share/applications/calamares-config-switcher.desktop`
### `usr/share/applications/calamares.desktop`
Has `NoDisplay=true` to hide it from the app menu. The upstream Artix "Install Artix Linux" entry is suppressed this way while keeping the binary available.
The branded "Install Antergos NeXT" launcher (plus `antergos-offline-install.desktop` for the offline installer). Both run with `sudo -E`. The upstream Artix "Install Artix Linux" entry is hidden via `NoExtract` in `pacman.conf.d/iso-x86_64.conf` (see [Launcher](launcher)).
## Module configs removed
@@ -88,7 +103,7 @@ The following files were removed during the transition away from the init system
- `packagechooser.conf` — the old init system selector (dinit/openrc/runit/s6). Replaced by `packagechooser_de.conf` (DE selector).
- `images/` — SVG icons for init systems (dinit.svg, openrc.svg, runit.svg, s6.svg). No longer needed.
These changes were made in the v2026.07.24 release cycle.
These files were removed in commit `6ec25cc` (2026-07-24) when the DE selector landed.
## DE selector package lists
+27 -14
View File
@@ -7,42 +7,55 @@ nav_order: 1
# Root Overlay
Files in `iso-profiles/antergos/root-overlay/` are merged into the root squashfs and become part of the installed system.
Files in `iso-profiles/antergos/root-overlay/` are merged into the live rootfs — the filesystem the ISO boots. root-overlay settings (os-release, issue, SDDM config, wallpapers) therefore apply to the live session too.
> **Important:** The Calamares online install does **not** copy root-overlay files to the installed system. The installed system is built fresh from packages via `basestrap`. Anything you want on installed systems must ship as a package (e.g. `antergos-release` for os-release, `antergos-layan-theme` for the SDDM theme), not live in root-overlay.
## Contents
```
root-overlay/
├── etc/
│ ├── default/
│ │ └── grub # GRUB default options
│ ├── issue / issue.live # Login banners
│ ├── lsb-release # LSB metadata
│ ├── os-release # "Antergos NeXT" in the live session
│ ├── pacman.conf # Includes [antergos-pkgs] repo
│ ├── sddm.conf # SDDM general config (Wayland compositor, theme dirs)
│ ├── sddm.conf.d/
│ │ └── kde_settings.conf # SDDM theme + Wayland session
── skel/
── .config/
└── autostart/
└── antergos-wallpaper.desktop # One-shot wallpaper setter
│ │ └── kde_settings.conf # SDDM autologin + theme (live only)
── skel/.config/autostart/
── antergos-wallpaper.desktop # First-login wallpaper setter
└── pipewire.desktop # PipeWire autostart
└── xdg/autostart/
│ └── antergos-wallpaper.desktop # System-wide wallpaper autostart
├── usr/
── local/
└── bin/
└── set-antergos-wallpaper.sh # Wallpaper script
── bin/systemd-machine-id-setup # Keeps live machine-id stable
├── lib/os-release # Mirrors etc/os-release
├── local/bin/set-antergos-wallpaper.sh
│ └── share/
│ ├── icons/hicolor/{128x128,256x256}/apps/antergos-logo.png
│ ├── pixmaps/antergos-logo.png
│ └── plasma/wallpapers/org.kde.image/contents/config/main.xml
```
## Key files
### `etc/pacman.conf`
Adds the `[antergos-pkgs]` custom repo so installed systems can receive updates from our package repository. The `SigLevel = Optional TrustAll` is needed because our packages are not signed with official Artix keys.
Adds the `[antergos-pkgs]` custom repo so the live session can install our packages during the Calamares online install. `SigLevel = Optional TrustAll` is needed because our packages are not signed with official Artix keys.
### `etc/sddm.conf.d/kde_settings.conf`
Sets the SDDM session to `plasma.desktop` (Wayland) by default. Also controls the SDDM theme — see the note below.
Sets the live session to **autologin as user `antergos`** with `Session=plasma.desktop` (Wayland). Also sets `HaltCommand`/`RebootCommand` to loginctl (dinit-compatible) and the theme to `Current=antergos` (the bundled Antergos theme).
> **Note:** The SDDM theme is set to `Current=antergos` in this file. However, KDE's SDDM KCM may overwrite this file on first login to `Current=breeze`. To ensure the Antergos theme persists, the `antergos-sddm-theme` package ships a `theme.conf` that sorts after `kde_settings.conf` alphabetically, so its `Current=antergos` always wins.
> This file only affects the **live session**. On installed systems the `antergos-layan-theme` package owns `kde_settings.conf` with `Current=pixie` — see [Installer — SDDM theme](installer).
### `etc/skel/.config/autostart/antergos-wallpaper.desktop`
Runs the wallpaper setter on first login. Uses `X-KDE-autostart-phase=2` to run after Plasma has initialized. This is necessary because Plasma overwrites the wallpaper config from `/etc/skel/` on first login.
Runs the wallpaper setter on first login. Uses `X-KDE-autostart-phase=2` so it runs after Plasma has initialized necessary because Plasma overwrites the wallpaper config from `/etc/skel/` on first login. A matching copy lives at `etc/xdg/autostart/` for system-wide autostart.
### `usr/local/bin/set-antergos-wallpaper.sh`
Applies the wallpaper via `plasma-apply-wallpaperimage` and creates `~/.config/antergos-wallpaper-set` marker to prevent re-running on subsequent logins.
Configures the **Smart Video Wallpaper Reborn** Plasma plugin (`luisbocanegra.smart.video.wallpaper.reborn`) via `qdbus6` to play `/usr/share/backgrounds/antergos/antergos-wallpaper.mp4` muted, then writes `~/.config/antergos-wallpaper-set` as a marker so it only runs once. See [Wallpapers](wallpapers).
+9 -8
View File
@@ -12,14 +12,15 @@ Two directories under `iso-profiles/antergos/` control what goes into the ISO:
```
iso-profiles/antergos/
├── profile.yaml # Package lists, services, compression
├── root-overlay/ # → rootfs (squashfs) — becomes part of installed system
└── live-overlay/ # → live environment only — not present after installation
├── root-overlay/ # → live rootfs — config for the live session
└── live-overlay/ # → live environment — installer configs and tools
```
## How overlays work
- **root-overlay** files are merged into the root squashfs. Everything in here becomes part of the installed system — settings, wallpapers, autostart entries.
- **live-overlay** files are copied into the live environment only. They exist in the live session but are **not** present after installation. Calamares configs, the launcher desktop entry, and init-related configs live here.
- **root-overlay** files are merged into the live rootfs — the filesystem the ISO boots. Settings here (os-release, SDDM, wallpapers) affect the live session.
- **live-overlay** files are merged into the live environment on top. Calamares configs, the launcher desktop entries, and live-only tools live here.
- **Neither is copied to the installed system.** The Calamares online install builds the target system fresh from packages via `basestrap`. Persistent configuration must ship as a package (`antergos-release`, `antergos-layan-theme`, etc.).
- Overlays are **self-contained** (no symlinks to external directories) so the repo builds standalone.
## Important: overlay behavior
@@ -27,10 +28,10 @@ iso-profiles/antergos/
Live-overlay files are **copied** via `cp -LR` in `make_livefs()`, not overlay-mounted. This means:
- You **cannot** hide a file from a package by placing an empty file in live-overlay — the package version still exists underneath
- To hide a desktop entry, use `NoDisplay=true` in the `.desktop` file
- To replace a file, your live-overlay version wins during copy
- To hide a desktop entry shipped by a package, use `NoExtract` in `pacman.conf.d/iso-x86_64.conf` (this is how the Artix "Install Artix Linux" entry is suppressed)
- To replace a file, your overlay version wins during copy
## Related pages
- [Root Overlay](overlay-root) — persistent system config, wallpapers, skel
- [Live Overlay](overlay-live) — installer configs, launcher, SDDM session
- [Root Overlay](overlay-root) — live rootfs config, SDDM, wallpapers
- [Live Overlay](overlay-live) — installer configs, launcher, offline installer
+34 -19
View File
@@ -18,16 +18,36 @@ Server = https://antergos-next.github.io/antergos-packages
## Package list
Built and published in this order (from `packages.yaml` in `antergos-packages`):
| Package | Purpose |
|---------|---------|
| `calamares` | Built with `packagechooser` module enabled; `dracut`/`initramfs` modules skipped |
| `calamares-branding-antergos-next` | Branding: slideshow, `branding.desc`, launcher script (`calamares-next.sh`), packagechooser configs, initcpio configs |
| `antergos-wallpapers` | Default wallpapers for KDE and other DEs |
| `linux-next` | Custom kernel based on `linux-artix` |
| `winver` | "About Antergos NeXT" dialog (KF6 + Qt6) |
| `pipewire` (forked) | Patched `artix-pipewire-launcher` for dinit support + XDG autostart entry |
| `antergos-sddm-theme` | SDDM theme files + `theme.conf` override for `kde_settings.conf` |
| `antergos-lsb-release` | LSB release identification |
| `antergos-next-desktop-settings` | Default desktop settings for the live session |
| `antergos-next-keyring` | GPG keyring for the `[antergos-pkgs]` repo |
| `antergos-next-mirrorlist` | Mirror list for `[antergos-pkgs]` |
| `antergos-release` | `/usr/lib/os-release` with "Antergos NeXT" identification |
| `pixie-sddm-git` | Material Design 3 SDDM theme (from AUR) |
| `antergos-wallpapers` | Default wallpapers for KDE and other DEs |
| `antergos-plasma-theme` | Plasma theme / start-here icons |
| `antergos-welcome` | "About Antergos NeXT" welcome app (KF6 + Qt6) |
| `antergos-grub-theme` | GRUB boot theme |
| `antergos-live` | Live session meta package (per-init: `antergos-live-dinit`, `antergos-live-openrc`) |
| `pipewire` (forked) | Patched `artix-pipewire-launcher` for dinit support + XDG autostart entry |
| `calamares` | Built with `packagechooser` module enabled |
| `calamares-branding-antergos-next` | Branding: slideshow, `branding.desc`, launcher script, packagechooser configs |
| `calamares-branding-antergos-next-minimal` | Minimal branding variant |
| `antergos-xfce-theme` | Xfce theme |
| `downgrade` | AUR package (downgrade helper) |
| `yay` | AUR helper |
| `antergos-layan-theme` | Layan theme suite: KDE configs, Kvantum, SDDM theme, plasmoids, video wallpaper |
| `tela-circle-icon-theme-git` | Icon theme (from AUR) |
| `kwin-zones` | KWin window tiling zones |
| `oh-my-posh-bin` | Shell prompt (from AUR) |
| `pacseek` | Package search GUI (from AUR) |
| `antergos-i3-config` | i3 configuration |
| `antergos-sway-config` | Sway configuration |
| `antergos-hyprland-config` | Hyprland configuration |
## PKGBUILD notes
@@ -38,21 +58,16 @@ Server = https://antergos-next.github.io/antergos-packages
### calamares-branding-antergos-next
- Ships `calamares-next.sh`the launcher script that presents the mode picker and manages config switching
- `packagechooser.conf` provides a DM-only fallback for standalone use
- Ships `calamares-next.sh`installed as `/usr/bin/calamares-next`, the online installer launcher
- Ships both settings files: `/etc/calamares-offline/settings.conf` and `/etc/calamares-online/settings.conf`. `/etc/calamares/settings.conf` is a symlink to the offline one by default; the launcher's `SetConfig()` replaces it with the online config at runtime
- Ships module configs to `/etc/calamares/modules/`: `unpackfs.conf`, `initcpiocfg.conf`, `initcpio.conf`, `netinstall.conf`, `netinstall.yaml`, `packagechooser_de.conf`, `packagechooser_dm.conf`, `welcome.conf`
- Also overwrites `/usr/share/calamares/branding/default/` so the Artix default branding can't sneak in
- `SetConfig()` must `rm -f` the symlink at `/etc/calamares/settings.conf` before copying, otherwise `cp` follows the symlink and overwrites the wrong file
### pipewire (forked)
- Ships `pipewire.desktop` at `/etc/xdg/autostart/` so both offline and online installs get the XDG autostart entry
- Patches `artix-pipewire-launcher`: changes `dinit|openrc) SUPPORT=''` to `dinit|runit|s6) SUPPORT='YES'`. Without this, the launcher silently exits on dinit systems and pipewire never starts.
- Also modifies `dinit|runit|s6) SUPPORT='YES'` line handling to include dinit in the regex
### antergos-sddm-theme
- Ships `theme.conf` at `/etc/sddm.conf.d/theme.conf` with `[Theme]\nCurrent=antergos`
- SDDM reads `conf.d` files in alphabetical order. Since `theme.conf` sorts after `kde_settings.conf` (from KDE's SDDM KCM), its `Current=antergos` wins
- The theme directory must be named to match `componentName` in the theme descriptor (`antergos`)
- Ships `pipewire.desktop` at `/etc/xdg/autostart/` so installed systems get the XDG autostart entry
- Patches `artix-pipewire-launcher`: sets `dinit|runit|s6) SUPPORT='YES'` (upstream only supported `openrc`/`systemd`). Without this, the launcher silently exits on dinit systems and pipewire never starts.
### antergos-wallpapers
@@ -69,4 +84,4 @@ Server = https://antergos-next.github.io/antergos-packages
## Build system
Packages are built and published via CI in the `antergos-packages` repo. Build order is defined in `packages.yaml`. AUR packages (`yay`, `downgrade`) are included with retry logic for transient clone failures. The package index (`index.db`, `index.files`) is generated with timestamps in Europe/Berlin timezone.
Packages are built and published via CI in the `antergos-packages` repo. Build order is defined in `packages.yaml`. AUR packages (`yay`, `downgrade`, `pixie-sddm-git`, etc.) are included with retry logic for transient clone failures. The repo index is generated as `antergos-pkgs.db` / `antergos-pkgs.files` under `antergos-pkgs/os/x86_64/` and published to GitHub Pages, served by `repo-add`.
+9 -9
View File
@@ -6,13 +6,12 @@ nav_order: 13
# Wallpapers
The `antergos-wallpapers` package provides default wallpapers for the live session and installed system.
The live session and installed system use a **video wallpaper**`/usr/share/backgrounds/antergos/antergos-wallpaper.mp4` — played by the **Smart Video Wallpaper Reborn** Plasma plugin.
## Current wallpaper
The video ships from the **`antergos-layan-theme`** package (`depends=('kvantum' 'yakuake' 'antergos-wallpapers' 'mpv')`). The same package installs the Smart Video Wallpaper Reborn plugin into the user's `~/.local/share/plasma/wallpapers/` from its `Configs/Home/` tree.
**antergos-wallpaper.png** — the original Antergos wallpaper, sourced from the [Antergos/wallpapers](https://github.com/Antergos/wallpapers) repo. GPL-3.0.
Also ships:
The `antergos-wallpapers` package provides the still images:
- **antergos-wallpaper.png** — the original Antergos wallpaper, sourced from the [Antergos/wallpapers](https://github.com/Antergos/wallpapers) repo. GPL-3.0.
- **adwaita-morning.webp** — GNOME Adwaita Morning (7680×4320, CC BY-SA 3.0 by Jakub Steiner)
- **antergos-darkest-hour.jpg** — KDE Plasma variant (GPL-2+)
@@ -20,9 +19,10 @@ Also ships:
| Path | Purpose |
|------|---------|
| `/usr/share/wallpapers/antergos-wallpaper/contents/images/` | KDE wallpaper picker (reads from here) |
| `/usr/share/backgrounds/antergos/` | Other DEs / fallback |
| `/usr/share/backgrounds/antergos/` | Default wallpaper location + video wallpaper |
| `/usr/share/wallpapers/antergos-wallpaper/contents/images/` | KDE wallpaper picker (still images) |
| `/usr/share/antergos/backgrounds/` | Legacy path |
| `/usr/share/icons/hicolor/*/apps/antergos-logo.png` | App icon |
The KDE plugin names are `antergos-wallpaper` and `antergos-darkest-hour`, each with their own `metadata.desktop`.
@@ -30,8 +30,8 @@ The KDE plugin names are `antergos-wallpaper` and `antergos-darkest-hour`, each
Plasma overwrites `/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc` on first login, so putting the wallpaper in skel doesn't work. Instead, a one-shot autostart script handles it:
1. `/usr/local/bin/set-antergos-wallpaper.sh`runs `plasma-apply-wallpaperimage`, creates marker file `~/.config/antergos-wallpaper-set`
2. `~/.config/autostart/antergos-wallpaper.desktop` (from skel) — calls the script with `X-KDE-autostart-phase=2`
1. `/usr/local/bin/set-antergos-wallpaper.sh`configures the Smart Video Wallpaper Reborn plugin (`luisbocanegra.smart.video.wallpaper.reborn`) via `qdbus6`, pointing it at `/usr/share/backgrounds/antergos/antergos-wallpaper.mp4` muted, then creates the marker file `~/.config/antergos-wallpaper-set`
2. `~/.config/autostart/antergos-wallpaper.desktop` (from skel, plus a copy in `/etc/xdg/autostart/`) — calls the script with `X-KDE-autostart-phase=2`
The marker file prevents the script from running on subsequent logins.