From 20a78051d6ccc40ca83ced949dd277709692d1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82?= Date: Fri, 31 Jul 2026 21:41:17 +0200 Subject: [PATCH] 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 --- AGENTS.md | 2 +- docs/building.md | 4 +- docs/byode.md | 48 ++++++++++++++++++++++++ docs/ci.md | 21 +++++++---- docs/desktop-environments.md | 7 +--- docs/development.md | 14 ++++--- docs/index.md | 19 ++++++---- docs/installer.md | 20 +++++----- docs/launcher.md | 19 +++++----- docs/openrc.md | 2 +- docs/overlay-live.md | 73 ++++++++++++++++++++++-------------- docs/overlay-root.md | 43 +++++++++++++-------- docs/overlays.md | 17 +++++---- docs/packages.md | 53 ++++++++++++++++---------- docs/wallpapers.md | 18 ++++----- 15 files changed, 233 insertions(+), 127 deletions(-) create mode 100644 docs/byode.md diff --git a/AGENTS.md b/AGENTS.md index bf589af..54c89cb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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//` 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". diff --git a/docs/building.md b/docs/building.md index 6c3f977..d6ec555 100644 --- a/docs/building.md +++ b/docs/building.md @@ -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-`. Trigger CI manually from the GitHub Actions tab (push trigger is disabled). diff --git a/docs/byode.md b/docs/byode.md new file mode 100644 index 0000000..a659ef2 --- /dev/null +++ b/docs/byode.md @@ -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. diff --git a/docs/ci.md b/docs/ci.md index 4a1d72e..9342c9c 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -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-` (e.g. `antergos-next-20260711-162`) - **Credentials**: `IA_ACCESS_KEY` and `IA_SECRET_KEY` (repo secrets) -The `-` suffix guarantees unique identifiers across CI runs. If two pushes produce the same date, they still get different archive entries. +The `-` 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. diff --git a/docs/desktop-environments.md b/docs/desktop-environments.md index edfe382..a024c69 100644 --- a/docs/desktop-environments.md +++ b/docs/desktop-environments.md @@ -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. diff --git a/docs/development.md b/docs/development.md index ea26ba6..2695284 100644 --- a/docs/development.md +++ b/docs/development.md @@ -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 diff --git a/docs/index.md b/docs/index.md index 70c2359..a334246 100644 --- a/docs/index.md +++ b/docs/index.md @@ -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) | diff --git a/docs/installer.md b/docs/installer.md index 36cad4f..263f426 100644 --- a/docs/installer.md +++ b/docs/installer.md @@ -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 | diff --git a/docs/launcher.md b/docs/launcher.md index d597718..c37e18e 100644 --- a/docs/launcher.md +++ b/docs/launcher.md @@ -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/`. diff --git a/docs/openrc.md b/docs/openrc.md index effe22f..fde7f33 100644 --- a/docs/openrc.md +++ b/docs/openrc.md @@ -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 diff --git a/docs/overlay-live.md b/docs/overlay-live.md index cd87d7c..09ec7a8 100644 --- a/docs/overlay-live.md +++ b/docs/overlay-live.md @@ -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 +│ │ └── 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 +│ │ ├── packages.conf +│ │ ├── postcfg.conf +│ │ └── services-artix.conf │ ├── calamares-online/ -│ │ ├── settings.conf # Online install config (two packagechooser instances) -│ │ └── modules/ -│ │ ├── 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) +│ │ ├── 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 diff --git a/docs/overlay-root.md b/docs/overlay-root.md index 1762ff4..5a6aac4 100644 --- a/docs/overlay-root.md +++ b/docs/overlay-root.md @@ -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/ -│ ├── pacman.conf # Includes [antergos-pkgs] repo +│ ├── 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). diff --git a/docs/overlays.md b/docs/overlays.md index 6d12b87..ac99cb6 100644 --- a/docs/overlays.md +++ b/docs/overlays.md @@ -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 diff --git a/docs/packages.md b/docs/packages.md index c8c0636..94b3056 100644 --- a/docs/packages.md +++ b/docs/packages.md @@ -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`. diff --git a/docs/wallpapers.md b/docs/wallpapers.md index 4695ec6..f31f710 100644 --- a/docs/wallpapers.md +++ b/docs/wallpapers.md @@ -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.