docs: rework all pages to Artix Wiki quality
- index.md: add download link + stable release announcement - building.md: add troubleshooting section (cache, squashfs, compression) - ci.md: IA upload enabled, push trigger removed (manual dispatch only) - development.md: add all gotchas from AGENTS.md (SDDM theme ordering, pipewire launcher, antergos-release in basestrap, CI changes) - installer.md: document fixed issues (audio, SDDM, os-release) - packages.md: add pipewire fork, antergos-sddm-theme, antergos-release - launcher.md: expand with module configs - init-systems.md: Chimera uses dinit, OpenRC marked as broken - openrc.md: add broken warning banner - wallpapers.md: default is antergos-wallpaper.png (not Adwaita Morning) - overlays: clean up explanations and symlink behavior - desktop-environments.md: add Discover note, clean up GNOME entry - dinit.md, runit.md, s6.md: polish and add troubleshooting sections
This commit is contained in:
@@ -21,7 +21,7 @@ git config commit.gpgsign true
|
||||
Then commit with `git commit -S -m "message"`. If GPG prompts for a passphrase, pray to the build gods and provide it. An unsigned commit is a mortal sin.
|
||||
|
||||
## The Crusade
|
||||
- **Artix Linux** ISO (OpenRC init), forked from EndeavourOS-ISO, then migrated to artools after 15 days in a vent shaft
|
||||
- **Artix Linux** ISO (dinit default), forked from EndeavourOS-ISO, then migrated to artools after 15 days in a vent shaft
|
||||
- **KDE Plasma** live environment with Calamares installer (offline + online modes)
|
||||
- **Build command**: `export WORKSPACE_DIR="$PWD" && sudo -E ./buildiso -p antergos` — **use `./buildiso`**, NOT `buildiso`; the system Artix `/usr/bin/buildiso` lacks `--overwrite='*'` and will fail with file conflicts; `sudo -E` is required to preserve `WORKSPACE_DIR` environment variable
|
||||
- ISO appears in `/var/lib/artools/buildiso/iso/antergos/` (assuming the build gods are pleased)
|
||||
@@ -63,7 +63,20 @@ 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`). OpenRC, runit, and s6 are still available as user-selectable options in the online installer. 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 broken** (services don't enable correctly on installed systems). See `common.yaml` and `profile.yaml` for per-init package lists.
|
||||
|
||||
### `antergos-release` in basestrap.conf operations
|
||||
The `filesystem` package owns `/usr/lib/os-release` with "Artix Linux". To get "Antergos NeXT" in os-release, `antergos-release` must be in the `operations` list in `basestrap.conf`. This ensures it's installed during bootstrapping with `--overwrite`. Missing it → installed system shows "Artix Linux".
|
||||
|
||||
### SDDM theme ordering
|
||||
`kde_settings.conf` from KDE's SDDM KCM sets `Current=breeze`. The `antergos-sddm-theme` package ships `theme.conf` at `/etc/sddm.conf.d/theme.conf`. SDDM reads `conf.d` files alphabetically — `theme.conf` sorts after `kde_settings.conf`, so its `Current=antergos` wins.
|
||||
|
||||
### pipewire launcher patching for dinit
|
||||
`artix-pipewire-launcher` detects the init system. Upstream sets `dinit|openrc) SUPPORT=''`. The forked package changes this to `dinit|runit|s6) SUPPORT='YES'`. The package also ships `pipewire.desktop` at `/etc/xdg/autostart/` so online installs get the XDG autostart entry.
|
||||
|
||||
### CI: manual dispatch only, IA upload enabled
|
||||
`build.yml` only runs on `workflow_dispatch` (push trigger removed). Internet Archive upload is enabled with unique identifier format `antergos-next-YYYYMMDD-<run_number>`.
|
||||
|
||||
|
||||
## Repo Structure
|
||||
|
||||
@@ -79,6 +92,8 @@ antergos-iso/
|
||||
│ └── common.yaml # Shared base packages
|
||||
├── pacman.conf.d/
|
||||
│ └── iso-x86_64.conf # Pacman config for ISO build
|
||||
├── docs/ # Jekyll site (Just the Docs), deployed to GitHub Pages
|
||||
│ └── *.md # All docs reworked to Artix Wiki quality
|
||||
├── .github/workflows/build.yml # CI: builds ISO, uploads to Internet Archive
|
||||
└── AGENTS.md # You are here
|
||||
```
|
||||
|
||||
+84
-7
@@ -6,7 +6,7 @@ nav_order: 2
|
||||
|
||||
# Building the ISO
|
||||
|
||||
Requires an **Artix-based** system with `artools` and `squashfs-tools`.
|
||||
The ISO is built with `buildiso` (from Artix `artools` package) plus a customized profile. You need an **Artix-based** system to build.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -15,6 +15,8 @@ pacman -S artools squashfs-tools
|
||||
modprobe loop
|
||||
```
|
||||
|
||||
`squashfs-tools` is needed for `mksquashfs`. The `loop` module must be loaded for `mount -o loop` during image assembly.
|
||||
|
||||
## Clone and configure
|
||||
|
||||
```bash
|
||||
@@ -28,30 +30,105 @@ mkdir -p ~/.config/artools/pacman.conf.d
|
||||
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
|
||||
```
|
||||
|
||||
Without this override, `buildiso` uses `/usr/share/artools/pacman.conf.d/iso-x86_64.conf` (from the artools package), which lacks the `[antergos-pkgs]` repository. The build will then try to fetch our custom packages (branding, Calamares config, wallpapers) from Artix repos and fail.
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
sudo -E ./buildiso -p antergos
|
||||
```
|
||||
|
||||
> **⚠️ Use `./buildiso`, not `buildiso`.** The Artix system `/usr/bin/buildiso` lacks the `--overwrite='*'` flag, causing file conflicts between `calamares` and `calamares-branding-antergos-next` (both claim `/usr/share/calamares/branding/default/`). Our repo's `./buildiso` has it.
|
||||
- **Use `./buildiso`**, not `buildiso`. The system `/usr/bin/buildiso` lacks `--overwrite='*'`, which causes file conflicts between `calamares` and `calamares-branding-antergos-next` (both claim `/usr/share/calamares/branding/default/`). Our repo's `./buildiso` has it.
|
||||
- **`sudo -E`** is required. Without `-E`, `WORKSPACE_DIR` is stripped and `load_profile()` returns empty `HAS_LIVE`/`LIVEUSER`, causing the build to fail early.
|
||||
|
||||
## Output
|
||||
|
||||
The ISO appears in `/var/lib/artools/buildiso/iso/antergos/`.
|
||||
The ISO appears in `/var/lib/artools/buildiso/iso/antergos/`:
|
||||
|
||||
First build pulls ~5 GB from the internet. Subsequent builds use pacman cache. Go make a coffee. Or two. Maybe three.
|
||||
```
|
||||
/var/lib/artools/buildiso/iso/antergos/
|
||||
├── antergos-<date>.iso # Bootable ISO
|
||||
└── antergos-<date>.sha1sum # Checksum
|
||||
```
|
||||
|
||||
First build pulls ~5 GB from the internet (package downloads). Subsequent builds use pacman cache.
|
||||
|
||||
## Environment variables
|
||||
|
||||
| Variable | Purpose |
|
||||
|----------|---------|
|
||||
| `WORKSPACE_DIR` | Must point to repo root. `buildiso` looks for profiles under `$WORKSPACE_DIR/iso-profiles/` |
|
||||
| `COMPRESSION` | Squashfs compression type (e.g. `zstd`). If unset, `mksquashfs` fails silently with a zero-size image |
|
||||
| `COMPRESSION` | Squashfs compression type (e.g. `zstd`, `gzip`, `xz`). If unset, `mksquashfs` produces a zero-size sparse file instead of a valid squashfs |
|
||||
|
||||
## Custom packages repo
|
||||
## Troubleshooting
|
||||
|
||||
The ISO pulls branding, Calamares config, and wallpapers from our custom repo. To use it on your system:
|
||||
### "File conflict" errors during build
|
||||
|
||||
This means `--overwrite='*'` is not being passed to `basestrap`. Make sure you're using the repo's `./buildiso`, not the system one:
|
||||
|
||||
```bash
|
||||
# Wrong — system buildiso without --overwrite:
|
||||
buildiso -p antergos
|
||||
|
||||
# Correct:
|
||||
./buildiso -p antergos
|
||||
```
|
||||
|
||||
### Build fails with "HAS_LIVE is empty"
|
||||
|
||||
Forgetting `sudo -E`:
|
||||
|
||||
```bash
|
||||
# Wrong — WORKSPACE_DIR not preserved:
|
||||
sudo ./buildiso -p antergos
|
||||
|
||||
# Correct:
|
||||
sudo -E ./buildiso -p antergos
|
||||
```
|
||||
|
||||
### buildiso can't find our custom repo
|
||||
|
||||
The pacman config override is missing:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.config/artools/pacman.conf.d
|
||||
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
|
||||
```
|
||||
|
||||
### Zero-size squashfs (ISO exists but is tiny)
|
||||
|
||||
`$COMPRESSION` is unset. Either set it in `profile.yaml` or pass it via environment:
|
||||
|
||||
```bash
|
||||
export COMPRESSION=zstd
|
||||
sudo -E ./buildiso -p antergos
|
||||
```
|
||||
|
||||
Remove the stale image before retrying:
|
||||
|
||||
```bash
|
||||
rm -rf /var/lib/artools/buildiso/iso/antergos/
|
||||
```
|
||||
|
||||
### Corrupted pacman cache
|
||||
|
||||
If `basestrap` fails with checksum errors, clear the cache:
|
||||
|
||||
```bash
|
||||
rm -rf /var/lib/artools/buildiso/pkg/antergos/cache/
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
Trigger CI manually from the GitHub Actions tab (push trigger is disabled).
|
||||
|
||||
## Local pacman repo
|
||||
|
||||
To use the custom packages repo on an installed system:
|
||||
|
||||
```ini
|
||||
[antergos-pkgs]
|
||||
|
||||
+19
-9
@@ -10,22 +10,26 @@ Two GitHub Actions workflows:
|
||||
|
||||
## Build ISO (`build.yml`)
|
||||
|
||||
Triggers on push/PR to `master`. 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.
|
||||
|
||||
### Steps
|
||||
|
||||
Steps:
|
||||
1. Install dependencies (artools, squashfs-tools, git, sudo, python)
|
||||
2. Set `WORKSPACE_DIR` to the checkout path
|
||||
3. Override pacman config with `[antergos-pkgs]` repo
|
||||
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 directory as a build artifact
|
||||
6. Upload the ISO and checksum as build artifacts
|
||||
|
||||
### Internet Archive upload
|
||||
|
||||
Currently **disabled** (`if: false`) until ISO is stable. When enabled, uploads the built ISO to the Internet Archive with metadata:
|
||||
Uploads the built ISO to the Internet Archive with:
|
||||
|
||||
- Collection: `open_source_software`
|
||||
- Access keys: `IA_ACCESS_KEY`, `IA_SECRET_KEY` (repo secrets)
|
||||
- **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.
|
||||
|
||||
### Secrets
|
||||
|
||||
@@ -36,8 +40,14 @@ Currently **disabled** (`if: false`) until ISO is stable. When enabled, uploads
|
||||
|
||||
## Deploy docs (`pages.yml`)
|
||||
|
||||
Triggers on push to `master` only when files under `docs/` change. Builds a Jekyll site from `docs/` using the Just the Docs theme and deploys to GitHub Pages.
|
||||
Triggers on push to `master` _only_ when files under `docs/` change. Builds a Jekyll site from `docs/` using the Just the Docs theme and deploys to GitHub Pages.
|
||||
|
||||
## antergos-packages CI
|
||||
|
||||
Separate workflow in the [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) repo. Builds all packages listed in `packages.yaml` and publishes them to GitHub Pages as a pacman repo.
|
||||
Separate workflow in the [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) repo. Builds all packages listed in `packages.yaml` and publishes them to GitHub Pages as a pacman repository.
|
||||
|
||||
## Safety notes
|
||||
|
||||
- CI does NOT run on push — only manual dispatch. This prevents accidental ISO floods.
|
||||
- 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.
|
||||
|
||||
@@ -15,7 +15,7 @@ Available desktops in online mode, sourced from Artix repos.
|
||||
| **Repo** | world |
|
||||
| **Group** | `plasma` |
|
||||
| **Session** | `plasma.desktop` (Wayland) / `plasmax11.desktop` (X11) |
|
||||
| **Notes** | Default DE. Wayland is the default session. `plasma-wayland-session` is NOT a separate package on Artix — it's bundled in `plasma-workspace` |
|
||||
| **Notes** | Default DE. Wayland is the default session. `plasma-wayland-session` is NOT a separate package on Artix — it's bundled in `plasma-workspace`. Includes `discover` (KDE's package manager GUI) |
|
||||
|
||||
## Xfce
|
||||
|
||||
@@ -73,22 +73,11 @@ Available desktops in online mode, sourced from Artix repos.
|
||||
| **Packages** | `hyprland` |
|
||||
| **Session** | `hyprland.desktop` |
|
||||
|
||||
## GNOME
|
||||
## No Desktop
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **Repo** | imaginary |
|
||||
| **Group** | `gnome-systemd-hub` |
|
||||
| **Session** | `does-not-exist.desktop` |
|
||||
| **Status** | ❌ |
|
||||
|
||||
> You really think you can get GNOME here? GNOME deleted all other init support. Take a walk.
|
||||
Installs the base system only (TTY/login). Useful for servers or custom setups.
|
||||
|
||||
## Not available
|
||||
|
||||
- **Budgie** — not in any Artix repo (system, world, galaxy, lib32). Slideshow entries removed.
|
||||
- **GNOME** — see above.
|
||||
|
||||
## No Desktop
|
||||
|
||||
Installs the base system only (TTY/login). Useful for servers or custom setups.
|
||||
- **GNOME** — dropped non-systemd support upstream. Not available.
|
||||
|
||||
+76
-29
@@ -6,6 +6,34 @@ nav_order: 7
|
||||
|
||||
# Development
|
||||
|
||||
## Repository structure
|
||||
|
||||
```
|
||||
antergos-iso/
|
||||
├── buildiso # Modified buildiso with --overwrite='*' and branding
|
||||
├── iso-profiles/
|
||||
│ ├── antergos/
|
||||
│ │ ├── profile.yaml # Packages, services (rootfs + livefs), compression
|
||||
│ │ ├── root-overlay/ # Merged into squashfs rootfs → installed system
|
||||
│ │ └── live-overlay/ # Merged into live environment only
|
||||
│ └── 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
|
||||
└── pages.yml # Docs deployment to GitHub Pages
|
||||
```
|
||||
|
||||
## Building locally
|
||||
|
||||
```bash
|
||||
export WORKSPACE_DIR="$PWD"
|
||||
sudo -E ./buildiso -p antergos
|
||||
```
|
||||
|
||||
See [Building the ISO](building) for full setup instructions and troubleshooting.
|
||||
|
||||
## Critical gotchas
|
||||
|
||||
### `./buildiso` vs `buildiso`
|
||||
@@ -14,7 +42,7 @@ Always use the repo's `./buildiso`, **not** the system Artix `/usr/bin/buildiso`
|
||||
|
||||
### `sudo -E` is required
|
||||
|
||||
Without `-E`, `WORKSPACE_DIR` is stripped and `load_profile()` returns empty `HAS_LIVE`/`LIVEUSER`, causing build failures.
|
||||
Without `-E`, `WORKSPACE_DIR` is stripped and `load_profile()` returns empty `HAS_LIVE`/`LIVEUSER`, causing build failures immediately.
|
||||
|
||||
### Pacman config must be user-overridden
|
||||
|
||||
@@ -25,9 +53,23 @@ mkdir -p ~/.config/artools/pacman.conf.d
|
||||
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
|
||||
```
|
||||
|
||||
CI does this automatically.
|
||||
|
||||
### Repo order in iso-x86_64.conf
|
||||
|
||||
`[antergos-pkgs]` must be listed **first** in `iso-x86_64.conf` so custom packages (calamares, branding) take priority over Artix's. If Artix repos are first, our custom packages won't be installed.
|
||||
|
||||
### Package order matters in profile.yaml
|
||||
|
||||
`basestrap` uses `--overwrite='*'`. The **last** package to claim a file wins. Package order in `profile.yaml` should list `calamares` BEFORE `calamares-branding-antergos-next`, so branding files overwrite Calamares defaults, not the other way around.
|
||||
|
||||
### `antergos-release` must be in basestrap.conf operations
|
||||
|
||||
The `filesystem` package owns `/usr/lib/os-release` with "Artix Linux". To replace it with "Antergos NeXT", `antergos-release` must be listed in the `operations` list in `iso-profiles/antergos/live-overlay/etc/calamares/modules/basestrap.conf`. This ensures it's installed during bootstrapping with `--overwrite`. If it's missing from operations, the installed system will show "Artix Linux" in `/usr/lib/os-release`.
|
||||
|
||||
### 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.
|
||||
If `$COMPRESSION` is unset in `profile.yaml`, `mksquashfs` produces a sparse zero file instead of a valid squashfs. The ISO will be tiny and unbootable. Always verify compression is set, or remove stale images before retrying.
|
||||
|
||||
### Calamares module precedence
|
||||
|
||||
@@ -35,52 +77,57 @@ If `$COMPRESSION` is unset in config, `mksquashfs` produces a sparse zero file i
|
||||
|
||||
### 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.
|
||||
Live-overlay files are copied via `cp -LR` in `make_livefs()`. Deleting a file from live-overlay exposes the package version underneath. Use `NoDisplay=true` in `.desktop` files to hide entries.
|
||||
|
||||
### `plasma-wayland-session` does not exist on Artix
|
||||
|
||||
Artix bundles the Wayland session into `plasma-workspace` itself. Do not add it to package lists.
|
||||
|
||||
### SDDM theme override
|
||||
|
||||
`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`.
|
||||
|
||||
### 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.
|
||||
|
||||
### File conflicts
|
||||
|
||||
`calamares` and `calamares-branding-antergos-next` both install to `/usr/share/calamares/branding/default/`. Handled by `--overwrite='*'`.
|
||||
- `calamares` and `calamares-branding-antergos-next` both install to `/usr/share/calamares/branding/default/` — handled by `--overwrite='*'`
|
||||
- `filesystem` and `antergos-release` both claim `/usr/lib/os-release` — handled by including `antergos-release` in basestrap operations
|
||||
|
||||
### `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.
|
||||
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 with the selected one.
|
||||
|
||||
### Do not push commits while IA keys are set
|
||||
### CI does not trigger on push
|
||||
|
||||
Test ISOs manually first. IA credentials are set as repo secrets and will trigger an upload on push to master.
|
||||
The `build.yml` workflow only runs on `workflow_dispatch` (manual trigger from GitHub Actions tab). This prevents accidental ISO builds on every push.
|
||||
|
||||
## Profile structure
|
||||
### Internet Archive bucket naming
|
||||
|
||||
```
|
||||
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
|
||||
```
|
||||
ISO identifier format: `antergos-next-YYYYMMDD-<run_number>`. The `-<run_number>` ensures uniqueness even for multiple builds on the same day.
|
||||
|
||||
## Building locally
|
||||
|
||||
```bash
|
||||
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
|
||||
## Testing a build
|
||||
|
||||
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
|
||||
- Offline mode installs without internet
|
||||
- Online mode: init selector + DE selector both work
|
||||
- Slideshow renders correctly
|
||||
- Audio works after installation (pipewire should auto-start)
|
||||
- After install, `/usr/lib/os-release` shows "Antergos NeXT"
|
||||
- SDDM shows the Antergos theme, not Breeze
|
||||
|
||||
## Custom packages repo
|
||||
|
||||
Custom PKGBUILDs live in the companion [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) repo. The CI there builds them and publishes to GitHub Pages as a pacman repository:
|
||||
|
||||
```ini
|
||||
[antergos-pkgs]
|
||||
SigLevel = Optional TrustAll
|
||||
Server = https://antergos-next.github.io/antergos-packages
|
||||
```
|
||||
|
||||
+63
-14
@@ -9,24 +9,16 @@ nav_order: 2
|
||||
|
||||
**Dinit** is a modern init system designed for speed and correctness. Written in C++, it focuses on parallel service startup and dependency management without the bloat of systemd or the complexity of S6. **Dinit is the default init system in Antergos NeXT.**
|
||||
|
||||
## Philosophy
|
||||
|
||||
Dinit aims to be a "better than OpenRC but simpler than S6" middle ground. It handles dependencies automatically (like systemd) but stays out of your way (like OpenRC). Services are defined in declarative config files, not shell scripts.
|
||||
|
||||
## Who uses it?
|
||||
|
||||
- Not widely adopted by major distros yet
|
||||
- Popular in DIY Linux builds (Linux From Scratch, custom embedded)
|
||||
- Default init in Antergos NeXT; available in Artix as an alternative
|
||||
Dinit's design philosophy is to be a "better than OpenRC but simpler than S6" middle ground. It handles dependencies automatically (like systemd) but stays out of your way (like OpenRC). Services are defined in declarative config files, not shell scripts.
|
||||
|
||||
## Key concepts
|
||||
|
||||
| Concept | What it means |
|
||||
|---------|---------------|
|
||||
| Service files | Declarative `.conf` files in `/etc/dinit.d/` |
|
||||
| Dependencies | Automatic — Dinit figures out start order |
|
||||
| Parallel startup | Very fast — starts services concurrently |
|
||||
| Process supervision | Optional — can restart crashed services |
|
||||
| Dependencies | Automatic — Dinit figures out start order from `depends-on` directives |
|
||||
| Parallel startup | Very fast — starts services concurrently wherever possible |
|
||||
| Process supervision | Optional — can restart crashed services if `type = process` |
|
||||
|
||||
## Basic commands
|
||||
|
||||
@@ -60,6 +52,41 @@ depends-on = dbus
|
||||
depends-on = network
|
||||
```
|
||||
|
||||
## Where services live
|
||||
|
||||
- **System services**: `/etc/dinit.d/` (config) — enabled via symlinks in `/etc/dinit.d/boot.d/`
|
||||
- **User services**: similar structure under user's config directory (for `dinit-user-serve`)
|
||||
- **Boot-enabling**: `dinitctl enable <service>` creates a symlink in `boot.d/`
|
||||
|
||||
Service files use a simple key-value syntax. The `type` can be:
|
||||
- `process` — supervised (auto-restart on crash)
|
||||
- `scripted` — runs and completes (one-shot tasks)
|
||||
- `internal` — handled internally by dinit
|
||||
|
||||
## Common tasks
|
||||
|
||||
### Enable a service at boot
|
||||
|
||||
```bash
|
||||
dinitctl enable sshd
|
||||
```
|
||||
|
||||
Alternatively, create a symlink manually:
|
||||
|
||||
```bash
|
||||
ln -s /etc/dinit.d/sshd /etc/dinit.d/boot.d/
|
||||
```
|
||||
|
||||
### Check what's running
|
||||
|
||||
```bash
|
||||
dinitctl list
|
||||
```
|
||||
|
||||
### View logs
|
||||
|
||||
Dinit itself doesn't handle logging. Services log to syslog or their own log files under `/var/log/`. Use `less /var/log/messages` or check per-service log directories.
|
||||
|
||||
## Comparison with OpenRC
|
||||
|
||||
| | OpenRC | Dinit |
|
||||
@@ -70,15 +97,37 @@ depends-on = network
|
||||
| Complexity | Low | Medium |
|
||||
| Supervision | No built-in | Optional |
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Service fails to start
|
||||
|
||||
Check the service file syntax first:
|
||||
|
||||
```bash
|
||||
dinitctl start sshd
|
||||
# If it fails, check:
|
||||
cat /var/log/messages | grep dinit
|
||||
```
|
||||
|
||||
Make sure all `depends-on` services are available (even if not enabled — dinit will start them as dependencies).
|
||||
|
||||
### "boot" service file missing
|
||||
|
||||
Dinit's `add_user_svc_dinit` in Calamares attempts to create `boot.d/` symlinks but does not create a `boot` service file. This is a known upstream limitation. Workaround: ensure services are enabled via `dinitctl enable` after install, or use the init-specific package handling in Calamares.
|
||||
|
||||
### pipewire doesn't start
|
||||
|
||||
On Antergos NeXT, `artix-pipewire-launcher` is patched to support dinit. If pipewire isn't starting, verify the launcher script at `/usr/bin/artix-pipewire-launcher` includes dinit in its supported init list. The XDG autostart entry at `/etc/xdg/autostart/pipewire.desktop` handles starting pipewire on login.
|
||||
|
||||
## Should you use it?
|
||||
|
||||
Pick Dinit if:
|
||||
- You want the fastest possible boot
|
||||
- You like declarative config (YAML-like)
|
||||
- You like declarative config (INI-like syntax)
|
||||
- You want automatic dependency resolution
|
||||
- You're fine with a newer, actively developed init system
|
||||
|
||||
OpenRC is also available if you prefer shell scripts and a longer track record.
|
||||
Stick with OpenRC if you prefer shell scripts and a longer track record.
|
||||
|
||||
## Learn more
|
||||
|
||||
|
||||
+30
-14
@@ -6,39 +6,55 @@ nav_order: 1
|
||||
|
||||
# Antergos NeXT
|
||||
|
||||
Thank you for visiting Antergos NeXT!
|
||||
This distribution is built with care, passion, and
|
||||
a lot of late-night dedication. If you like our work,
|
||||
starring the repository is the sweetest way to say
|
||||
"keep going!" It really brightens up our dashboard.
|
||||
A community revival of Antergos for the post-systemd era — **Artix Linux** base with **Dinit** (OpenRC / Runit / S6 available), **KDE Plasma**, and the **Calamares** installer (offline + online modes).
|
||||
|
||||
Have a wonderful day, and happy computing! ✨
|
||||
## Download
|
||||
|
||||
A community revival of Antergos — built on **Artix Linux** with **Dinit** (OpenRC / Runit / S6 available), **KDE Plasma**, and the **Calamares** installer (offline + online modes).
|
||||
[**Download the latest ISO**](https://github.com/Antergos-NeXT/antergos-iso/releases)
|
||||
_Published to GitHub Releases. ISO also archived on the Internet Archive._
|
||||
|
||||
### First stable release — v2026.07.11
|
||||
|
||||
This is the first stable ISO. What works:
|
||||
|
||||
- KDE Plasma 6 on Wayland (with SDDM)
|
||||
- Full audio support on both offline and online installs
|
||||
- Custom SDDM theme (Antergos brand, not Breeze)
|
||||
- Correct `/usr/lib/os-release` (shows "Antergos NeXT", not "Artix Linux")
|
||||
- Offline mode: unpack pre-built Plasma squashfs, no internet required
|
||||
- Online mode: choose your init (Dinit/OpenRC/Runit/S6) and desktop (Plasma/Xfce/Cinnamon/MATE/LXQt/i3/Sway/Hyprland)
|
||||
- GRUB with Antergos theme
|
||||
- Custom Calamares slideshow
|
||||
- Xlibre X server included
|
||||
|
||||
## Quick links
|
||||
|
||||
- [Download](https://github.com/Antergos-NeXT/antergos-iso/releases) — prebuilt ISOs on GitHub Releases
|
||||
- [Building the ISO](building) — set up and build locally
|
||||
- [Installer](installer) — Calamares modes, init & DE selectors
|
||||
- [Custom packages](packages) — PKGBUILDs, repo setup
|
||||
- [CI/CD](ci) — GitHub Actions pipeline
|
||||
- [Custom packages](packages) — PKGBUILDs, pipewire fork, branding
|
||||
- [CI/CD](ci) — GitHub Actions pipeline, Internet Archive upload
|
||||
- [Development](development) — contributing, gotchas, conventions
|
||||
|
||||
## Learn about Antergos NeXT
|
||||
|
||||
- [Init Systems](init-systems) — what init systems are, Dinit, OpenRC, S6, Runit
|
||||
- [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
|
||||
|
||||
## What changed
|
||||
## What changed from original Antergos
|
||||
|
||||
| Area | Original Antergos | Antergos NeXT |
|
||||
|------|-------------------|---------------|
|
||||
| Base | Arch Linux (systemd) | Artix Linux (Dinit / OpenRC / Runit / S6) |
|
||||
| Default init | systemd | Dinit |
|
||||
| Desktop | GNOME | KDE Plasma |
|
||||
| Installer | Custom Cnchi | Calamares |
|
||||
| Build | archiso | artools (`buildiso`) |
|
||||
| Build system | archiso | artools (`buildiso`) |
|
||||
| Display server | X11 | Wayland (X11 via Xlibre) |
|
||||
|
||||
## Project scope
|
||||
|
||||
This repo (`antergos-iso`) contains the ISO build configuration — overlays, Calamares modules, pacman config, CI pipeline. Custom PKGBUILDs live in the separate [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) repo.
|
||||
|
||||
## Sources
|
||||
|
||||
@@ -46,4 +62,4 @@ A community revival of Antergos — built on **Artix Linux** with **Dinit** (Ope
|
||||
- [artools](https://gitea.artixlinux.org/artix/artools)
|
||||
- [Calamares](https://codeberg.org/calamares/calamares)
|
||||
- [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages)
|
||||
- [Original wallpapers](https://github.com/Antergos/wallpapers)
|
||||
- [Original Antergos wallpapers](https://github.com/Antergos/wallpapers)
|
||||
|
||||
+30
-28
@@ -7,56 +7,58 @@ has_children: true
|
||||
|
||||
# Init Systems
|
||||
|
||||
An **init system** is the first process that runs when your computer boots (PID 1). It's responsible for starting everything else — filesystems, networking, display manager, services, and more. Think of it as the foreman at a construction site: it doesn't do the work itself, but it makes sure everything gets started in the right order.
|
||||
An **init system** is PID 1 — the first process that runs when your computer boots. It starts everything else: filesystems, networking, display manager, services. Think of it as a foreman: it doesn't do the work itself, but it makes sure everything happens in the right order.
|
||||
|
||||
Antergos NeXT lets you choose between **four** init systems during installation. This page explains each one so you can pick what suits you.
|
||||
Antergos NeXT lets you choose between **four** init systems during online installation. (Offline mode uses Dinit, the default.)
|
||||
|
||||
> Don't know what init to choose? **Stick with Dinit** — it's the default, it's fast, and it's what Antergos NeXT ships with. OpenRC is also available if you prefer a more traditional approach.
|
||||
> **Don't know what to pick? Stick with Dinit** — it's the default, it's fast, and it's what Antergos NeXT ships with. OpenRC is also available but currently broken in Antergos NeXT (services don't enable correctly on installed systems).
|
||||
|
||||
## The inits
|
||||
|
||||
| Init | Philosophy | Complexity | Speed | Used by |
|
||||
|------|-----------|------------|-------|---------|
|
||||
| [Dinit](dinit) | Modern, dependency-based | Medium | Very fast | Antergos NeXT, Artix, new projects |
|
||||
| [OpenRC](openrc) | Simple, modular, Unix-like | Low | Fast | Gentoo, Artix, Devuan, Alpine |
|
||||
| [Runit](runit) | Minimal, reliable, Unix-like | Low | Very fast | Void Linux, AntiX |
|
||||
| [S6](s6) | Supervision-based, secure | Medium-High | Very fast | New projects, embedded |
|
||||
| [Dinit](dinit) | Modern, dependency-based, parallel | Medium | Very fast | Antergos NeXT (default), Chimera Linux, Artix, new projects |
|
||||
| [OpenRC](openrc) | Traditional, modular, shell-script-based | Low | Fast | Gentoo, Artix, Devuan, Alpine — **currently broken in Antergos NeXT** |
|
||||
| [Runit](runit) | Minimal, supervision-based, Unix-like | Low | Very fast | Void Linux, AntiX |
|
||||
| [S6](s6) | Full supervision suite, modular | Medium-High | Very fast | Artix, embedded systems |
|
||||
|
||||
## Choosing an init
|
||||
|
||||
| If you want... | Pick... |
|
||||
|----------------|---------|
|
||||
| The fastest boot possible | Dinit or S6 |
|
||||
| Something familiar and well-documented | OpenRC |
|
||||
| The simplest, most Unix-like approach | Runit |
|
||||
| Advanced supervision and process management | S6 |
|
||||
| The fastest boot, automatic dependency resolution | Dinit |
|
||||
| Something familiar, well-documented, simple | OpenRC |
|
||||
| The simplest supervision-based approach | Runit |
|
||||
| The most powerful non-systemd init with full supervision | S6 |
|
||||
|
||||
## What they all have in common
|
||||
|
||||
- **No systemd** — all four are independent implementations
|
||||
- **Service scripts** — services are configured via files in `/etc/`
|
||||
- **Runlevels** — groups of services that start together
|
||||
- **Logging to files** — logs go to `/var/log/`, not `journalctl`
|
||||
- **Runlevels** — groups of services that start together under different conditions
|
||||
- **Plain-text logging** — logs go to `/var/log/`, not `journalctl`
|
||||
|
||||
## What's different
|
||||
## Key differences
|
||||
|
||||
The main differences are in:
|
||||
|
||||
1. **How services are defined** — OpenRC uses shell scripts, Dinit uses a declarative config format, Runit uses executable scripts, S6 uses a supervision tree
|
||||
2. **How they manage dependencies** — some handle it automatically, some leave it to you
|
||||
3. **How they supervise processes** — some restart crashed services automatically, some don't
|
||||
4. **How fast they boot** — Dinit and S6 are designed for parallel startup and are noticeably faster
|
||||
| Aspect | Dinit | OpenRC | Runit | S6 |
|
||||
|--------|-------|--------|-------|-----|
|
||||
| Service format | Declarative `.conf` files | Shell scripts | Executable `run` scripts | `run` scripts + s6-rc database |
|
||||
| Dependencies | Automatic | Manual (`need`/`use`) | None | Automatic (s6-rc) |
|
||||
| Supervision | Optional | No | Yes (runsv) | Yes (s6-supervise) |
|
||||
| Logging | None built-in | syslog | Per-service (optional) | Per-service (s6-log) |
|
||||
| Init script | None needed | `/etc/init.d/` | `/etc/runit/1/2/3` | s6-linux-init |
|
||||
|
||||
## Learning Linux with init systems
|
||||
|
||||
If you're new to Linux, learning about init systems is a great way to understand how your OS works under the hood. Here's why:
|
||||
If you're new to Linux, init systems are one of the best ways to understand how your OS works under the hood:
|
||||
|
||||
- **You'll learn about processes** — PID 1, service trees, process supervision
|
||||
- **You'll learn about boot order** — what needs to start before what
|
||||
- **You'll learn about dependencies** — why NetworkManager needs dbus, why dbus needs udev
|
||||
- **You'll learn about logging** — where logs go, how to read them
|
||||
- **You'll learn about runlevels** — why your system behaves differently in single-user mode vs normal boot
|
||||
- **Processes** — PID 1, service trees, process supervision
|
||||
- **Boot order** — what needs to start before what
|
||||
- **Dependencies** — why NetworkManager needs dbus, why dbus needs udev
|
||||
- **Runlevels** — why your system behaves differently in single-user vs normal boot
|
||||
|
||||
The best part? If you break something with services, you can always fix it — service management is much simpler than kernel config or package management.
|
||||
The best part? If you break something with services, you can always fix it by re-enabling or starting it manually. Service management is much simpler than kernel config or package management.
|
||||
|
||||
> **Pro tip**: If you're dual-booting or using a VM, try all four inits. Install a test system with Dinit first, then reinstall with OpenRC, then Runit, then S6. See which one feels right.
|
||||
## Switching init after install
|
||||
|
||||
Artix provides a [switching init guide](https://wiki.artixlinux.org/Main/SwitchInit) that also works on Antergos NeXT. The process involves installing the new init's packages, configuring its services, and updating the bootloader.
|
||||
|
||||
+56
-21
@@ -6,50 +6,75 @@ nav_order: 4
|
||||
|
||||
# Calamares Installer
|
||||
|
||||
Uses [Calamares](https://codeberg.org/calamares/calamares) with two modes and custom branding.
|
||||
Antergos NeXT uses [Calamares](https://codeberg.org/calamares/calamares) as its installer, with a custom launcher (`calamares-next`) that presents a mode picker before launching Calamares.
|
||||
|
||||
## Modes
|
||||
|
||||
| Mode | Description |
|
||||
|------|-------------|
|
||||
| **Offline** | Unpacks a KDE Plasma squashfs — no internet needed |
|
||||
| **Online** | Netinstall with init system choice + desktop selection |
|
||||
| **Offline** | Unpacks a pre-built KDE Plasma squashfs — no internet needed. Fast, deterministic, single option. |
|
||||
| **Online** | Netinstall with init system choice + desktop selection. Downloads packages from the internet. |
|
||||
|
||||
The launcher (`calamares-next`) presents a mode picker before launching Calamares.
|
||||
## Fixed issues (v2026.07.11)
|
||||
|
||||
## Key differences from upstream
|
||||
### Audio on installed systems
|
||||
|
||||
The offline install works because `pipewire.desktop` is baked into the root squashfs via `root-overlay`. But in online mode, packages are installed fresh — and the upstream `artix-pipewire-launcher` doesn't support dinit. The XDG autostart entry was also missing.
|
||||
|
||||
**Fix**: The `pipewire` package in `[antergos-pkgs]` now includes `pipewire.desktop` installed to `/etc/xdg/autostart/`, and the `artix-pipewire-launcher` script is patched to recognize dinit (`dinit|runit|s6) SUPPORT='YES'`). This way both offline and online installs get working audio.
|
||||
|
||||
### 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.
|
||||
|
||||
**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.
|
||||
|
||||
### `/usr/lib/os-release` showing "Artix Linux"
|
||||
|
||||
The `filesystem` package from Artix owns `/usr/lib/os-release`. Our `antergos-release` also needs to install there, but it wasn't included in the basestrap operations list.
|
||||
|
||||
**Fix**: Added `antergos-release` to the `operations` list in `basestrap.conf` so it's installed during bootstrapping with `--overwrite`.
|
||||
|
||||
## Key differences from upstream Calamares
|
||||
|
||||
- `dracut`/`dracutlukscfg` replaced with `initcpiocfg`/`initcpio`/`luksopenswaphookcfg` (Artix uses mkinitcpio, not dracut)
|
||||
- `services-openrc` module instead of `services-systemd`
|
||||
- `services-openrc` module instead of `services-systemd` (supports all four inits via init-specific variants)
|
||||
- `removeuser` step removed, `postcfg` added
|
||||
- `packagechooser` module compiled in (upstream skips it)
|
||||
- `packagechooser` module compiled in (upstream Calamares skips it by default)
|
||||
|
||||
## Init system selector (online)
|
||||
|
||||
Users choose from: **Dinit**, **OpenRC**, **Runit**, **S6**.
|
||||
|
||||
Implemented as a `packagechooser` instance with `method: netinstall-add` — the selected init pulls its associated packages.
|
||||
> **Note:** OpenRC is currently broken in Antergos NeXT — services don't enable correctly on installed systems. Choose Dinit (default), Runit, or S6 instead.
|
||||
|
||||
Implemented as a `packagechooser` instance with `method: netinstall-add`. The selected init pulls its associated packages (e.g. `elogind-dinit`, `connman-dinit`, `sddm-dinit`). The init packages are defined in `netinstall.yaml` as separate groups.
|
||||
|
||||
Dinit is preselected by default.
|
||||
|
||||
## Desktop selector (online)
|
||||
|
||||
Users choose from: **Plasma**, **Xfce**, **Cinnamon**, **MATE**, **LXQt**, **i3**, **Sway**, **Hyprland**, or **No Desktop**.
|
||||
|
||||
Implemented as a separate `packagechooser` instance with `method: legacy`. "No Desktop" installs only the base system (TTY-only).
|
||||
Implemented as a separate `packagechooser` instance with `method: legacy`. "No Desktop" installs only the base system (TTY/login — no DE, no display manager).
|
||||
|
||||
## Available desktops
|
||||
|
||||
| Desktop | Artix Repo | Group/Packages |
|
||||
|---------|------------|----------------|
|
||||
| Plasma | world | `plasma` group |
|
||||
| Xfce | galaxy | `xfce4` group |
|
||||
| Cinnamon | galaxy | Individual packages |
|
||||
| MATE | galaxy | `mate` + `mate-extra` groups |
|
||||
| LXQt | galaxy | `lxqt` group |
|
||||
| i3 | world | `i3` group |
|
||||
| Sway | world | `sway` + related packages |
|
||||
| Hyprland | world | `hyprland` |
|
||||
| Desktop | Artix Repo | Group/Packages | Notes |
|
||||
|---------|------------|----------------|-------|
|
||||
| Plasma | world | `plasma` group | Default. Wayland + X11. Includes Discover |
|
||||
| Xfce | galaxy | `xfce4` group | |
|
||||
| Cinnamon | galaxy | Individual packages | |
|
||||
| MATE | galaxy | `mate` + `mate-extra` | |
|
||||
| LXQt | galaxy | `lxqt` group | |
|
||||
| i3 | world | `i3` group | Tiling WM |
|
||||
| Sway | world | `sway` + related | Wayland-native tiling |
|
||||
| Hyprland | world | `hyprland` | Wayland compositor |
|
||||
|
||||
> **Note:** Budgie is not available in any Artix repo and has been removed from all configs and slideshows.
|
||||
## Not available
|
||||
|
||||
- **Budgie** — not in any Artix repo (system, world, galaxy, lib32). Slideshow entries removed.
|
||||
- **GNOME** — dropped non-systemd support upstream. "You really think you can get GNOME here?"
|
||||
|
||||
## Offline mode
|
||||
|
||||
@@ -57,4 +82,14 @@ No packagechooser. Uses `unpackfs` to deploy a pre-built KDE Plasma squashfs, th
|
||||
|
||||
## Branding
|
||||
|
||||
Custom branding lives in the `calamares-branding-antergos-next` package, installed to `/etc/calamares/branding/default/`. The `componentName` in `branding.desc` must match its directory name.
|
||||
Custom branding lives in the `calamares-branding-antergos-next` package, installed to `/etc/calamares/branding/default/`. The `componentName` in `branding.desc` must match its directory name — this is enforced by Calamares (see `Branding.cpp`).
|
||||
|
||||
## Launcher
|
||||
|
||||
The `calamares-next` script (`/usr/bin/calamares-next`) handles the installer boot flow:
|
||||
|
||||
1. **Mode picker** — `kdialog`/`zenity` dialog asking Offline or Online install
|
||||
2. **Configuration** — copies the appropriate `settings.conf` (offline or online) to `/etc/calamares/settings.conf`
|
||||
3. **Launch** — runs `calamares` with the selected config
|
||||
|
||||
Launched via the desktop entry in the live session: `Exec=sudo -E calamares-next`.
|
||||
|
||||
+34
-17
@@ -6,17 +6,13 @@ nav_order: 10
|
||||
|
||||
# Calamares Launcher
|
||||
|
||||
The `calamares-next` script (`calamares-next.sh`) handles the installer boot flow.
|
||||
The `calamares-next` script (`calamares-next.sh`) handles the installer boot flow. It's installed by `calamares-branding-antergos-next` to `/usr/bin/calamares-next`.
|
||||
|
||||
## Flow
|
||||
## Boot flow
|
||||
|
||||
1. **Mode picker** — Dialog asking Offline or Online install
|
||||
2. **Configuration** — Copies the appropriate `settings.conf` (offline or online) to `/etc/calamares/settings.conf`
|
||||
3. **Launch** — Runs `calamares` with the selected config
|
||||
|
||||
## Launcher location
|
||||
|
||||
Installed by `calamares-branding-antergos-next` to `/usr/bin/calamares-next`.
|
||||
1. **Mode picker** — `kdialog` or `zenity` dialog asking Offline or Online install
|
||||
2. **Configuration** — copies the appropriate `settings.conf` (offline or online) to `/etc/calamares/settings.conf`
|
||||
3. **Launch** — runs `calamares` with the selected config
|
||||
|
||||
## Desktop entry
|
||||
|
||||
@@ -26,21 +22,42 @@ Installed by `calamares-branding-antergos-next` to `/usr/bin/calamares-next`.
|
||||
Exec=sudo -E calamares-next
|
||||
```
|
||||
|
||||
Note: `sudo -E` preserves environment variables (required for `WAYLAND_DISPLAY`, `XDG_CURRENT_DESKTOP`, etc. when launched from the SDDM session).
|
||||
`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.
|
||||
|
||||
## Mode picker (dialog)
|
||||
## Mode picker
|
||||
|
||||
A simple `kdialog` or `zenity` dialog:
|
||||
- **Offline** — No internet required, installs KDE Plasma from squashfs
|
||||
- **Online** — Init system selector + DE selector via packagechooser, downloads packages from the internet
|
||||
A simple dialog with two options:
|
||||
|
||||
- **Offline** — no internet required, installs KDE Plasma from a pre-built squashfs. Fast and deterministic.
|
||||
- **Online** — internet required, shows an init system selector (Dinit/OpenRC/Runit/S6) and a desktop selector. Downloads packages from the repos.
|
||||
|
||||
## Config switching
|
||||
|
||||
`SetConfig()` in `calamares-next.sh`:
|
||||
1. Removes existing symlink at `/etc/calamares/settings.conf` (must `rm -f` first, not overwrite, or `cp` follows the symlink)
|
||||
2. Copies the selected settings file
|
||||
|
||||
1. `rm -f` the existing symlink at `/etc/calamares/settings.conf` (must remove first — `cp` follows symlinks and would overwrite the wrong file)
|
||||
2. `cp` the selected settings file (offline or online) to `/etc/calamares/settings.conf`
|
||||
3. Calamares reads the config on launch
|
||||
|
||||
## Hiding "Install Artix"
|
||||
|
||||
The live-overlay includes `calamares-config-switcher.desktop` with `NoDisplay=true` — this hides the upstream Artix launcher while keeping the binary available.
|
||||
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.
|
||||
|
||||
## Module configs
|
||||
|
||||
### Online modules
|
||||
|
||||
Configs live in `live-overlay/etc/calamares-online/modules/`:
|
||||
|
||||
- `packagechooser_init.conf` — init system selector using `method: netinstall-add`
|
||||
- `packagechooser_desktop.conf` — DE selector using `method: legacy`
|
||||
- `initcpiocfg.conf` — mkinitcpio configuration
|
||||
- `services-openrc.conf` — service enablement (works across all inits via init-specific wrappers)
|
||||
|
||||
### Offline modules
|
||||
|
||||
Configs live in `live-overlay/etc/calamares-offline/modules/`:
|
||||
|
||||
- `unpackfs.conf` — unpack the pre-built squashfs
|
||||
- `initcpiocfg.conf` — mkinitcpio configuration
|
||||
- `services-openrc.conf` — service enablement
|
||||
|
||||
+3
-1
@@ -7,7 +7,9 @@ nav_order: 1
|
||||
|
||||
# OpenRC
|
||||
|
||||
**OpenRC** is one of four init systems available in Antergos NeXT (the default is **Dinit**). It's used by Gentoo, Artix Linux, Devuan, Alpine Linux, and other non-systemd distros. It's proven, well-maintained, and about as simple as an init system can get while still being feature-rich.
|
||||
**OpenRC** is a traditional init system used by Gentoo, Artix Linux, Devuan, Alpine Linux, and other non-systemd distros. It's proven, well-maintained, and about as simple as an init system can get while still being feature-rich.
|
||||
|
||||
> **⚠️ OpenRC is currently broken in Antergos NeXT.** The online installer presents it as an option, but services don't enable correctly on installed systems. Until this is fixed, choose **Dinit** (the default), **Runit**, or **S6** instead.
|
||||
|
||||
## systemd vs OpenRC at a glance
|
||||
|
||||
|
||||
+12
-11
@@ -15,16 +15,19 @@ Files in `iso-profiles/antergos/live-overlay/` exist only in the live environmen
|
||||
live-overlay/
|
||||
├── etc/
|
||||
│ ├── calamares/
|
||||
│ │ ├── settings.conf # -> symlinks to online or offline
|
||||
│ │ └── settings.conf # Symlink → online or offline config
|
||||
│ ├── calamares-offline/
|
||||
│ │ ├── settings.conf # Offline install config (unpackfs)
|
||||
│ │ └── modules/
|
||||
│ │ ├── unpackfs.conf
|
||||
│ │ ├── initcpiocfg.conf
|
||||
│ │ └── ...
|
||||
│ ├── calamares-online/
|
||||
│ │ ├── settings.conf # Online install config (packagechooser)
|
||||
│ │ └── modules/
|
||||
│ │ ├── packagechooser_init.conf # Init system selector
|
||||
│ │ ├── packagechooser_desktop.conf # DE selector
|
||||
│ │ ├── initcpiocfg.conf
|
||||
│ │ └── ...
|
||||
│ └── sddm.conf.d/
|
||||
│ └── kde_settings.conf # SDDM autologin + Wayland session
|
||||
@@ -39,7 +42,7 @@ live-overlay/
|
||||
|
||||
### `etc/calamares/settings.conf`
|
||||
|
||||
Symlink — points to either `../calamares-offline/settings.conf` or `../calamares-online/settings.conf`, set by `calamares-next.sh`.
|
||||
Symlink — points to either `../calamares-offline/settings.conf` or `../calamares-online/settings.conf`, set by `calamares-next.sh` after the user selects a mode.
|
||||
|
||||
### `etc/calamares-online/settings.conf`
|
||||
|
||||
@@ -47,18 +50,16 @@ Two `packagechooser` instances:
|
||||
- `packagechooser@init` — init system (Dinit, OpenRC, Runit, S6) via netinstall-add
|
||||
- `packagechooser@desktop` — DE selection via legacy method
|
||||
|
||||
### `etc/calamares-online/modules/packagechooser_init.conf`
|
||||
|
||||
Init selector config. Uses `method: netinstall-add` — the selected init pulls its associated packages.
|
||||
|
||||
### `etc/calamares-online/modules/packagechooser_desktop.conf`
|
||||
|
||||
DE selector config. Uses `method: legacy` — returns the selected DE as a global storage value.
|
||||
The init selector uses `netinstall-add` method, meaning the selected init group's packages are added to the install set. The DE selector uses `legacy` method, returning the selected DE as a global storage value.
|
||||
|
||||
### `etc/calamares-offline/settings.conf`
|
||||
|
||||
No packagechooser. Uses `unpackfs` to deploy a pre-built KDE Plasma squashfs.
|
||||
No packagechooser. Uses `unpackfs` to deploy a pre-built KDE Plasma squashfs, then `initcpiocfg` + `initcpio` for mkinitcpio configuration.
|
||||
|
||||
### `etc/calamares/modules/basestrap.conf`
|
||||
|
||||
Controls package installation during bootstrapping. The `operations` list includes packages that must be installed with `--overwrite`. This is where `antergos-release` is listed to ensure it overwrites `/usr/lib/os-release` from the `filesystem` package.
|
||||
|
||||
### `usr/share/applications/calamares-config-switcher.desktop`
|
||||
|
||||
Has `NoDisplay=true` to hide it from the app menu. The upstream Artix "Install Artix Linux" entry is suppressed this way.
|
||||
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.
|
||||
|
||||
+10
-13
@@ -14,7 +14,6 @@ Files in `iso-profiles/antergos/root-overlay/` are merged into the root squashfs
|
||||
```
|
||||
root-overlay/
|
||||
├── etc/
|
||||
│ ├── os-release # Antergos NeXT branding
|
||||
│ ├── pacman.conf # Includes [antergos-pkgs] repo
|
||||
│ ├── sddm.conf.d/
|
||||
│ │ └── kde_settings.conf # SDDM theme + Wayland session
|
||||
@@ -22,30 +21,28 @@ root-overlay/
|
||||
│ └── .config/
|
||||
│ └── autostart/
|
||||
│ └── antergos-wallpaper.desktop # One-shot wallpaper setter
|
||||
└── usr/
|
||||
└── local/
|
||||
└── bin/
|
||||
└── set-antergos-wallpaper.sh # Wallpaper script
|
||||
├── usr/
|
||||
│ └── local/
|
||||
│ └── bin/
|
||||
│ └── set-antergos-wallpaper.sh # Wallpaper script
|
||||
```
|
||||
|
||||
## Key files
|
||||
|
||||
### `etc/os-release`
|
||||
|
||||
Identifies the system as "Antergos NeXT" to tools, installers, and the login manager.
|
||||
|
||||
### `etc/pacman.conf`
|
||||
|
||||
Adds the `[antergos-pkgs]` custom repo so installed systems can receive updates.
|
||||
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.
|
||||
|
||||
### `etc/sddm.conf.d/kde_settings.conf`
|
||||
|
||||
Sets the SDDM session to `plasma.desktop` (Wayland) by default.
|
||||
Sets the SDDM session to `plasma.desktop` (Wayland) by default. Also controls the SDDM theme — see the note below.
|
||||
|
||||
> **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.
|
||||
|
||||
### `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.
|
||||
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.
|
||||
|
||||
### `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.
|
||||
Applies the wallpaper via `plasma-apply-wallpaperimage` and creates `~/.config/antergos-wallpaper-set` marker to prevent re-running on subsequent logins.
|
||||
|
||||
+18
-10
@@ -7,22 +7,30 @@ has_children: true
|
||||
|
||||
# Overlays
|
||||
|
||||
Two directories under `iso-profiles/antergos/` control what goes into the ISO.
|
||||
Two directories under `iso-profiles/antergos/` control what goes into the ISO:
|
||||
|
||||
```
|
||||
iso-profiles/antergos/
|
||||
├── profile.yaml
|
||||
├── root-overlay/ # → rootfs (squashfs)
|
||||
└── live-overlay/ # → live environment (initramfs)
|
||||
├── profile.yaml # Package lists, services, compression
|
||||
├── root-overlay/ # → rootfs (squashfs) — becomes part of installed system
|
||||
└── live-overlay/ # → live environment only — not present after installation
|
||||
```
|
||||
|
||||
## How overlays work
|
||||
|
||||
- `root-overlay/` files are merged into the root squashfs — they become part of the installed system
|
||||
- `live-overlay/` files are copied into the live environment only — they're not present after installation
|
||||
- Overlays are **self-contained** (no symlinks to external directories) so the repo builds standalone
|
||||
- Live-overlay files are **copied** via `cp -LR` in `make_livefs()`, not overlay-mounted. Deleting a file from live-overlay exposes the package version underneath
|
||||
- **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.
|
||||
- Overlays are **self-contained** (no symlinks to external directories) so the repo builds standalone.
|
||||
|
||||
> **Disclaimer:** No symlinks were harmed in the making of this ISO. Well, maybe a few. We killed some.
|
||||
## Important: overlay behavior
|
||||
|
||||
> Also: this ISO is 100% systemd-free. Not even a trace. We checked. Twice.
|
||||
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
|
||||
|
||||
## Related pages
|
||||
|
||||
- [Root Overlay](overlay-root) — persistent system config, wallpapers, skel
|
||||
- [Live Overlay](overlay-live) — installer configs, launcher, SDDM session
|
||||
|
||||
+39
-25
@@ -6,17 +6,7 @@ nav_order: 5
|
||||
|
||||
# Custom Packages
|
||||
|
||||
Custom PKGBUILDs live in the [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) repo.
|
||||
|
||||
## Package list
|
||||
|
||||
| Package | Purpose |
|
||||
|---------|---------|
|
||||
| `calamares` | Built with `packagechooser` module enabled, `dracut`/`initramfs` modules skipped |
|
||||
| `calamares-branding-antergos-next` | Branding files: `branding.desc`, `show.qml`, `settings.conf`, `packagechooser.conf`, `initcpiocfg.conf`, `initcpio.conf`, `calamares-next.sh` |
|
||||
| `antergos-wallpapers` | Default wallpapers installed to `/usr/share/wallpapers/` (KDE) and `/usr/share/backgrounds/` (other DEs) |
|
||||
| `linux-next` | Custom kernel based on `linux-artix` |
|
||||
| `winver` | "About Antergos NeXT" dialog built with KF6 + Qt6 |
|
||||
Custom PKGBUILDs live in the [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) repo. Built and published via CI to GitHub Pages as a pacman repository.
|
||||
|
||||
## Repo setup
|
||||
|
||||
@@ -26,33 +16,57 @@ SigLevel = Optional TrustAll
|
||||
Server = https://antergos-next.github.io/antergos-packages
|
||||
```
|
||||
|
||||
## Build system
|
||||
## Package list
|
||||
|
||||
Packages are built and published via CI. The build order is defined in `packages.yaml`. AUR packages (`yay`, `downgrade`) are included with retry logic for transient clone failures.
|
||||
|
||||
## Index
|
||||
|
||||
The package index (`index.db`, `index.files`) is generated with timestamps in **Europe/Berlin** timezone. See `generate-index.py`.
|
||||
| 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-release` | `/usr/lib/os-release` with "Antergos NeXT" identification |
|
||||
|
||||
## PKGBUILD notes
|
||||
|
||||
### calamares
|
||||
|
||||
- `_skip_modules` includes `dracut`, `initramfs`, `initramfscfg` — these are Artix/systemd-holdovers not needed on OpenRC/mkinitcpio
|
||||
- `-DCMAKE_DISTRIBUTION_NAME` is a **no-op** — Calamares ignores it. The "for <distro>" text comes from `versionedName` in the active branding component at runtime
|
||||
- `_skip_modules` includes `dracut`, `initramfs`, `initramfscfg` — these are systemd-holdovers not needed on Artix (uses mkinitcpio)
|
||||
- **`-DCMAKE_DISTRIBUTION_NAME` is a no-op** — Calamares ignores it completely. The "for \<distro\>" text in the about dialog comes from `versionedName` in the active branding component at runtime. Do NOT add this flag.
|
||||
|
||||
### calamares-branding-antergos-next
|
||||
|
||||
- Ships `calamares-next.sh` — the launcher script that presents the mode picker and manages config switching
|
||||
- `packagechooser.conf` provides a DE-only fallback for standalone use
|
||||
- `settings_offline.conf` / `settings_online.conf` override live-overlay settings at install time
|
||||
- `calamares-next.sh` `SetConfig()` must remove the symlink before copying config, or it follows the link and overwrites the wrong file
|
||||
- `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`)
|
||||
|
||||
### antergos-wallpapers
|
||||
|
||||
- Installs to `/usr/share/wallpapers/antergos-wallpaper/` with `metadata.desktop` for KDE picker support
|
||||
- Installs to `/usr/share/wallpapers/antergos-wallpaper/contents/images/` with `metadata.desktop` for KDE picker support
|
||||
- Also available at `/usr/share/backgrounds/antergos/` for other DEs
|
||||
- Current wallpaper: GNOME Adwaita Morning (`adwaita-morning.webp`, CC BY-SA 3.0 by Jakub Steiner)
|
||||
- Ships three wallpapers: original Antergos PNG (default), Adwaita Morning, and antergos-darkest-hour
|
||||
|
||||
## File conflict notes
|
||||
## File conflicts
|
||||
|
||||
`calamares` and `calamares-branding-antergos-next` both claim `/usr/share/calamares/branding/default/branding.desc` and `show.qml`. Resolved at ISO build time via `--overwrite='*'` in repo's `./buildiso`.
|
||||
| Package 1 | Package 2 | File | Resolution |
|
||||
|-----------|-----------|------|------------|
|
||||
| `calamares` | `calamares-branding-antergos-next` | `/usr/share/calamares/branding/default/branding.desc`, `show.qml` | `--overwrite='*'` in `./buildiso` |
|
||||
| `filesystem` | `antergos-release` | `/usr/lib/os-release` | `antergos-release` in basestrap operations list (uses `--overwrite`) |
|
||||
|
||||
## 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.
|
||||
|
||||
@@ -27,7 +27,6 @@ Unlike runit, s6 has a real dependency-based service manager (`s6-rc`) with decl
|
||||
## Who uses it?
|
||||
|
||||
- **Artix Linux** — available as an alternative init
|
||||
- **Chimera Linux** — uses s6 as its init system
|
||||
- **Docker images** — s6-overlay is popular for container supervision
|
||||
- Embedded systems, minimal Linux builds
|
||||
|
||||
|
||||
+16
-17
@@ -10,37 +10,36 @@ The `antergos-wallpapers` package provides default wallpapers for the live sessi
|
||||
|
||||
## Current wallpaper
|
||||
|
||||
GNOME **Adwaita Morning** (`adwaita-morning.webp`) — 7680×4320, CC BY-SA 3.0 by Jakub Steiner / GNOME Project.
|
||||
**antergos-wallpaper.png** — the original Antergos wallpaper, sourced from the [Antergos/wallpapers](https://github.com/Antergos/wallpapers) repo. GPL-3.0.
|
||||
|
||||
Also ships:
|
||||
- **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+)
|
||||
|
||||
## Installation paths
|
||||
|
||||
| Path | Purpose |
|
||||
|------|---------|
|
||||
| `/usr/share/wallpapers/antergos-wallpaper/` | KDE wallpaper picker (requires `metadata.desktop`) |
|
||||
| `/usr/share/wallpapers/antergos-wallpaper/contents/images/` | KDE wallpaper picker (reads from here) |
|
||||
| `/usr/share/backgrounds/antergos/` | Other DEs / fallback |
|
||||
| `/usr/share/antergos/backgrounds/` | Legacy path |
|
||||
|
||||
## How it appears in KDE
|
||||
|
||||
KDE's wallpaper picker scans `/usr/share/wallpapers/` for directories containing a `metadata.desktop` file. The `metadata.desktop` format:
|
||||
|
||||
```ini
|
||||
[Wallpaper]
|
||||
name=Antergos NeXT
|
||||
filename=adwaita-morning.webp
|
||||
```
|
||||
The KDE plugin names are `antergos-wallpaper` and `antergos-darkest-hour`, each with their own `metadata.desktop`.
|
||||
|
||||
## Set on first login
|
||||
|
||||
Since Plasma overwrites `/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc` on first login, the wallpaper is applied via a one-shot autostart script:
|
||||
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` — calls the script with `X-KDE-autostart-phase=2`
|
||||
2. `~/.config/autostart/antergos-wallpaper.desktop` (from skel) — calls the script with `X-KDE-autostart-phase=2`
|
||||
|
||||
The marker file prevents the script from running on subsequent logins.
|
||||
|
||||
## Customizing
|
||||
|
||||
To replace the wallpaper, update:
|
||||
- `packages/antergos-wallpapers/PKGBUILD` (source + checksum)
|
||||
- `packages/antergos-wallpapers/adwaita-morning.webp`
|
||||
- `packages/antergos-wallpapers/metadata.desktop` (if changing name)
|
||||
To replace the wallpaper, update the `antergos-wallpapers` package:
|
||||
- `packages/antergos-wallpapers/PKGBUILD` — update source URL and checksum
|
||||
- `packages/antergos-wallpapers/<image-file>` — new wallpaper image
|
||||
- `packages/antergos-wallpapers/metadata.desktop` — update name if changing
|
||||
|
||||
Rebuild the package and push to the [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) repo.
|
||||
|
||||
Reference in New Issue
Block a user