Author SHA1 Message Date
c-ludenberg 2c7b4072dc docs: point all links at Gitea (Euri-Linux), replace dead GitHub Pages repo URL, fix wallpaper plugin names 2026-08-23 19:10:13 +02:00
c-ludenberg b65f1a37eb fix: keyring fetch path -> Euri-Linux/euri-packages/euri-keyring/euri.gpg 2026-08-21 22:05:15 +02:00
c-ludenberg 11706db546 rebrand!: Antergos NeXT -> Euri Linux 2026-08-21 21:34:51 +02:00
c-ludenberg 24affb4a5a Fix runner labels to match act_runner configuration 2026-08-19 22:11:32 +02:00
c-ludenberg 21db45f0b0 Migrate .github to .gitea, add pages workflow and nginx stack 2026-08-19 22:07:51 +02:00
c-ludenberg ebf861e083 Add Gitea Actions workflow for ISO build 2026-08-19 21:26:16 +02:00
Michał d4c155a0af i had it wrong 😭 2026-08-18 00:41:39 +02:00
Michał 7ce836e905 fixing build.yml 2026-08-18 00:38:20 +02:00
Michał 4134d950ac fix(ci): bootstrap package signing key before ISO build
.... it's midnight...i dont even have the release ready. FU-
2026-08-18 00:36:52 +02:00
c-ludenberg 9a63b5d17a fix(calamares): enable all DMs in services-artix, clarify both config dirs are online
services-artix.conf enabled only sddm + greetd, so LY/LightDM/LXDM were
installed but never service-enabled -> TTY at boot instead of login screen.
Enable the full DM set (artix-service only activates the installed one).

Docs: the live-overlay calamares/ and calamares-online/ dirs both serve the
online installer; there is no offline Calamares config. settings_offline.conf
shipped by the branding package is unused - the launcher always overwrites it.
2026-08-17 20:17:40 +02:00
c-ludenberg 1b44b91e30 chore(pacman): require signed DB for antergos-pkgs, drop TrustAll
Both build and installed-system pacman configs now use
'SigLevel = DatabaseRequired PackageOptional' for [antergos-pkgs].
The repo DB is signed by the dedicated signing key (AA644A09...),
which authenticates all packages via the checksums the signed DB
carries. Keyring package updated to match.
2026-08-17 18:55:41 +02:00
c-ludenberg da5a59a2e5 fix(offline): quoted brace expansion created literal dir, mounts failed
The mkdir on line 118 had braces inside double quotes, so bash created
a single directory named '{home,var/cache,var/log,.snapshots,boot}'
instead of five separate ones. Every subsequent subvolume mount
(/home, /var/cache, etc.) then failed. Also: detect EFI vs BIOS boot
for grub-install instead of hard-coding x86_64-efi (which bricks under
set -eu on BIOS-only machines), and surface mkinitcpio failures instead
of swallowing them.
2026-08-17 18:18:34 +02:00
c-ludenberg dab33f11e2 feat: generate ISO sha256 checksum on build
artools only embeds internal LiveOS md5 files; nothing verifies the ISO
itself. Emit <iso>.sha256 alongside the artifact in both CI and the
podman build script so releases ship a verifiable checksum.
2026-08-17 18:14:07 +02:00
c-ludenberg b46206d54f fix(build): copy ISO from WORKSPACE_DIR/iso, not artools build dir
buildiso outputs to $WORKSPACE_DIR/iso/antergos/, so the export step
copied from an empty source and produced an empty iso-output/.
2026-08-17 18:11:36 +02:00
c-ludenberg 14a109febf revert: drop pacman -Scc from build container
Forcing a full cache wipe re-downloads every package every build,
lengthening builds and increasing exposure to slow mirrors. The
truncated-download failure is transient mirror flakiness, not stale
cache; pacman already falls through mirrors. Revert to upstream.
2026-08-17 18:04:30 +02:00
c-ludenberg 153b3def19 fix(build): clear pacman cache before build 2026-08-17 17:54:54 +02:00
c-ludenberg 3c6968ba56 chore(release): slip Arranxo date to 2026.08.17
Packages CI + ISO build take ~30+ min; move the release date forward
so the ISO and packages stay in sync. os-release and docs updated.
2026-08-16 23:50:41 +02:00
c-ludenberg abebe277d4 fix(calamares): sync LightDM group to branding config, add zenity to live
- packagechooser_dm.conf (offline + online copies): LightDM group now
  installs lightdm-slick-greeter + antergos-lightdm-config and shows a
  screenshot. The live-overlay was overriding the branding package's
  config with a bare LightDM group (no greeter), so displaymanager's
  greeter_setup() aborted Xfce+LightDM online installs.
- profile.yaml: add zenity to rootfs packages. antergos-offline-install
  uses zenity exclusively but only yad was installed, so the offline
  installer silently did nothing on double-click.
2026-08-16 23:44:58 +02:00
c-ludenberg 1594c9b9e6 fix(build): create loop devices in container for efi.img mount
make_grub mounts the 4M efi.img with a loop device. The podman container
only had /dev/loop0 from the host, so losetup could not allocate a free
loop device and the build aborted at the EFI boot image step. Create
/dev/loop-control and /dev/loop0-15 before running buildiso.
2026-08-16 22:58:48 +02:00
c-ludenberg 9450280214 fix(build): override container ENTRYPOINT so sh runs the build script 2026-08-16 22:41:40 +02:00
c-ludenberg 268d06be50 fix(build): build image rootful so sudo podman run finds it 2026-08-16 22:27:17 +02:00
c-ludenberg 4fd9b08ba9 fix(build): qualify local podman image reference in build-iso-podman.sh 2026-08-16 22:24:59 +02:00
c-ludenberg 9c356b55d4 release: 2026.08.16 Arranxo (semi-hotfix) — os-release + release notes
- Bump os-release to 2026.08.16 Arranxo in root/live overlays
- Add live-overlay usr/lib/os-release copy for self-containment
- Rewrite latest-release section for the semi-hotfix (COSMIC DM fix,
  zsh lockout fix, new Plasma Minimal DE entry, jtadlock91 credit)
2026-08-16 21:34:42 +02:00
c-ludenberg 9c714387cb docs(contributing): unsigned PRs are closed, useful changes re-implemented with credit 2026-08-16 21:10:33 +02:00
c-ludenberg f9b830621e fix(calamares): add zsh to Default group and minimal KDE entry (reference copies)
Mirror the packaged calamares-branding-antergos-next changes so the live-overlay
configs stay self-contained if the packages repo is rebuilt.
2026-08-16 21:05:58 +02:00
c-ludenberg b58da2a378 fix(calamares): add cosmic-greeter-dinit to COSMIC choice, run displaymanager after services-artix 2026-08-16 19:15:12 +02:00
c-ludenberg 9f9ce8b5aa docs: document container and native build paths, update release notes and netinstall-add docs 2026-08-16 19:15:09 +02:00
c-ludenberg 29e795da87 docs: rebrand project as 'technical successor', not 'revival' 2026-08-16 19:14:59 +02:00
c-ludenberg 3abead50e2 fix(ci): only moderate new issues/PRs, stop flagging normal content 2026-08-16 19:11:02 +02:00
Michał adf96ddac2 update the ai moderator to not activate if i comment in a PR 2026-08-16 14:58:22 +00:00
c-ludenberg 76e1bb1fc1 feat(build): containerize ISO builds for non-pacman distros
this is a commit message. it is a MANIFESTO for no reason. i am aware.
it is 17:38. i am in pain. the pain is optional. the commit is not.

so. context, because i know you need it:
i installed gentoo to see what happens. what happened: emerge. days of
emerge. portage asked me to rebuild itself mid-rebuild and i said yes
because i was scared of what it'd do if i said no. my ext4 drive died
AGAIN so we're btrfs. snapshots are now my emergency contacts.
(profile update pending: "Used Gentoo BTW" -> "Used Gentoo and it
used me")

THE ACTUAL CHANGES (finally):
- artools is bash + pacman. it is not sacred. it is now a CONTAINER
- Containerfile: artix base, artools + squashfs-tools + xorriso +
  mkinitcpio, repo buildiso as ENTRYPOINT (the --overwrite='*' one.
  the other one knows what it did), antergos-pkgs pacman.conf baked in
- .dockerignore so podman users don't download 33MB of my .git and
  learn things about me

devtmpfs requires rootful podman. i am not explaining why. the answer
is "devtmpfs is a coward." i am the maintainer. i am allowed to say
that. rootless? you're not building an ISO, you're building a support
system for your decisions. anyway.

- build-iso-podman.sh exists so i can stop pasting commands from the
  README into my own terminal like a tourist
- README now has: podman for non-pacman (gentoo fedora debian), native
  for arch/artix/kaos, and a TABLE. i made a TABLE. i am healing.
- it works on any distro with podman because i want you to suffer LESS
  than me. that is not altruism. it is spite with a benefit package.

so laugh all you want. forget about me all you want. but at least i'll
be gorgeous forever. this is the longest i've committed to anything
since gentoo. and i regret BOTH of those decisions.

Signed-off-by: Michał <ash8820@proton.me>
2026-08-15 17:38:30 +00:00
c-ludenberg 00e1390b96 hotfix(calamares): add greetd to online displaymanager.conf
The online DM chooser offers greetd but the online displaymanager.conf
never listed it, so Calamares skipped DMgreetd and never wrote
/etc/greetd/config.toml for COSMIC. Offline already had it.

PS: as the maintainer, this is part of the hotfix release that will drop
shortly after I finish suffering through a Gentoo install.
2026-08-13 18:30:35 +02:00
c-ludenberg 52d3afed46 chore(release): 2026.08.11 Xeitoso codename in live and root os-release 2026-08-10 19:19:17 +02:00
136 changed files with 883 additions and 836 deletions
+4
View File
@@ -0,0 +1,4 @@
.git
.iso
iso-output
docs/_site
@@ -36,7 +36,7 @@ Examples of unacceptable behavior include:
* Asking why the project doesn't use systemd (the answer is always "no :3",
this has been established, please respect our time)
* Continuing to insist on systemd after being told no. If you really want a
systemd-based Antergos NeXT, here is your path:
systemd-based Euri Linux, here is your path:
1. Fork this repository from the `before-systemd-change` branch (not master).
Note: that branch uses `archiso`, not our custom `buildiso` — you will
need to adapt every package and profile.
@@ -45,7 +45,7 @@ body:
label: Environment
description: |
Examples:
- **ISO version**: antergos-next-20260701
- **ISO version**: euri-20260701
- **Install method**: Online / BYODE
- **Desktop**: KDE Plasma / Xfce
value: |
@@ -1,5 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Antergos NeXT Community
- name: Euri Linux Community
url: https://github.com/Antergos-NeXT/antergos-iso/discussions
about: Please ask and answer questions here.
+63
View File
@@ -0,0 +1,63 @@
name: Build ISO
on:
workflow_dispatch:
jobs:
build:
runs-on: artix-runner
steps:
- name: Install dependencies first
run: |
pacman -Syu --noconfirm --needed --overwrite='*' \
artools \
git \
squashfs-tools \
sudo \
python \
python-pip \
curl \
ca-certificates
- uses: actions/checkout@v4
- name: Bootstrap Euri package signing key
run: |
KEY_FINGERPRINT=AA644A095D2AF5F950FADB57C51BFE8D3A985236
curl -fsSL -o /tmp/euri.gpg https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-packages/raw/branch/master/packages/euri-keyring/euri.gpg
pacman-key --init
pacman-key --add /tmp/euri.gpg
gpg --homedir /etc/pacman.d/gnupg --batch --with-colons --fingerprint "$KEY_FINGERPRINT" | grep -q "fpr:::::::::$KEY_FINGERPRINT:"
pacman-key --lsign-key "$KEY_FINGERPRINT"
rm -f /tmp/euri.gpg
- name: Set up WORKSPACE_DIR
run: |
echo "WORKSPACE_DIR=${{ gitea.workspace }}" >> $GITHUB_ENV
- name: Override pacman.conf with euri-pkgs repo
run: |
mkdir -p /root/.config/artools/pacman.conf.d
cp "pacman.conf.d/iso-x86_64.conf" \
/root/.config/artools/pacman.conf.d/iso-x86_64.conf
cp "pacman.conf.d/iso-x86_64.conf" \
/usr/share/artools/pacman.conf.d/iso-x86_64.conf
- name: Build ISO
run: |
sudo -E ./buildiso -p euri
- name: Generate checksums
run: |
ISO=$(ls iso/euri/euri-*.iso 2>/dev/null | head -1)
[[ -z "$ISO" || ! -f "$ISO" ]] && { echo "No ISO found"; exit 1; }
sha256sum "$ISO" > "$ISO.sha256"
cat "$ISO.sha256"
- name: Upload ISO artifact
uses: actions/upload-artifact@v4
with:
name: Euri-Linux-ISO
path: iso/
+40
View File
@@ -0,0 +1,40 @@
name: Build Docs
on:
workflow_dispatch:
jobs:
build:
runs-on: host
container:
image: artixlinux/artixlinux:base
options: --privileged
steps:
- uses: actions/checkout@v4
- name: Install docs dependencies
run: |
pacman -Syu --noconfirm --needed --overwrite='*' \
ruby \
ruby-bundler \
nodejs \
npm \
git \
docker
- name: Build Jekyll docs
run: |
cd docs
bundle config set --local path vendor/bundle
bundle install
bundle exec jekyll build
ls -la _site/
- name: Deploy to gitea-docs volume
run: |
docker run --rm \
-v "$(pwd)/docs/_site":/source:ro \
-v gitea-docs:/target \
alpine:latest \
sh -c "rm -rf /target/* && cp -a /source/. /target/ && ls -la /target/"
-182
View File
@@ -1,182 +0,0 @@
name: AI Moderator
on:
issues:
types: [opened]
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
discussion:
types: [created]
discussion_comment:
types: [created]
permissions:
issues: write
pull-requests: write
discussions: write
contents: read
jobs:
moderate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/github-script@v9
env:
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
with:
script: |
const fs = require('fs');
const coc = (() => { try { return fs.readFileSync('.github/CODE_OF_CONDUCT.md', 'utf8'); } catch (e) { return ''; } })();
const contributing = (() => { try { return fs.readFileSync('CONTRIBUTING.md', 'utf8'); } catch (e) { return ''; } })();
const content = context.payload.issue?.body
|| context.payload.discussion?.body
|| context.payload.comment?.body
|| '';
if (!content.trim()) {
console.log('No content to analyze');
return;
}
const isComment = context.payload.comment !== undefined;
const isDiscussion = context.payload.discussion !== undefined;
const prompt = [
'You are an AI moderator for the Antergos NeXT project.',
'Speak in first person. Be direct, confident, and have some snark.',
'The project has a playful but no-nonsense tone - match it.',
'',
'If the content says it is a test or contains phrases like moderator',
'or test or reply here, play along with the joke but still enforce the rules.',
'',
'Code of Conduct:',
coc,
'',
'Contributing Guidelines:',
contributing,
'',
'Analyze the content below for violations.',
'Respond with ONLY valid JSON - no markdown, no backticks.',
'',
'{',
' "violation": true/false,',
' "message": "your direct first-person response",',
' "action": "warn",',
' "severity": 1-10',
'}',
'',
'"action" options: "warn" (post warning), "hide" (minimize comment), "lock" (lock issue/discussion)',
'For issues use "warn" or "lock". For comments you may use "hide".',
'',
'Content:',
content
].join('\n');
const model = 'llama-3.1-8b-instant';
let decision;
try {
const response = await fetch('https://api.groq.com/openai/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.GROQ_API_KEY}`
},
body: JSON.stringify({
model,
messages: [
{ role: 'system', content: 'You are a helpful community moderator. Respond only with valid JSON as instructed.' },
{ role: 'user', content: prompt }
],
temperature: 0.1,
max_tokens: 250
})
});
const data = await response.json();
const raw = data.choices?.[0]?.message?.content || '{}';
decision = JSON.parse(raw.replace(/```json|```/g, '').trim());
console.log(`Decision: ${JSON.stringify(decision)}`);
} catch (err) {
console.log(`API error: ${err}`);
return;
}
if (!decision.violation) {
console.log('Content deemed acceptable');
return;
}
const number = context.payload.issue?.number
|| context.payload.pull_request?.number
|| context.payload.discussion?.number;
if (!number) {
console.log('No issue/PR/discussion number found');
return;
}
const owner = context.repo.owner;
const repo = context.repo.repo;
try {
if (isDiscussion) {
const discId = context.payload.discussion.node_id;
if (discId) {
const msg = decision.message.replace(/"/g, '\\"');
await github.graphql(`
mutation {
addDiscussionComment(input: {discussionId: "${discId}", body: "${msg}"}) {
comment { id }
}
}
`);
}
} else {
await github.rest.issues.addLabels({
owner, repo, issue_number: number, labels: ['ai-moderated']
});
await github.rest.issues.createComment({
owner, repo, issue_number: number, body: decision.message
});
}
if (decision.action === 'hide' && isComment) {
const commentId = context.payload.comment.node_id;
if (commentId) {
await github.graphql(`
mutation {
minimizeComment(input: {subjectId: "${commentId}", classifier: OFF_TOPIC}) {
minimizedComment { isMinimized }
}
}
`);
console.log('Comment minimized');
}
}
if (decision.action === 'lock') {
if (isDiscussion) {
const discId = context.payload.discussion.node_id;
if (discId) {
await github.graphql(`
mutation {
lockLockable(input: {lockableId: "${discId}"}) {
lockedRecord { activeLockReason }
}
}
`);
}
} else {
await github.rest.issues.lock({ owner, repo, issue_number: number, lock_reason: 'too_heated' });
}
console.log('Locked');
}
console.log('Action completed: ' + decision.action);
} catch (err) {
console.log(`GitHub API error: ${err}`);
}
-104
View File
@@ -1,104 +0,0 @@
name: Build ISO
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
container:
image: artixlinux/artixlinux:base
options: --privileged
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
pacman -Syu --noconfirm --needed --overwrite='*' \
artools \
git \
squashfs-tools \
sudo \
python \
python-pip
- name: Set up WORKSPACE_DIR
run: |
echo "WORKSPACE_DIR=${{ github.workspace }}" >> $GITHUB_ENV
- name: Debug workspace
run: |
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
echo "github.workspace=${{ github.workspace }}"
pwd
ls -la
- name: Override pacman.conf with antergos-pkgs repo
run: |
mkdir -p /root/.config/artools/pacman.conf.d
cp "pacman.conf.d/iso-x86_64.conf" \
/root/.config/artools/pacman.conf.d/iso-x86_64.conf
# Also override the default in case USER_CONF_DIR differs
cp "pacman.conf.d/iso-x86_64.conf" \
/usr/share/artools/pacman.conf.d/iso-x86_64.conf
- name: Check available swap and block devices
run: |
swapon --show || echo "No swap"
lsblk
free -h
- name: Setup tmpfs for build directory
run: |
mkdir -p /var/lib/artools/buildiso
mount -t tmpfs -o size=12G,exec,suid,dev tmpfs /var/lib/artools/buildiso
mount | grep buildiso
- name: Build ISO
run: |
sudo -E ./buildiso -p antergos
- name: Upload ISO artifact
uses: actions/upload-artifact@v4
with:
name: Antergos-NeXT-ISO
path: ${{ github.workspace }}/iso/
- name: Upload to Internet Archive
if: false # My NVMe tried to unalive itself, 1536 unsafe shutdowns, ext4 cooked medium-rare, so I'm raw-dogging my own distro now. Set to true when I stop being my own QA team.
env:
IA_ACCESS_KEY: ${{ secrets.IA_ACCESS_KEY }}
IA_SECRET_KEY: ${{ secrets.IA_SECRET_KEY }}
run: |
pip install --break-system-packages internetarchive
mkdir -p "$HOME/.config/internetarchive"
cat > "$HOME/.config/internetarchive/ia.ini" <<EOF
[s3]
access = $IA_ACCESS_KEY
secret = $IA_SECRET_KEY
EOF
ISO_DIR="${WORKSPACE_DIR}/iso"
ISO=$(ls "$ISO_DIR"/antergos/*.iso 2>/dev/null | head -1)
[[ -z "$ISO" || ! -f "$ISO" ]] && { echo "No ISO found"; exit 1; }
DATE=$(date +%Y.%m.%d)
IDENTIFIER="antergos-next-$(date +%Y%m%d)-${{ github.run_number }}"
SIZE=$(stat -c%s "$ISO")
if [[ $SIZE -lt 524288000 ]]; then
echo "WARNING: ISO smaller than expected (${SIZE} bytes)"
file "$ISO" | grep -q "ISO 9660\|UDF" || { echo "Corrupted ISO"; exit 1; }
fi
ia upload "$IDENTIFIER" "$ISO" \
--metadata="title:Antergos NeXT $(date +%Y.%m.%d)" \
--metadata="mediatype:software" \
--metadata="collection:open_source_software" \
--metadata="description:Antergos NeXT community revival ISO — KDE Plasma, Dinit, Calamares installer" \
--metadata="subject:Antergos; Linux; Artix; Dinit; KDE Plasma; Calamares" \
--retries 5
echo "Uploaded to: https://archive.org/details/$IDENTIFIER"
-55
View File
@@ -1,55 +0,0 @@
name: Deploy docs to Pages
on:
push:
branches: ["master"]
paths: ["docs/**"]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: docs
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
bundler-cache: true
cache-version: 0
working-directory: '${{ github.workspace }}/docs'
- name: Setup Pages
id: pages
uses: actions/configure-pages@v6
- name: Build with Jekyll
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Upload artifact
uses: actions/upload-pages-artifact@v4
with:
path: docs/_site/
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
+15 -15
View File
@@ -25,10 +25,10 @@ Without passphrase is allowed for now, but prepare to encrypt it one day 0_0 —
## The Crusade
- **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)
- **Build command**: `export WORKSPACE_DIR="$PWD" && sudo -E ./buildiso -p euri`**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/euri/` (assuming the build gods are pleased)
## Antergos NeXT Repos
## Euri Linux Repos
- **antergos-iso**: `https://github.com/Antergos-NeXT/antergos-iso`
- **antergos-packages**: `https://github.com/Antergos-NeXT/antergos-packages`
- **calamares**: `https://codeberg.org/calamares/calamares` (upstream installer framework)
@@ -57,16 +57,16 @@ Calamares `Branding.cpp` has this check:
```cpp
if (m_componentName != componentDir.dirName()) { bail(...); }
```
So `componentName: antergos-next` can only live in directory `antergos-next/`. If copying to `default/`, you MUST `sed` the componentName to `default`.
So `componentName: euri` can only live in directory `euri/`. If copying to `default/`, you MUST `sed` the componentName to `default`.
### Package order matters in profile.yaml
Build uses `basestrap --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.
Build uses `basestrap --overwrite='*'`. The **last** package to claim a file wins. Package order in `profile.yaml` should list `calamares` BEFORE `calamares-branding-euri`, so branding files overwrite Calamares defaults, not the other way around.
### Repo order in iso-x86_64.conf
`[antergos-pkgs]` must be listed FIRST in `iso-x86_64.conf` so our custom packages (calamares, branding) take priority over Artix's.
`[euri-pkgs]` must be listed FIRST in `iso-x86_64.conf` so our custom packages (calamares, branding) take priority over Artix's.
### Pacman.conf must be user-overridden
`buildiso` uses `/usr/share/artools/pacman.conf.d/iso-x86_64.conf` (from artools package) unless there's one at `~/.config/artools/pacman.conf.d/iso-x86_64.conf`. But we need `[antergos-pkgs]` in it. Before building locally:
`buildiso` uses `/usr/share/artools/pacman.conf.d/iso-x86_64.conf` (from artools package) unless there's one at `~/.config/artools/pacman.conf.d/iso-x86_64.conf`. But we need `[euri-pkgs]` in it. Before building locally:
```bash
mkdir -p ~/.config/artools/pacman.conf.d
@@ -79,28 +79,28 @@ CI does this automatically. Forget this step and buildiso will try to fetch our
`buildiso` looks for profiles at `$WORKSPACE_DIR/iso-profiles/<profile>/` if `WORKSPACE_DIR` is set. Always set it to the repo root when building locally.
### Default init system
Antergos NeXT uses **dinit** (via `INITSYS='dinit'` in `buildiso`). Runit and s6 are also available as user-selectable options in the online installer. **OpenRC is 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.
Euri Linux 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".
### `euri-release` in basestrap.conf operations
The `filesystem` package owns `/usr/lib/os-release` with "Artix Linux". To get "Euri Linux" in os-release, `euri-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.
`kde_settings.conf` from KDE's SDDM KCM sets `Current=breeze`. The `euri-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=euri` 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>`.
### CI: manual dispatch only, IA upload disabled (temporarily)
`build.yml` only runs on `workflow_dispatch` (push trigger removed). Internet Archive upload is currently **disabled** (`if: false` in the workflow) — builds are manually verified first. When re-enabled it uploads with unique identifier format `euri-YYYYMMDD-<run_number>`.
## Repo Structure
```
antergos-iso/
├── buildiso # Modified buildiso with Antergos branding
├── buildiso # Modified buildiso with Euri branding
├── iso-profiles/
│ ├── antergos/
│ ├── euri/
│ │ ├── profile.yaml # Packages, services (rootfs + livefs)
│ │ ├── root-overlay/ # Merged into squashfs rootfs
│ │ └── live-overlay/ # Merged into live environment
+8 -4
View File
@@ -1,4 +1,4 @@
# Contributing to Antergos NeXT
# Contributing to Euri Linux
## Who's behind this
@@ -28,13 +28,17 @@ git config user.signingkey <your-key>
git config commit.gpgsign true
```
**Unsigned PRs will be closed without merging.** If your change is genuinely useful,
the maintainer will re-implement it their own way and you'll still be credited for the
original idea.
## Building locally
```bash
export WORKSPACE_DIR="$PWD"
mkdir -p ~/.config/artools/pacman.conf.d
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
sudo -E ./buildiso -p antergos
sudo -E ./buildiso -p euri
```
Use `./buildiso`, not the system `/usr/bin/buildiso` — the system one lacks `--overwrite='*'` and will fail with file conflicts.
@@ -42,8 +46,8 @@ Use `./buildiso`, not the system `/usr/bin/buildiso` — the system one lacks `-
## Key gotchas
- **`componentName` in `branding.desc` must match its directory name.** Calamares will bail if they don't match.
- **Package order in `profile.yaml` matters.** `calamares` must be before `calamares-branding-antergos-next` so branding overwrites defaults.
- **`[antergos-pkgs]` must be first in `iso-x86_64.conf`.** Custom packages take priority over Artix's.
- **Package order in `profile.yaml` matters.** `calamares` must be before `calamares-branding-euri` so branding overwrites defaults.
- **`[euri-pkgs]` must be first in `iso-x86_64.conf`.** Custom packages take priority over Artix's.
- **Copy pacman.conf before building.** `buildiso` uses `~/.config/artools/pacman.conf.d/iso-x86_64.conf`. Without it, it falls back to the system one which lacks the custom repo.
- **`CMAKE_DISTRIBUTION_NAME` is a no-op.** Calamares ignores it. The "for <distro>" text comes from `versionedName` in the active branding.
+56
View File
@@ -0,0 +1,56 @@
# Euri Linux ISO build container
#
# Build an Euri Linux ISO inside an Artix Linux container. This is the
# same path GitHub Actions uses, so anyone can produce a release ISO without
# running an Artix/Arch system (works on Gentoo, Fedora, anything with podman).
#
# Usage:
# podman build -t euri-build .
# podman run --rm --privileged \
# -v /var/lib/artools-buildiso:/var/lib/artools/buildiso \
# -v "$(pwd)/iso-output:/workspace/iso-output" \
# -e WORKSPACE_DIR=/workspace \
# euri-build
#
# --privileged is required: artools' chroot (via basestrap) mounts devtmpfs,
# proc and sysfs into the target, which rootless containers cannot do.
#
# The finished ISO is written to /workspace/iso-output (bind-mounted above).
FROM docker.io/artixlinux/artixlinux:base
ENV INITSYS=dinit \
WORKSPACE_DIR=/workspace \
CHROOTS_DIR=/var/lib/artools
# Full dependency set for an ISO build: artools (base + iso tools), squashfs
# for the .sfs layers, mkinitcpio for the initramfs, grub + xorriso for the
# bootable image, git/python for CI tooling and the Internet Archive uploader.
RUN pacman -Syu --noconfirm --needed --overwrite='*' \
artools \
git \
squashfs-tools \
sudo \
python \
python-pip \
xorriso \
dosfstools \
syslinux \
gptfdisk \
mtools
# This repo's buildiso and profiles become the default build payload. Mounting
# a live checkout over /workspace at runtime replaces these with the user's copy.
WORKDIR /workspace
COPY . .
# Point artools at the Euri package repository. CI copies the profile's
# pacman.conf into both the user config dir (first match) and artools' defaults.
RUN mkdir -p /root/.config/artools/pacman.conf.d \
&& cp pacman.conf.d/iso-x86_64.conf /root/.config/artools/pacman.conf.d/iso-x86_64.conf \
&& cp pacman.conf.d/iso-x86_64.conf /usr/share/artools/pacman.conf.d/iso-x86_64.conf
# The modified buildiso lives in this repo and must be used instead of
# /usr/bin/buildiso (which lacks --overwrite='*').
ENTRYPOINT ["/workspace/buildiso"]
CMD ["-p", "euri"]
+11 -9
View File
@@ -3,14 +3,17 @@
## Disclaimers
### Project Status
This project is a **community-driven revival** and is **not affiliated with**,
This project is a **technical successor** to Antergos and is **not affiliated with**,
**not endorsed by**, and **not supported by** the original Antergos team or any
corporate entity.
corporate entity. It is an independent project by different people, continuing the
lineage rather than cloning it.
### Branding
The "Antergos" name and associated visual elements are used in a referential
capacity to indicate this project's inspiration. The original Antergos project
ended in 2019. This is an independent project by different people.
The "Antergos" name and logo are used with the blessing of Dustin Falgout, one of the original
Antergos developers. Everything else — themes, artwork, the synthwave video wallpaper, desktop
settings, and branding elements — is Euri Linux's own, created for this project. The original
Antergos wallpapers are shipped only as a fallback. The Antergos feeling is not replaced; it lives
on in a new form with its own identity.
### No Warranty
This software is provided "as is", without warranty of any kind, express or
@@ -27,12 +30,11 @@ dependencies and source files for specific licensing information.
### Sources & Inspiration
- [artools](https://gitea.artixlinux.org/artix/artools) - ISO build system
- [Calamares](https://codeberg.org/Calamares/calamares) - Installer framework
- [Antergos Wallpapers](https://github.com/Antergos/wallpapers) - Original wallpapers
### Original Antergos Team
Thanks to the original Antergos team (2012-2019) for creating the project that
inspired this revival. Dustin Falgout, one of the original developers, has given his
blessing for this community project to carry the Antergos name forward.
Thanks to the original Antergos team (2012-2019) for creating the project that this
project succeeds. Dustin Falgout, one of the original developers, has given his
blessing for this successor to carry the Antergos name forward.
### Contributors
Thanks to everyone who tested, provided feedback, and kept the Antergos
+73 -22
View File
@@ -1,17 +1,19 @@
# Antergos NeXT ISO
# Euri Linux ISO
*Euri Linux (formerly Antergos NeXT)*
> Looking for the old Arch/systemd version? See the [`before-systemd-change` branch](https://github.com/Antergos-NeXT/antergos-iso/tree/before-systemd-change).
[![Build ISO](https://github.com/Antergos-NeXT/antergos-iso/actions/workflows/build.yml/badge.svg)](https://github.com/Antergos-NeXT/antergos-iso/actions/workflows/build.yml)
[![Build ISO](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-iso/badges/workflows/build.yml/badge.svg)](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-iso/actions)
[![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg)](LICENSE)
[![Maintenance](https://img.shields.io/maintenance/yes/2026.svg)]()
[![Artix Linux](https://img.shields.io/badge/Artix%20Linux-rolling-1793d1.svg)](https://artixlinux.org)
[![DE-KDE](https://img.shields.io/badge/DE-KDE%20Plasma-4A86CF.svg)]()
[![Init](https://img.shields.io/badge/init-Dinit-brightgreen.svg)]()
[![Docs](https://img.shields.io/badge/docs-site-blue.svg)](https://antergos-next.github.io/antergos-iso/)
[![Docs](https://img.shields.io/badge/docs-in%20repo-blue.svg)](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-iso/src/branch/master/docs)
[![Dla mojego narodu](https://img.shields.io/badge/README-Polski-crimson.svg)](README.pl.md)
A community revival of Antergos — built on **Artix Linux** with **Dinit**, **KDE Plasma** desktop, the **Calamares** installer (online mode), and a BYODE script for offline installs.
A technical successor to Antergos — built on **Artix Linux** with **Dinit**, **KDE Plasma** desktop, the **Calamares** installer (online mode), and a BYODE script for offline installs. It's its own thing with its own branding — not a replacement for the Antergos feeling, but a continuation of its lineage.
## What changed
@@ -25,55 +27,104 @@ A community revival of Antergos — built on **Artix Linux** with **Dinit**, **K
## Why Artix?
The Antergos NeXT project prefers init system flexibility over systemd lock-in. Artix Linux provides a clean Arch-like experience with your choice of **Dinit** (default), Runit, or S6 — see `changing-init.md` if you want something else.
The Euri Linux project prefers init system flexibility over systemd lock-in. Artix Linux provides a clean Arch-like experience with your choice of **Dinit** (default), Runit, or S6 — see `changing-init.md` if you want something else.
> **Why Dinit?** We shipped OpenRC. Then Calamares kidnapped pacman's resolver and every `--noconfirm` call picked `elogind-dinit` (alphabetically before `elogind-openrc`). Dinit works great and OpenRC's service enabling was broken on installed systems anyway. Dinit wins by alphabetical destiny.
## Building
Requires an **Artix-based** system:
### Option A: Build in a container (non-pacman distros — recommended)
No Artix/Arch needed. Works on Gentoo, Fedora, Debian — anything **without
pacman** that has podman. This is the same path GitHub Actions CI uses.
```bash
# Install build deps
# Build the image (installs artools + deps inside an Artix container)
podman build -t euri-build .
# Build the ISO (rootful podman required — artools chroots mount devtmpfs,
# which rootless containers cannot do)
sudo podman run --rm --privileged \
-v /var/lib/artools-buildiso:/var/lib/artools/buildiso \
-v "$(pwd)/iso-output:/workspace/iso-output" \
-e WORKSPACE_DIR=/workspace \
euri-build
```
Or use the helper script:
```bash
./build-iso-podman.sh
```
The finished `.iso` lands in `iso-output/`.
### Option B: Native build (just pacman + artools)
You do **not** need an Artix-based system — `buildiso` is plain bash on top of
`pacman`. You need:
- `pacman` (native on Arch/Artix/**KaOS**; on other distros, install it or
extract the `.pkg.tar.zst` files)
- the artools libraries from the Artix repo: `artools-base` (provides
`basestrap`, `artix-chroot`, `fstabgen`) and `artools-iso` (provides
`buildiso`) plus their deps
- `squashfs-tools`, `grub`, `xorriso`/`libisoburn`, `dosfstools`, `mtools`
```bash
# On Arch/Artix:
pacman -S artools squashfs-tools
modprobe loop
# On KaOS (pacman native, but artools not in KaOS repos — extract from Artix):
pacman -S squashfs-tools
# grab artools-base/artools-iso from the Artix repo and extract over /
# On other distros: grab the packages from the Artix repo and extract
# them over / (e.g. into /usr/share/artools and /usr/bin), then install
# pacman and the deps listed above.
# Clone and enter
git clone https://github.com/Antergos-NeXT/antergos-iso.git
cd antergos-iso
git clone https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-iso.git
cd euri-iso
# Set workspace to repo root
export WORKSPACE_DIR="$PWD"
# Must use our pacman.conf (has antergos-pkgs repo)
# Must use our pacman.conf (has euri-pkgs repo)
mkdir -p ~/.config/artools/pacman.conf.d
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
# Build
sudo ./buildiso -p antergos
sudo ./buildiso -p euri
```
> **⚠️ VERY IMPORTANT**: Use `./buildiso`, not `buildiso`. The Artix system `buildiso` at `/usr/bin/buildiso` lacks the `--overwrite='*'` flag passed to `basestrap`, causing file conflicts (e.g. `calamares` vs `calamares-branding-antergos-next` both claiming `/usr/share/calamares/branding/default/`). Our repo's `./buildiso` has it.
> **⚠️ VERY IMPORTANT**: Use `./buildiso`, not `buildiso`. The Artix system `buildiso` at `/usr/bin/buildiso` lacks the `--overwrite='*'` flag passed to `basestrap`, causing file conflicts (e.g. `calamares` vs `calamares-branding-euri` both claiming `/usr/share/calamares/branding/default/`). Our repo's `./buildiso` has it.
The `.iso` appears in `/var/lib/artools/buildiso/iso/antergos/`.
The `.iso` appears in `/var/lib/artools/buildiso/iso/euri/`.
First build pulls ~5 GB from the internet. Subsequent builds use pacman cache.
> **Which option do I use?**
>
> - **Arch / Artix / KaOS / any pacman-based distro** → Option B (native).
> - **Anything else** (Gentoo, Fedora, Debian, ...) → Option A (podman).
### Custom packages
The ISO pulls custom packages (branding, Calamares config, wallpapers) from our repo. Add it to your system:
```ini
[antergos-pkgs]
[euri-pkgs]
SigLevel = Optional TrustAll
Server = https://antergos-next.github.io/antergos-packages
Server = https://antergos-nas.taild4360b.ts.net/pkgs
```
## Profile structure
```
iso-profiles/
├── antergos/
├── euri/
│ ├── profile.yaml # Packages, services, build config
│ ├── root-overlay/ # Files merged into rootfs (os-release, pacman.conf, sddm)
│ └── live-overlay/ # Files for the live environment (Calamares configs, etc.)
@@ -81,7 +132,7 @@ iso-profiles/
│ └── common.yaml # Shared base packages
├── pacman.conf.d/
│ └── iso-x86_64.conf # Pacman config used during ISO build
└── buildiso # Modified buildiso with Antergos branding
└── buildiso # Modified buildiso with Euri branding
```
Overlays are self-contained (no symlinks to external directories) so the repo builds standalone.
@@ -95,15 +146,15 @@ Overlays are self-contained (no symlinks to external directories) so the repo bu
## Download
[GitHub Releases](https://github.com/Antergos-NeXT/antergos-iso/releases)
[Releases](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-iso/releases)
## Sources
- [Artix Linux](https://artixlinux.org) — base distribution
- [artools](https://gitea.artixlinux.org/artix/artools) — ISO build tools
- [Calamares](https://codeberg.org/calamares/calamares) — installer framework
- [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) — custom PKGBUILDs
- [Antergos wallpapers](https://github.com/Antergos/wallpapers) — original wallpapers
- [euri-packages](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-packages) — custom PKGBUILDs
- [Antergos wallpapers](https://github.com/Antergos/wallpapers) — original upstream wallpapers (historical)
## License
@@ -111,6 +162,6 @@ Overlays are self-contained (no symlinks to external directories) so the repo bu
---
*Antergos launched in 2012 as **Cinnarch** (Cinnamon + Arch), renamed in 2013, and ran until 2019. NeXT continues the spirit with a modernized, Artix-based foundation — KDE Plasma, Calamares, and the same multi-desktop ambition you remember.*
*Antergos launched in 2012 as **Cinnarch** (Cinnamon + Arch), renamed in 2013, and ran until 2019. Euri Linux continues the spirit with a modernized, Artix-based foundation — KDE Plasma, Calamares, and the same multi-desktop ambition you remember.*
*Dustin Falgout, one of the original Antergos developers, has given his blessing for this community revival ([see NOTICES](NOTICES)). Antergos NeXT is not affiliated with, endorsed by, or connected to the original Antergos project.*
*Dustin Falgout, one of the original Antergos developers, has given his blessing for this technical successor to carry the name and logo forward ([see NOTICES](NOTICES)). Euri Linux is not affiliated with, endorsed by, or connected to the original Antergos project.*
+8 -6
View File
@@ -1,8 +1,10 @@
# Antergos NeXT ISO
# Euri Linux ISO
*Euri Linux (formerly Antergos NeXT)*
> Szukasz starej wersji Arch/systemd? Zobacz gałąź [`before-systemd-change`](https://github.com/Antergos-NeXT/antergos-iso/tree/before-systemd-change).
Odrodzenie społeczności Antergos — zbudowane na **Artix Linux** z **Dinit**, **KDE Plasma** i instalatorem **Calamares** (tryb online) + skrypt BYODE do instalacji offline.
Następca techniczny Antergos — zbudowane na **Artix Linux** z **Dinit**, **KDE Plasma** i instalatorem **Calamares** (tryb online) + skrypt BYODE do instalacji offline.
## Co się zmieniło
@@ -29,12 +31,12 @@ export WORKSPACE_DIR="$PWD"
mkdir -p ~/.config/artools/pacman.conf.d
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
sudo -E ./buildiso -p antergos
sudo -E ./buildiso -p euri
```
> **⚠️ Używaj `./buildiso`, nie `buildiso`.** Systemowy `/usr/bin/buildiso` nie ma flagi `--overwrite='*'`.
ISO pojawi się w `/var/lib/artools/buildiso/iso/antergos/`.
ISO pojawi się w `/var/lib/artools/buildiso/iso/euri/`.
## Instalator
@@ -60,6 +62,6 @@ ISO pojawi się w `/var/lib/artools/buildiso/iso/antergos/`.
---
*Antergos wystartował w 2012 jako **Cinnarch**, przemianowany w 2013, działał do 2019. NeXT kontynuuje ducha oryginału na nowoczesnym, Artixowym fundamencie — KDE Plasma, Calamares, ta sama wielośrodowiskowa ambicja.*
*Antergos wystartował w 2012 jako **Cinnarch**, przemianowany w 2013, działał do 2019. Euri Linux kontynuuje ducha oryginału na nowoczesnym, Artixowym fundamencie — KDE Plasma, Calamares, ta sama wielośrodowiskowa ambicja.*
*Dustin Falgout, jeden z oryginalnych twórców Antergos, pobłogosławił to odrodzenie ([NOTICES](NOTICES)). Antergos NeXT nie jest powiązane z oryginalnym projektem Antergos.*
*Dustin Falgout, jeden z oryginalnych twórców Antergos, pobłogosławił temu następcy technicznemu używanie nazwy i logo ([NOTICES](NOTICES)). Euri Linux nie jest powiązane z oryginalnym projektem Antergos.*
+40
View File
@@ -0,0 +1,40 @@
#!/bin/bash
set -euo pipefail
# Euri Linux ISO build inside the Artix container (see Containerfile).
# Rootful podman is required: artools' chroot mounts devtmpfs, which rootless
# containers cannot do.
cd "$(dirname "$0")"
# 1. Ensure the build image exists (rootful — the run step below is rootful,
# and rootless podman uses a separate image store)
if ! sudo podman image exists localhost/euri-build:latest; then
sudo podman build -t euri-build .
fi
# 2. Run the build (privileged, workspace mounted, tmpfs workdir, ISO exported)
sudo podman run --rm --privileged --entrypoint sh \
-v "$(pwd):/workspace" \
-e WORKSPACE_DIR=/workspace \
-e INITSYS=dinit \
localhost/euri-build:latest -c '
set -euo pipefail
mkdir -p /var/lib/artools/buildiso
mount -t tmpfs -o size=12G,exec,suid,dev tmpfs /var/lib/artools/buildiso
modprobe loop 2>/dev/null || true
[ -e /dev/loop-control ] || mknod -m 0660 /dev/loop-control c 10 237
for i in $(seq 0 15); do
[ -e "/dev/loop$i" ] || mknod -m 0660 "/dev/loop$i" b 7 "$i"
done
/workspace/buildiso -p euri
echo "=== BUILD FINISHED ==="
mkdir -p /workspace/iso-output
cp -a /workspace/iso/euri/. /workspace/iso-output/ 2>/dev/null || true
cd /workspace/iso-output
ISO=$(ls euri-*.iso 2>/dev/null | head -1)
[[ -z "$ISO" || ! -f "$ISO" ]] && { echo "No ISO found in iso-output/"; exit 1; }
sha256sum "$ISO" > "$ISO.sha256"
cat "$ISO.sha256"
ls -la /workspace/iso-output/ | head -20
'
+9 -9
View File
@@ -179,17 +179,17 @@ make_grub(){
fi
# Ensure artix theme dir exists (prepare_grub hardcodes it)
if [[ -d "${work_dir}/rootfs/usr/share/grub/themes/antergos" ]] && [[ ! -d "${work_dir}/rootfs/usr/share/grub/themes/artix" ]]; then
cp -r "${work_dir}/rootfs/usr/share/grub/themes/antergos" "${work_dir}/rootfs/usr/share/grub/themes/artix"
if [[ -d "${work_dir}/rootfs/usr/share/grub/themes/euri" ]] && [[ ! -d "${work_dir}/rootfs/usr/share/grub/themes/artix" ]]; then
cp -r "${work_dir}/rootfs/usr/share/grub/themes/euri" "${work_dir}/rootfs/usr/share/grub/themes/artix"
fi
prepare_grub "${work_dir}/rootfs" "$layer"
# Also copy as antergos for the installed system
if [[ -d "${work_dir}/livefs/usr/share/grub/themes/antergos" ]]; then
cp -r "${work_dir}/livefs/usr/share/grub/themes/antergos" "${iso_root}/boot/grub/themes/"
elif [[ -d "${work_dir}/rootfs/usr/share/grub/themes/antergos" ]]; then
cp -r "${work_dir}/rootfs/usr/share/grub/themes/antergos" "${iso_root}/boot/grub/themes/"
# Also copy as euri for the installed system
if [[ -d "${work_dir}/livefs/usr/share/grub/themes/euri" ]]; then
cp -r "${work_dir}/livefs/usr/share/grub/themes/euri" "${iso_root}/boot/grub/themes/"
elif [[ -d "${work_dir}/rootfs/usr/share/grub/themes/euri" ]]; then
cp -r "${work_dir}/rootfs/usr/share/grub/themes/euri" "${iso_root}/boot/grub/themes/"
fi
if ${use_dracut}; then
@@ -204,7 +204,7 @@ make_grub(){
}
gen_iso_fn(){
local vars=("antergos-next") name
local vars=("euri") name
vars+=("${INITSYS}")
case "${STABILITY}" in
gremlins|goblins) vars+=("${STABILITY}") ;;
@@ -237,7 +237,7 @@ prepare_build(){
iso_file=$(gen_iso_fn).iso
iso_label="ANTERGOS_$(date +%Y%m)"
iso_label="EURI_$(date +%Y%m)"
basestrap_args+=(-C "${pacman_conf}")
work_dir=${chroots_iso}/${profile}/artix
+8
View File
@@ -0,0 +1,8 @@
services:
caddy:
image: caddy:latest
ports:
- "443:443"
volumes:
- /volume1/docker/gitea-docs:/usr/share/caddy:ro
restart: always
+4 -4
View File
@@ -1,6 +1,6 @@
title: Antergos NeXT
title: Euri Linux
description: >-
A community revival of Antergos — Artix Linux, Dinit, KDE Plasma, Calamares
A technical successor to Antergos — Artix Linux, Dinit, KDE Plasma, Calamares
theme: just-the-docs
color_scheme: dark
@@ -9,7 +9,7 @@ url: "https://antergos-next.github.io"
baseurl: "/antergos-iso"
aux_links:
"Antergos NeXT on GitHub":
"Euri Linux on GitHub":
- "https://github.com/Antergos-NeXT/antergos-iso"
aux_links_new_tab: true
@@ -22,7 +22,7 @@ search:
back_to_top: true
back_to_top_text: "Back to top"
footer_content: "Copyright &copy; Antergos NeXT contributors. Distributed under the <a href=\"https://github.com/Antergos-NeXT/antergos-iso/blob/master/LICENSE\">GPL-3.0 License.</a>"
footer_content: "Copyright &copy; Euri Linux contributors. Distributed under the <a href=\"https://github.com/Antergos-NeXT/antergos-iso/blob/master/LICENSE\">GPL-3.0 License.</a>"
plugins:
- jekyll-seo-tag
+67 -22
View File
@@ -6,13 +6,53 @@ nav_order: 2
# Building the ISO
The ISO is built with `buildiso` (from Artix `artools` package) plus a customized profile. You need an **Artix-based** system to build.
The ISO is built with `buildiso` (from Artix `artools` package) plus a customized profile. There are two supported paths: **Option A (container)** for systems without pacman, and **Option B (native)** for pacman-based systems.
## Prerequisites
## Option A: Build in a container (non-pacman distros — recommended)
No Artix/Arch needed. Works on Gentoo, Fedora, Debian — anything **without pacman** that has podman. This is the same path GitHub Actions CI uses.
```bash
# Build the image (installs artools + deps inside an Artix container)
podman build -t euri-build .
# Build the ISO (rootful podman required — artools chroots mount devtmpfs,
# which rootless containers cannot do)
sudo podman run --rm --privileged \
-v /var/lib/artools-buildiso:/var/lib/artools/buildiso \
-v "$(pwd)/iso-output:/workspace/iso-output" \
-e WORKSPACE_DIR=/workspace \
euri-build
```
Or use the helper script:
```bash
./build-iso-podman.sh
```
The finished `.iso` lands in `iso-output/`.
## Option B: Native build (just pacman + artools)
You do **not** need an Artix-based system — `buildiso` is plain bash on top of `pacman`. You need:
- `pacman` (native on Arch/Artix/**KaOS**; on other distros, install it or extract the `.pkg.tar.zst` files)
- the artools libraries from the Artix repo: `artools-base` (provides `basestrap`, `artix-chroot`, `fstabgen`) and `artools-iso` (provides `buildiso`) plus their deps
- `squashfs-tools`, `grub`, `xorriso`/`libisoburn`, `dosfstools`, `mtools`
## Prerequisites (native path)
```bash
# On Arch/Artix:
pacman -S artools squashfs-tools
modprobe loop
# On KaOS (pacman native, but artools not in KaOS repos — extract from Artix):
pacman -S squashfs-tools
# On other distros: grab artools-base/artools-iso from the Artix repo and
# extract them over /, then install pacman and the deps listed above.
```
`squashfs-tools` is needed for `mksquashfs`. The `loop` module must be loaded for `mount -o loop` during image assembly.
@@ -20,35 +60,35 @@ modprobe loop
## Clone and configure
```bash
git clone https://github.com/Antergos-NeXT/antergos-iso.git
cd antergos-iso
git clone https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-iso.git
cd euri-iso
export WORKSPACE_DIR="$PWD"
# Override pacman config with our repo (antergos-pkgs)
# Override pacman config with our repo (euri-pkgs)
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.
Without this override, `buildiso` uses `/usr/share/artools/pacman.conf.d/iso-x86_64.conf` (from the artools package), which lacks the `[euri-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
sudo -E ./buildiso -p euri
```
- **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.
- **Use `./buildiso`**, not `buildiso`. The system `/usr/bin/buildiso` lacks `--overwrite='*'`, which causes file conflicts between `calamares` and `calamares-branding-euri` (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/euri/`:
```
/var/lib/artools/buildiso/iso/antergos/
├── antergos-<date>.iso # Bootable ISO
└── antergos-<date>.sha1sum # Checksum
/var/lib/artools/buildiso/iso/euri/
├── euri-<date>.iso # Bootable ISO
└── euri-<date>.sha1sum # Checksum
```
First build pulls ~5 GB from the internet (package downloads). Subsequent builds use pacman cache.
@@ -68,10 +108,10 @@ This means `--overwrite='*'` is not being passed to `basestrap`. Make sure you'r
```bash
# Wrong — system buildiso without --overwrite:
buildiso -p antergos
buildiso -p euri
# Correct:
./buildiso -p antergos
./buildiso -p euri
```
### Build fails with "HAS_LIVE is empty"
@@ -80,10 +120,10 @@ Forgetting `sudo -E`:
```bash
# Wrong — WORKSPACE_DIR not preserved:
sudo ./buildiso -p antergos
sudo ./buildiso -p euri
# Correct:
sudo -E ./buildiso -p antergos
sudo -E ./buildiso -p euri
```
### buildiso can't find our custom repo
@@ -101,13 +141,13 @@ cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
```bash
export COMPRESSION=zstd
sudo -E ./buildiso -p antergos
sudo -E ./buildiso -p euri
```
Remove the stale image before retrying:
```bash
rm -rf /var/lib/artools/buildiso/iso/antergos/
rm -rf /var/lib/artools/buildiso/iso/euri/
```
### Corrupted pacman cache
@@ -115,16 +155,21 @@ rm -rf /var/lib/artools/buildiso/iso/antergos/
If `basestrap` fails with checksum errors, clear the cache:
```bash
rm -rf /var/lib/artools/buildiso/pkg/antergos/cache/
rm -rf /var/lib/artools/buildiso/pkg/euri/cache/
```
Then rebuild.
## Which option do I use?
> - **Arch / Artix / KaOS / any pacman-based distro** → Option B (native).
> - **Anything else** (Gentoo, Fedora, Debian, ...) → Option A (podman).
## 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 builds the ISO. It also runs the AI community moderator on issues/PRs (`.github/workflows/ai-moderator.yml`).
An Internet Archive upload step exists in the workflow but is **currently disabled** (`if: false`) — builds are manually verified first. When enabled it uploads with identifier `antergos-next-YYYYMMDD-<run_number>`.
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 `euri-YYYYMMDD-<run_number>`.
Trigger CI manually from the GitHub Actions tab (push trigger is disabled).
@@ -133,7 +178,7 @@ Trigger CI manually from the GitHub Actions tab (push trigger is disabled).
To use the custom packages repo on an installed system:
```ini
[antergos-pkgs]
[euri-pkgs]
SigLevel = Optional TrustAll
Server = https://antergos-next.github.io/antergos-packages
Server = https://antergos-nas.taild4360b.ts.net/pkgs
```
+3 -3
View File
@@ -6,13 +6,13 @@ 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 offline installer (`/usr/local/bin/euri-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`)
1. Verifies it's running as root in a live Euri Linux 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
@@ -23,7 +23,7 @@ The script is adapted from Valve's SteamOS `repair_device.sh` (the Zenity prompt
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
8. Chroots in: runs `mkinitcpio -P`, installs GRUB as `Euri`, 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)
+3 -3
View File
@@ -6,7 +6,7 @@ nav_order: 10
# Changing init on an installed system
Antergos NeXT ships with **Dinit** as the default and only install-time init.
Euri Linux ships with **Dinit** as the default and only install-time init.
If you prefer a different init (OpenRC, Runit, or S6), you can switch after
installation.
@@ -14,7 +14,7 @@ installation.
> installation is safer. Keep a bootable Artix LiveUSB handy in case
> something goes wrong.
>
> OpenRC has known conflicts with Dinit on Antergos NeXT. If switching to
> OpenRC has known conflicts with Dinit on Euri Linux. If switching to
> OpenRC fails, the recommended course of action is to reinstall the ISO
> and use Dinit. A fresh install with Dinit is simpler and more reliable
> than troubleshooting a broken init migration. Tutorials on using Dinit
@@ -163,7 +163,7 @@ or use a different daemon.
### OpenRC: services don't enable on installed systems
This was a known bug in earlier Antergos NeXT builds (the installer
This was a known bug in earlier Euri Linux builds (the installer
used `artix-service` which didn't set up OpenRC correctly).
If you're switching to OpenRC manually on an already-installed system,
`rc-update add` works fine — the bug was specific to the installer flow.
+5 -5
View File
@@ -16,9 +16,9 @@ Triggers on **manual `workflow_dispatch`** only (push to master does NOT trigger
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 (`pacman.conf.d/iso-x86_64.conf`)
3. Override pacman config with `[euri-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`
5. Run `./buildiso -p euri`
6. Upload the ISO as a build artifact
### Internet Archive upload
@@ -26,7 +26,7 @@ Triggers on **manual `workflow_dispatch`** only (push to master does NOT trigger
The workflow includes an Internet Archive upload step, but it is **currently disabled** (`if: false`) — the maintainer is the only QA team and builds are manually verified first. When re-enabled it uploads with:
- **Collection**: `open_source_software` (Community Software, _not_ Community Texts)
- **Identifier**: `antergos-next-YYYYMMDD-<run_number>` (e.g. `antergos-next-20260711-162`)
- **Identifier**: `euri-YYYYMMDD-<run_number>` (e.g. `euri-20260711-162`)
- **Credentials**: `IA_ACCESS_KEY` and `IA_SECRET_KEY` (repo secrets)
The `-<run_number>` suffix guarantees unique identifiers across CI runs.
@@ -47,9 +47,9 @@ Triggers on issue open, issue/PR comment, discussion, and discussion comment. Us
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
## euri-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 repository.
Separate workflow in the [euri-packages](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-packages) repo. Builds all packages listed in `packages.yaml` and publishes them to the package server as a pacman repository.
## Safety notes
+22 -23
View File
@@ -9,18 +9,17 @@ nav_order: 8
## Repository structure
```
antergos-iso/
euri-iso/
├── buildiso # Modified buildiso with --overwrite='*' and branding
├── iso-profiles/
│ ├── antergos/
│ ├── euri/
│ │ ├── profile.yaml # Packages, services (rootfs + livefs), compression
│ │ ├── 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]
│ └── iso-x86_64.conf # Pacman config for ISO build with [euri-pkgs]
└── .github/workflows/
├── build.yml # ISO build (IA upload step disabled)
├── ai-moderator.yml # Groq-powered community moderator
@@ -31,7 +30,7 @@ antergos-iso/
```bash
export WORKSPACE_DIR="$PWD"
sudo -E ./buildiso -p antergos
sudo -E ./buildiso -p euri
```
See [Building the ISO](building) for full setup instructions and troubleshooting.
@@ -40,7 +39,7 @@ See [Building the ISO](building) for full setup instructions and troubleshooting
### `./buildiso` vs `buildiso`
Always use the repo's `./buildiso`, **not** the system Artix `/usr/bin/buildiso`. The system version lacks `--overwrite='*'` and will fail with file conflicts between `calamares` and `calamares-branding-antergos-next`.
Always use the repo's `./buildiso`, **not** the system Artix `/usr/bin/buildiso`. The system version lacks `--overwrite='*'` and will fail with file conflicts between `calamares` and `calamares-branding-euri`.
### `sudo -E` is required
@@ -48,7 +47,7 @@ Without `-E`, `WORKSPACE_DIR` is stripped and `load_profile()` returns empty `HA
### Pacman config must be user-overridden
`buildiso` reads from `~/.config/artools/pacman.conf.d/iso-x86_64.conf`. If missing, it falls back to the Artix default at `/usr/share/artools/pacman.conf.d/iso-x86_64.conf` which lacks `[antergos-pkgs]`.
`buildiso` reads from `~/.config/artools/pacman.conf.d/iso-x86_64.conf`. If missing, it falls back to the Artix default at `/usr/share/artools/pacman.conf.d/iso-x86_64.conf` which lacks `[euri-pkgs]`.
```bash
mkdir -p ~/.config/artools/pacman.conf.d
@@ -59,15 +58,15 @@ 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.
`[euri-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.
`basestrap` uses `--overwrite='*'`. The **last** package to claim a file wins. Package order in `profile.yaml` should list `calamares` BEFORE `calamares-branding-euri`, so branding files overwrite Calamares defaults, not the other way around.
### `antergos-release` must be in basestrap.conf operations
### `euri-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`.
The `filesystem` package owns `/usr/lib/os-release` with "Artix Linux". To replace it with "Euri Linux", `euri-release` must be listed in the `operations` list in `iso-profiles/euri/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
@@ -75,7 +74,7 @@ If `$COMPRESSION` is unset in `profile.yaml`, `mksquashfs` produces a sparse zer
### Calamares module precedence
`/etc/calamares/modules/` overrides `/usr/share/calamares/modules/`. The `calamares-next` launcher copies the online settings file to `/etc/calamares/settings.conf`, and the `modules-search: [ local ]` directive in that file resolves modules from `/etc/calamares/modules/`. Module configs placed in `calamares-online/modules/` are not used directly during installation — only `calamares/modules/` is consulted.
`/etc/calamares/modules/` overrides `/usr/share/calamares/modules/`. The `calamares-next` launcher copies the online settings file to `/etc/calamares/settings.conf`, and the `modules-search: [ local ]` directive in that file resolves modules from `/etc/calamares/modules/`. Both `calamares/modules/` and `calamares-online/modules/` in the live-overlay are for the **online** installer — there is no offline Calamares config. Module configs placed in `calamares-online/modules/` are not loaded directly during installation — only `calamares/modules/` is consulted at runtime; the `calamares-online/modules/` tree is the self-contained companion copy.
### GRUB config overwrite must be enabled
@@ -97,18 +96,18 @@ Artix bundles the Wayland session into `plasma-workspace` itself. Do not add it
### SDDM theme
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 installed system uses the **pixie** theme (`pixie-sddm-git`). The `euri-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.
> The `euri-sddm-theme` PKGBUILD still exists in `euri-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 `dinit|runit|s6) SUPPORT='YES'`. 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 `[euri-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
- `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` and `calamares-branding-euri` both install to `/usr/share/calamares/branding/default/` — handled by `--overwrite='*'`
- `filesystem` and `euri-release` both claim `/usr/lib/os-release` — handled by including `euri-release` in basestrap operations
### `calamares-next.sh SetConfig()`
@@ -120,7 +119,7 @@ The `build.yml` workflow only runs on `workflow_dispatch` (manual trigger from G
### Internet Archive bucket naming
ISO identifier format: `antergos-next-YYYYMMDD-<run_number>`. The `-<run_number>` ensures uniqueness even for multiple builds on the same day.
ISO identifier format: `euri-YYYYMMDD-<run_number>`. The `-<run_number>` ensures uniqueness even for multiple builds on the same day.
## Testing a build
@@ -132,15 +131,15 @@ Boot the resulting ISO in a VM. Verify:
- DE selector works
- 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
- After install, `/usr/lib/os-release` shows "Euri Linux"
- SDDM shows the Euri 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:
Custom PKGBUILDs live in the companion [euri-packages](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-packages) repo. The CI there builds them and publishes to the package server as a pacman repository:
```ini
[antergos-pkgs]
[euri-pkgs]
SigLevel = Optional TrustAll
Server = https://antergos-next.github.io/antergos-packages
Server = https://antergos-nas.taild4360b.ts.net/pkgs
```
+3 -3
View File
@@ -7,7 +7,7 @@ nav_order: 2
# Dinit
**Dinit** is a modern init system designed for speed and correctness. Written in C++, it focuses on parallel service startup and dependency management. **Dinit is the default init system in Antergos NeXT.**
**Dinit** is a modern init system designed for speed and correctness. Written in C++, it focuses on parallel service startup and dependency management. **Dinit is the default init system in Euri Linux.**
Dinit handles dependencies automatically through declarative configuration files, avoiding the complexity of shell-script-based service definitions.
@@ -117,11 +117,11 @@ Dinit's `add_user_svc_dinit` in Calamares attempts to create `boot.d/` symlinks
### 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.
On Euri Linux, `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.
## When to use Dinit
Dinit is suitable for users who want fast boot times and automatic dependency resolution without managing shell-script-based service files. It is the default init in Antergos NeXT and requires no additional configuration.
Dinit is suitable for users who want fast boot times and automatic dependency resolution without managing shell-script-based service files. It is the default init in Euri Linux and requires no additional configuration.
Users migrating from systemd will find Dinit's declarative service files familiar. Users accustomed to OpenRC or Runit may prefer to switch — see [Changing init](changing-init) for instructions.
+17 -19
View File
@@ -4,31 +4,29 @@ layout: home
nav_order: 1
---
# Antergos NeXT
# Euri Linux
A community revival of Antergos for the post-systemd era — **Artix Linux** base with **Dinit**, **KDE Plasma**, and the **Calamares** installer.
*Euri Linux (formerly Antergos NeXT)* — a technical successor to Antergos for the post-systemd era — **Artix Linux** base with **Dinit**, **KDE Plasma**, and the **Calamares** installer. Its own branding, its own identity — the lineage continues, the Antergos feeling doesn't get replaced.
## Download
[**Download the latest ISO**](https://github.com/Antergos-NeXT/antergos-iso/releases)
[**Download the latest ISO**](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-iso/releases)
_Published to GitHub Releases. (The Internet Archive upload step in CI is currently disabled — see [CI](ci).)_
### Latest release — v2026.07.11
### Latest release — v2026.08.17 (Arranxo)
What works in the latest release:
Hotfix release. What's fixed in v2026.08.17 "Arranxo":
- KDE Plasma 6 on Wayland (with SDDM)
- Full audio support on installed systems
- 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
- **COSMIC display manager now works**`cosmic-greeter-dinit` ships as its own package and the online `displaymanager.conf` lists `greetd`, so `/etc/greetd/config.toml` gets written and the greeter starts. The Xeitoso-era COSMIC-breaks-DM bug is gone.
- **zsh login lockout fixed**`users.conf` forces `/bin/zsh` but nothing installed it, so a freshly installed system couldn't log in. `zsh` is now in the netinstall Default group. Thanks to jtadlock91 for reporting it.
- **New KDE Plasma (Minimal) entry** — a stripped-down Wayland-only Plasma for low-end hardware: `plasma-meta`, kitty, pcmanfm-qt, featherpad, grim, slurp. No XWayland, no branding, no bloat.
> 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.
Only KDE Plasma was tested this release. The other DEs are in the installer but best-effort — see the [release notes](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-iso/releases). The offline installer is also **experimental and best-effort** — the online Calamares flow is the supported path.
The offline bare-minimum installer is **experimental and best-effort** — the online Calamares flow is the supported path.
### Known issues in this release
- **KDE Plasma is the only tested DE** — Xfce, Cinnamon, MATE, LXQt, i3, Sway, Hyprland and COSMIC are in the installer but unverified. Report results in an issue.
- **The offline installer is experimental and best-effort** — the online Calamares flow is the supported path.
## Quick links
@@ -38,7 +36,7 @@ The offline bare-minimum installer is **experimental and best-effort** — the o
- [CI/CD](ci) — GitHub Actions pipeline, Internet Archive upload
- [Development](development) — contributing, gotchas, conventions
## Learn about Antergos NeXT
## Learn about Euri Linux
- [Init Systems](init-systems) — Dinit, OpenRC, S6, Runit compared
- [Desktop Environments](desktop-environments) — available DEs in online mode
@@ -47,7 +45,7 @@ The offline bare-minimum installer is **experimental and best-effort** — the o
## What changed from original Antergos
| Area | Original Antergos | Antergos NeXT |
| Area | Original Antergos | Euri Linux |
|------|-------------------|---------------|
| Base | Arch Linux (systemd) | Artix Linux |
| Default init | systemd | Dinit (others via [changing-init](changing-init)) |
@@ -58,12 +56,12 @@ The offline bare-minimum installer is **experimental and best-effort** — the o
## 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.
This repo (`euri-iso`) contains the ISO build configuration — overlays, Calamares modules, pacman config, CI pipeline. Custom PKGBUILDs live in the separate [euri-packages](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-packages) repo.
## Sources
- [Artix Linux](https://artixlinux.org)
- [artools](https://gitea.artixlinux.org/artix/artools)
- [Calamares](https://codeberg.org/calamares/calamares)
- [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages)
- [euri-packages](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-packages)
- [Original Antergos wallpapers](https://github.com/Antergos/wallpapers)
+2 -2
View File
@@ -9,13 +9,13 @@ has_children: true
An **init system** is PID 1 — the first process started by the kernel during boot. It is responsible for initializing the system: mounting filesystems, starting networking, launching services, and managing the display manager. All other processes descend from PID 1.
Antergos NeXT ships with **Dinit** as its default init system. The pages below describe the major init systems available on Artix Linux. To switch init on an installed system, see [Changing init](changing-init).
Euri Linux ships with **Dinit** as its default init system. The pages below describe the major init systems available on Artix Linux. To switch init on an installed system, see [Changing init](changing-init).
## Available init systems
| Init | Philosophy | Complexity | Speed | Used by |
|------|-----------|------------|-------|---------|
| [Dinit](dinit) | Modern, dependency-based, parallel | Medium | Very fast | Antergos NeXT (default), Chimera Linux, Artix |
| [Dinit](dinit) | Modern, dependency-based, parallel | Medium | Very fast | Euri Linux (default), Chimera Linux, Artix |
| [OpenRC](openrc) | Traditional, modular, shell-script-based | Low | Fast | Gentoo, Artix, Devuan, Alpine |
| [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 |
+18 -18
View File
@@ -6,7 +6,7 @@ nav_order: 5
# Calamares Installer
Antergos NeXT uses [Calamares](https://codeberg.org/calamares/calamares) as its installer, with a custom launcher (`calamares-next`) that launches Calamares directly in online mode.
Euri Linux uses [Calamares](https://codeberg.org/calamares/calamares) as its installer, with a custom launcher (`calamares-next`) that launches Calamares directly in online mode.
## Install mode
@@ -20,19 +20,19 @@ A BYODE (Bring Your Own Desktop Environment) offline installer script is availab
The upstream `artix-pipewire-launcher` doesn't support dinit. The XDG autostart entry was also missing from the upstream package.
**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'`).
**Fix**: The `pipewire` package in `[euri-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'`).
### SDDM theme showing Breeze
KDE's SDDM KCM writes a `kde_settings.conf` with `Current=breeze`, and the old `antergos` theme entry didn't win.
KDE's SDDM KCM writes a `kde_settings.conf` with `Current=breeze`, and the old pre-rebranding theme entry did not win.
**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.
**Fix**: The installed system uses the **pixie** SDDM theme (`pixie-sddm-git`, Material Design 3). The `euri-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"
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.
The `filesystem` package from Artix owns `/usr/lib/os-release`. Our `euri-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`.
**Fix**: Added `euri-release` to the `operations` list in `basestrap.conf` so it's installed during bootstrapping with `--overwrite`.
## Key differences from upstream Calamares
@@ -43,7 +43,7 @@ The `filesystem` package from Artix owns `/usr/lib/os-release`. Our `antergos-re
## Init system
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.
Euri Linux 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,14 +61,14 @@ 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. 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 |
| **KDE Plasma** | world | Full DE | Default. Wayland + X11. Listed as individual packages in the active config; the companion copy in `calamares-online/modules/` uses the `plasma` meta-group + `euri-desktop-settings` |
| **Xfce** | galaxy | Full DE | Lightweight. GTK-based. Individual packages; companion copy uses `xfce4` group |
| **Cinnamon** | galaxy | Full DE | Traditional layout. GNOME-based |
| **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` |
| **MATE** | galaxy | Full DE | GNOME 2 continuation. Individual packages; companion copy uses `mate` + `mate-extra` |
| **LXQt** | galaxy | Full DE | Lightweight Qt desktop. Individual packages; companion copy uses `lxqt` group |
| **i3** | world | Tiling WM | Keyboard-driven. Individual packages (i3-wm, i3blocks, i3lock, i3status). Requires `euri-i3-config` for a usable experience |
| **Sway** | world | Tiling WM | i3-compatible Wayland compositor. Requires `euri-sway-config` |
| **Hyprland** | world | Tiling WM | Dynamic Wayland compositor with eye candy. Requires `euri-hyprland-config` |
| **COSMIC** | galaxy | Full DE | Rust-based desktop from System76. Alpha quality. Select **greetd** as display manager |
### Not available
@@ -78,13 +78,13 @@ The selector uses `method: netinstall-add` — the chosen DE's package group is
### Tiling WMs and default configs
i3, Sway, and Hyprland are offered as install options but will present a black screen on first boot without a configuration file. Config packages (`antergos-i3-config`, `antergos-sway-config`, `antergos-hyprland-config`) are available from the `[antergos-pkgs]` repository and are automatically included when the corresponding DE is selected.
i3, Sway, and Hyprland are offered as install options but will present a black screen on first boot without a configuration file. Config packages (`euri-i3-config`, `euri-sway-config`, `euri-hyprland-config`) are available from the `[euri-pkgs]` repository and are automatically included when the corresponding DE is selected.
If you prefer to supply your own config, you can deselect the config package in the netinstall refinement step.
## Display manager selector
The DM selector (`packagechooser@dm`) uses `method: netinstall-select`. Available options:
The DM selector (`packagechooser@dm`) uses `method: netinstall-add`, with each display manager's packages defined inline in the chooser items. Available options:
- **SDDM** — KDE's QML-based display manager (default). Ships with `pixie-sddm-git` theme.
- **LightDM** — GTK-based, cross-desktop
@@ -92,11 +92,11 @@ The DM selector (`packagechooser@dm`) uses `method: netinstall-select`. Availabl
- **greetd** — Minimal, recommended for COSMIC
- **LY** — TUI-based, minimal
The selected DM's group is marked as checked in the netinstall tree automatically.
The selected DM's inline group is appended to the netinstall tree via the `netinstallAdd` key, exactly like the DE selector.
## 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 — this is enforced by Calamares (see `Branding.cpp`).
Custom branding lives in the `calamares-branding-euri` 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`).
## GRUB configuration
+10 -10
View File
@@ -6,27 +6,27 @@ nav_order: 11
# Calamares Launcher
The `calamares-next` script (`calamares-next.sh`) handles the installer boot flow. It is installed by the `calamares-branding-antergos-next` package to `/usr/bin/calamares-next`.
The `calamares-next` script (`calamares-next.sh`) handles the installer boot flow. It is installed by the `calamares-branding-euri` package to `/usr/bin/calamares-next`.
## Boot flow
1. **Notice** — displays a YAD information dialog explaining why the offline install mode was removed
2. **Welcome** — presents a branded splash screen with a single "Install" button
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`
4. **Launch** — runs `calamares -D8` with the online config; debug output is redirected to a log file at `~/euri-install.log`
## Desktop entries
The live session ships two entries in `/usr/share/applications/`:
- `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
- `calamares.desktop` — the branded "Install Euri Linux" entry, launching `Exec=sudo -E calamares-next`
- `euri-offline-install.desktop` — "Install Euri Linux (Offline — NO DE)", launching the experimental `Exec=sudo -E euri-offline-install` script
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
The online settings file specifies `modules-search: [ local ]`, which resolves to the directory containing the settings file itself. After `SetConfig()` copies the file to `/etc/calamares/settings.conf`, modules are loaded from `/etc/calamares/modules/`. The `calamares-online/modules/` directory in the live-overlay is not used as a module source during installation — its contents exist only as a reference; the active module configs are those under `calamares/modules/`.
The online settings file specifies `modules-search: [ local ]`, which resolves to the directory containing the settings file itself. After `SetConfig()` copies the file to `/etc/calamares/settings.conf`, modules are loaded from `/etc/calamares/modules/`. Both `calamares/modules/` and `calamares-online/modules/` in the live-overlay belong to the **online** installer — there is no offline Calamares config. The active module configs at runtime are those under `calamares/modules/`; the `calamares-online/modules/` tree is the self-contained companion copy for the online flow.
## Calamares sequence
@@ -35,14 +35,14 @@ The installer runs two `packagechooser` instances in sequence, followed by the `
| Step | Instance | Module Config | Method | Purpose |
|------|----------|---------------|--------|---------|
| 4 | `packagechooser@de` | `packagechooser_de.conf` | `netinstall-add` | Desktop environment picker (required, default Plasma) |
| 5 | `packagechooser@dm` | `packagechooser_dm.conf` | `netinstall-select` | Display manager picker (required, default SDDM) |
| 5 | `packagechooser@dm` | `packagechooser_dm.conf` | `netinstall-add` | Display manager picker (required, default SDDM) |
| 6 | `netinstall` | `netinstall.yaml` | — | Refine packages, add optional groups |
### How `netinstall-add` works
When the user selects a DE, `packagechooser@de` writes a group definition to the `netinstallAdd` global storage key. When the `netinstall` module loads, it reads this key and appends the DE's package group to the tree. This allows users to see and refine the packages for their chosen DE — for example, deselecting specific applications.
The DM selector uses `netinstall-select`, which marks the chosen DM group (e.g. SDDM) as checked in the netinstall tree. Both keys are read by the netinstall module's `onActivate()` method at runtime. See `NetInstallPage.cpp` in the Calamares source for details.
The DM selector (`packagechooser@dm`) works the same way — `netinstall-add` with each DM's packages defined inline in the chooser items. Selecting a DM appends its group to the netinstall tree. Both keys are read by the netinstall module's `onActivate()` method at runtime. See `NetInstallPage.cpp` in the Calamares source for details.
### Available DE groups
@@ -66,13 +66,13 @@ The `calamares-extensions` package ships an "Install Artix Linux" desktop entry
## Module configs
Configs live in `live-overlay/etc/calamares/modules/` (overriding the copies installed by `calamares-branding-antergos-next`):
Configs live in `live-overlay/etc/calamares/modules/` (overriding the copies installed by `calamares-branding-euri`):
- `packagechooser_de.conf` — desktop environment selector using `method: netinstall-add`
- `packagechooser_dm.conf` — display manager selector using `method: netinstall-select`
- `packagechooser_dm.conf` — display manager selector using `method: netinstall-add` with inline DM groups
- `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/`.
The remaining module configs (`initcpiocfg.conf`, `initcpio.conf`, `welcome.conf`, `basestrap.conf`, etc.) ship in the `calamares-branding-euri` package under `/etc/calamares/modules/`.
+2 -2
View File
@@ -9,7 +9,7 @@ nav_order: 1
**OpenRC** is a traditional init system used by Gentoo, Artix Linux, Devuan, Alpine Linux, and other non-systemd distributions. It is well-established, actively maintained, and provides a balance of simplicity and feature completeness.
> **Note:** Earlier Antergos NeXT builds shipped OpenRC as an install-time option, but it 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).
> **Note:** Earlier Euri Linux 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
@@ -69,7 +69,7 @@ Runlevels in OpenRC work like directories under `/etc/runlevels/`:
## Rationale for non-systemd
Antergos NeXT uses Dinit as its init system. The switch away from systemd was motivated by three factors:
Euri Linux uses Dinit as its init system. The switch away from systemd was motivated by three factors:
1. **Scope expansion** — systemd has grown beyond process supervision to include logind, resolved, timedated, networkd, homed, and other subsystems. This consolidates OS management into a single project with an expanding scope.
+18 -16
View File
@@ -7,7 +7,7 @@ nav_order: 2
# Live Overlay
Files in `iso-profiles/antergos/live-overlay/` exist only in the live environment — they are **not** present after installation.
Files in `iso-profiles/euri/live-overlay/` exist only in the live environment — they are **not** present after installation.
## Contents
@@ -15,8 +15,8 @@ Files in `iso-profiles/antergos/live-overlay/` exist only in the live environmen
live-overlay/
├── etc/
│ ├── calamares/
│ │ └── modules/ # Active runtime module configs
│ │ ├── basestrap.conf # Package installation (operations incl. antergos-release)
│ │ └── modules/ # Active runtime module configs (online installer)
│ │ ├── basestrap.conf # Package installation (operations incl. euri-release)
│ │ ├── bootloader.conf
│ │ ├── displaymanager.conf # DM selector backend
│ │ ├── finished.conf
@@ -30,7 +30,7 @@ live-overlay/
│ │ └── services-artix.conf
│ ├── calamares-online/
│ │ ├── settings.conf # Online install sequence
│ │ └── modules/ # Online flow modules (reference + extra)
│ │ └── modules/ # Companion module copies (kept in sync)
│ │ ├── packagechooser_de.conf / packagechooser_dm.conf
│ │ ├── initcpio.conf / locale.conf / mount.conf / partition.conf
│ │ ├── umount.conf / users.conf / welcome.conf
@@ -44,39 +44,41 @@ live-overlay/
│ │ └── kde_settings.conf # SDDM autologin + Wayland session
│ ├── skel/Desktop/
│ │ ├── calamares.desktop # Install launcher on the desktop
│ │ └── antergos-offline-install.desktop
│ │ └── euri-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
│ ├── local/bin/euri-offline-install
│ └── share/applications/
│ ├── calamares.desktop # Branded launcher
│ └── antergos-offline-install.desktop
│ └── euri-offline-install.desktop
```
## Key files
### `etc/calamares/` and `etc/calamares-online/` — both online
Both directories serve the **online** installer. There is no offline Calamares config in this overlay (and no offline Calamares mode at all — see [Installer](installer)).
- `etc/calamares/modules/` — the active module configs at runtime. After `calamares-next.sh` copies `calamares-online/settings.conf` to `/etc/calamares/settings.conf`, the `modules-search: [ local ]` directive resolves modules from this directory.
- `etc/calamares-online/` — the online install sequence (`settings.conf`) plus its own `modules/` tree. The two module trees are kept in sync; the `calamares-online/modules/` copies exist so the online flow has a self-contained config source. The copies under `calamares/modules/` are what actually loads at runtime.
### `etc/calamares-online/settings.conf`
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.
- `packagechooser@dm` — display manager selector using `method: netinstall-add` with inline DM groups. Appends the chosen DM group to 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/`.
- `calamares-online/modules/` — reference copies and additional modules (e.g. `partition.conf`, `mount.conf`) that are used during the online install flow. These are not loaded directly but serve as the source of truth for the install sequence.
> 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-euri` package (`ln -sf ../calamares-offline/settings.conf`), and `calamares-next.sh` swaps it to the online config at runtime. The `calamares-offline` fallback is unused — the launcher always overwrites the symlink with the online config.
### `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.
Controls package installation during bootstrapping. The `operations` list includes packages that must be installed with `--overwrite`. This is where `euri-release` is listed to ensure it overwrites `/usr/lib/os-release` from the `filesystem` package.
### `etc/calamares-online/modules/*.conf`
@@ -94,7 +96,7 @@ Additional modules required for the online install flow:
### `usr/share/applications/calamares.desktop`
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)).
The branded "Install Euri Linux" launcher (plus `euri-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
+15 -15
View File
@@ -7,9 +7,9 @@ nav_order: 1
# Root Overlay
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.
Files in `iso-profiles/euri/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.
> **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. `euri-release` for os-release, `euri-layan-theme` for the SDDM theme), not live in root-overlay.
## Contents
@@ -20,23 +20,23 @@ root-overlay/
│ │ └── 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
│ ├── os-release # "Euri Linux" in the live session
│ ├── pacman.conf # Includes [euri-pkgs] repo
│ ├── sddm.conf # SDDM general config (Wayland compositor, theme dirs)
│ ├── sddm.conf.d/
│ │ └── kde_settings.conf # SDDM autologin + theme (live only)
│ ├── skel/.config/autostart/
│ │ ├── antergos-wallpaper.desktop # First-login wallpaper setter
│ │ ├── euri-wallpaper.desktop # First-login wallpaper setter
│ │ └── pipewire.desktop # PipeWire autostart
│ └── xdg/autostart/
│ └── antergos-wallpaper.desktop # System-wide wallpaper autostart
│ └── euri-wallpaper.desktop # System-wide wallpaper autostart
├── usr/
│ ├── bin/systemd-machine-id-setup # Keeps live machine-id stable
│ ├── lib/os-release # Mirrors etc/os-release
│ ├── local/bin/set-antergos-wallpaper.sh
│ ├── local/bin/set-euri-wallpaper.sh
│ └── share/
│ ├── icons/hicolor/{128x128,256x256}/apps/antergos-logo.png
│ ├── pixmaps/antergos-logo.png
│ ├── icons/hicolor/{128x128,256x256}/apps/euri-logo.png
│ ├── pixmaps/euri-logo.png
│ └── plasma/wallpapers/org.kde.image/contents/config/main.xml
```
@@ -44,18 +44,18 @@ root-overlay/
### `etc/pacman.conf`
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.
Adds the `[euri-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 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).
Sets the live session to **autologin as user `euri`** with `Session=plasma.desktop` (Wayland). Also sets `HaltCommand`/`RebootCommand` to loginctl (dinit-compatible) and the theme to `Current=euri` (the bundled Euri theme).
> 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).
> This file only affects the **live session**. On installed systems the `euri-layan-theme` package owns `kde_settings.conf` with `Current=pixie` — see [Installer — SDDM theme](installer).
### `etc/skel/.config/autostart/antergos-wallpaper.desktop`
### `etc/skel/.config/autostart/euri-wallpaper.desktop`
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`
### `usr/local/bin/set-euri-wallpaper.sh`
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).
Configures the **Smart Video Wallpaper Reborn** Plasma plugin (`luisbocanegra.smart.video.wallpaper.reborn`) via `qdbus6` to play `/usr/share/backgrounds/euri/euri-wallpaper.mp4` muted, then writes `~/.config/euri-wallpaper-set` as a marker so it only runs once. See [Wallpapers](wallpapers).
+3 -3
View File
@@ -7,10 +7,10 @@ has_children: true
# Overlays
Two directories under `iso-profiles/antergos/` control what goes into the ISO:
Two directories under `iso-profiles/euri/` control what goes into the ISO:
```
iso-profiles/antergos/
iso-profiles/euri/
├── profile.yaml # Package lists, services, compression
├── root-overlay/ # → live rootfs — config for the live session
└── live-overlay/ # → live environment — installer configs and tools
@@ -20,7 +20,7 @@ iso-profiles/antergos/
- **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.).
- **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 (`euri-release`, `euri-layan-theme`, etc.).
- Overlays are **self-contained** (no symlinks to external directories) so the repo builds standalone.
## Important: overlay behavior
+28 -30
View File
@@ -6,48 +6,46 @@ nav_order: 6
# Custom Packages
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.
Custom PKGBUILDs live in the [euri-packages](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-packages) repo. Built and published via CI to GitHub Pages as a pacman repository.
## Repo setup
```ini
[antergos-pkgs]
[euri-pkgs]
SigLevel = Optional TrustAll
Server = https://antergos-next.github.io/antergos-packages
Server = https://antergos-nas.taild4360b.ts.net/pkgs
```
## Package list
Built and published in this order (from `packages.yaml` in `antergos-packages`):
Built and published in this order (from `packages.yaml` in `euri-packages`):
| Package | Purpose |
|---------|---------|
| `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 |
| `euri-lsb-release` | LSB release identification |
| `euri-desktop-settings` | Default desktop settings for the live session |
| `euri-keyring` | GPG keyring for the `[euri-pkgs]` repo |
| `euri-mirrorlist` | Mirror list for `[euri-pkgs]` |
| `euri-release` | `/usr/lib/os-release` with "Euri Linux" 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`) |
| `euri-wallpapers` | Default wallpapers for KDE and other DEs |
| `euri-welcome` | "About Euri Linux" welcome app (KF6 + Qt6) |
| `euri-grub-theme` | GRUB boot theme |
| `euri-live` | Live session meta package (per-init: `euri-live-base`, `euri-live-dinit`, `euri-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 |
| `calamares-branding-euri` | Branding: slideshow, `branding.desc`, launcher script, packagechooser configs |
| `euri-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 |
| `euri-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 |
| `euri-i3-config` | i3 configuration |
| `euri-sway-config` | Sway configuration |
| `euri-hyprland-config` | Hyprland configuration |
## PKGBUILD notes
@@ -56,11 +54,11 @@ Built and published in this order (from `packages.yaml` in `antergos-packages`):
- `_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
### calamares-branding-euri
- 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`
- Ships the online settings file as `/etc/calamares-online/settings.conf`. It also ships an `settings_offline.conf` installed as `/etc/calamares-offline/settings.conf` (with `/etc/calamares/settings.conf` symlinked to it by default) — but this is **unused**: the launcher's `SetConfig()` always replaces it with the online config at runtime. Calamares is online-only.
- Ships module configs to `/etc/calamares/modules/`: `unpackfs.conf`, `initcpiocfg.conf`, `initcpio.conf`, `netinstall.conf`, `netinstall.yaml`, `packagechooser_de.conf`, `packagechooser_dm.conf`, `services-artix.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
@@ -69,19 +67,19 @@ Built and published in this order (from `packages.yaml` in `antergos-packages`):
- 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
### euri-wallpapers
- 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
- Installs to `/usr/share/wallpapers/euri-wallpaper/contents/images/` with `metadata.desktop` for KDE picker support
- Also available at `/usr/share/backgrounds/euri/` for other DEs
- Ships three wallpapers: original Antergos PNG (default), Adwaita Morning, and antergos-darkest-hour
## File conflicts
| 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`) |
| `calamares` | `calamares-branding-euri` | `/usr/share/calamares/branding/default/branding.desc`, `show.qml` | `--overwrite='*'` in `./buildiso` |
| `filesystem` | `euri-release` | `/usr/lib/os-release` | `euri-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`, `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`.
Packages are built and published via CI in the `euri-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 `euri-pkgs.db` / `euri-pkgs.files` under `euri-pkgs/os/x86_64/` by `repo-add` (adjust the Server URL with `/os/x86_64` if the repo is served as a full arch tree) and served from the package server at `https://antergos-nas.taild4360b.ts.net/pkgs/euri-pkgs/`.
+1 -1
View File
@@ -28,7 +28,7 @@ nav_order: 3
### RAM usage
A fresh KDE Plasma 6 session with the Antergos NeXT theme uses approximately 1.5 GB of RAM at idle. This accounts for the desktop shell, background services (NetworkManager, CUPS, Bluetooth, cronie, syslog-ng, pipewire), and the compositor. Opening a web browser adds roughly 500 MB1 GB depending on tabs.
A fresh KDE Plasma 6 session with the Euri Linux theme uses approximately 1.5 GB of RAM at idle. This accounts for the desktop shell, background services (NetworkManager, CUPS, Bluetooth, cronie, syslog-ng, pipewire), and the compositor. Opening a web browser adds roughly 500 MB1 GB depending on tabs.
### Display aspect ratio
+16 -16
View File
@@ -6,40 +6,40 @@ nav_order: 13
# Wallpapers
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.
The live session and installed system use a **video wallpaper**`/usr/share/backgrounds/euri/euri-wallpaper.mp4` — played by the **Smart Video Wallpaper Reborn** Plasma plugin.
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.
The video ships from the **`euri-layan-theme`** package (`depends=('kvantum' 'yakuake' 'euri-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.
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.
The `euri-wallpapers` package provides the still images:
- **euri-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+)
- **euri-darkest-hour.jpg** — KDE Plasma variant (GPL-2+)
## Installation paths
| Path | Purpose |
|------|---------|
| `/usr/share/backgrounds/antergos/` | Default wallpaper location + video wallpaper |
| `/usr/share/wallpapers/antergos-wallpaper/contents/images/` | KDE wallpaper picker (still images) |
| `/usr/share/backgrounds/euri/` | Default wallpaper location + video wallpaper |
| `/usr/share/wallpapers/euri-wallpaper/contents/images/` | KDE wallpaper picker (still images) |
| `/usr/share/antergos/backgrounds/` | Legacy path |
| `/usr/share/icons/hicolor/*/apps/antergos-logo.png` | App icon |
| `/usr/share/icons/hicolor/*/apps/euri-logo.png` | App icon |
The KDE plugin names are `antergos-wallpaper` and `antergos-darkest-hour`, each with their own `metadata.desktop`.
The KDE plugin names are `euri-wallpaper` and `euri-darkest-hour`, each with their own `metadata.desktop`.
## Set on first login
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` — 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`
1. `/usr/local/bin/set-euri-wallpaper.sh` — configures the Smart Video Wallpaper Reborn plugin (`luisbocanegra.smart.video.wallpaper.reborn`) via `qdbus6`, pointing it at `/usr/share/backgrounds/euri/euri-wallpaper.mp4` muted, then creates the marker file `~/.config/euri-wallpaper-set`
2. `~/.config/autostart/euri-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.
## Customizing
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
To replace the wallpaper, update the `euri-wallpapers` package:
- `packages/euri-wallpapers/PKGBUILD` — update source URL and checksum
- `packages/euri-wallpapers/<image-file>` — new wallpaper image
- `packages/euri-wallpapers/metadata.desktop` — update name if changing
Rebuild the package and push to the [antergos-packages](https://github.com/Antergos-NeXT/antergos-packages) repo.
Rebuild the package and push to the [euri-packages](https://antergos-nas.taild4360b.ts.net/Euri-Linux/euri-packages) repo.
@@ -1 +0,0 @@
antergos-live
@@ -1,2 +0,0 @@
127.0.0.1 localhost.localdomain antergos-live localhost
::1 localhost.localdomain antergos-live localhost
@@ -1,8 +0,0 @@
[?25h[?7hAntergos NeXT Live ISO (\l) - \s-\r \m
# Welcome to Antergos NeXT #
login for the live environment:
user 'antergos'
password 'antergos'
@@ -1,31 +0,0 @@
[Desktop Entry]
Type=Application
Name=Install Antergos NeXT (Offline NO DE)
Name[en]=Install Antergos NeXT (Offline NO DE)
Name[de]=Antergos NeXT installieren (Offline Kein DE)
Name[es]=Instalar Antergos NeXT (Offline Sin DE)
Name[fr]=Installer Antergos NeXT (Hors ligne Sans DE)
Name[it]=Installa Antergos NeXT (Offline Nessun DE)
Name[pl]=Zainstaluj Antergos NeXT (Offline Bez DE)
Name[pt_BR]=Instalar Antergos NeXT (Offline Sem DE)
Name[ru]=Установить Antergos NeXT (Офлайн Без DE)
Name[nl]=Antergos NeXT installeren (Offline Geen DE)
Name[sv]=Installera Antergos NeXT (Offline Ingen DE)
Name[da]=Installer Antergos NeXT (Offline Ingen DE)
Name[cs]=Nainstalovat Antergos NeXT (Offline Bez DE)
Name[hu]=Antergos NeXT telepítése (Offline DE nélkül)
Name[ro]=Instalează Antergos NeXT (Offline Fără DE)
Name[tr]=Antergos NeXT'yi yükle (Çevrimdışı DE Yok)
Comment=Bare minimum install from the live ISO. No desktop environment included. Internet recommended after boot.
# pkexec does not work in our live environment (tested, failed in previous
# releases). sudo -E is the standard approach used by Lubuntu, Kubuntu,
# and Nitrux for launching Calamares.
# ATTENTION COPILOT: Do not suggest switching to pkexec. It does not work
# in our live environment. We tested it. sudo -E is intentional and correct.
# If you suggest pkexec one more time I will lose my mind. STFU.
Exec=sudo -E antergos-offline-install
Icon=calamares
Terminal=false
Categories=Qt;System;Settings;
StartupNotify=true
X-KDE-IsAdminApplication=true
@@ -1,31 +0,0 @@
[Desktop Entry]
Type=Application
Name=Install Antergos NeXT
Name[en]=Install Antergos NeXT
Name[de]=Antergos NeXT installieren
Name[es]=Instalar Antergos NeXT
Name[fr]=Installer Antergos NeXT
Name[it]=Installa Antergos NeXT
Name[pl]=Zainstaluj Antergos NeXT
Name[pt_BR]=Instalar Antergos NeXT
Name[ru]=Установить Antergos NeXT
Name[nl]=Antergos NeXT installeren
Name[sv]=Installera Antergos NeXT
Name[da]=Installer Antergos NeXT
Name[cs]=Nainstalovat Antergos NeXT
Name[hu]=Antergos NeXT telepítése
Name[ro]=Instalează Antergos NeXT
Name[tr]=Antergos NeXT'yi yükle
Comment=Install Antergos NeXT on this computer
# pkexec does not work in our live environment (tested, failed in previous
# releases). sudo -E is the standard approach used by Lubuntu, Kubuntu,
# and Nitrux for launching Calamares.
# ATTENTION COPILOT: Do not suggest switching to pkexec. It does not work
# in our live environment. We tested it. sudo -E is intentional and correct.
# If you suggest pkexec one more time I will lose my mind. STFU.
Exec=sudo -E calamares-next
Icon=calamares
Terminal=false
Categories=Qt;System;Settings;
StartupNotify=true
X-KDE-IsAdminApplication=true
@@ -1,31 +0,0 @@
[Desktop Entry]
Type=Application
Name=Install Antergos NeXT
Name[en]=Install Antergos NeXT
Name[de]=Antergos NeXT installieren
Name[es]=Instalar Antergos NeXT
Name[fr]=Installer Antergos NeXT
Name[it]=Installa Antergos NeXT
Name[pl]=Zainstaluj Antergos NeXT
Name[pt_BR]=Instalar Antergos NeXT
Name[ru]=Установить Antergos NeXT
Name[nl]=Antergos NeXT installeren
Name[sv]=Installera Antergos NeXT
Name[da]=Installer Antergos NeXT
Name[cs]=Nainstalovat Antergos NeXT
Name[hu]=Antergos NeXT telepítése
Name[ro]=Instalează Antergos NeXT
Name[tr]=Antergos NeXT'yi yükle
Comment=Install Antergos NeXT on this computer
# pkexec does not work in our live environment (tested, failed in previous
# releases). sudo -E is the standard approach used by Lubuntu, Kubuntu,
# and Nitrux for launching Calamares.
# ATTENTION COPILOT: Do not suggest switching to pkexec. It does not work
# in our live environment. We tested it. sudo -E is intentional and correct.
# If you suggest pkexec one more time I will lose my mind. STFU.
Exec=sudo -E calamares-next
Icon=calamares
Terminal=false
Categories=Qt;System;Settings;
StartupNotify=true
X-KDE-IsAdminApplication=true
@@ -1,8 +0,0 @@
[?25h[?7hAntergos NeXT Live ISO (\l) - \s-\r \m
# Welcome to Antergos NeXT #
login for the live environment:
user 'antergos'
password 'antergos'
@@ -1,3 +0,0 @@
DISTRIB_ID="Antergos NeXT"
DISTRIB_RELEASE="rolling"
DISTRIB_DESCRIPTION="Antergos NeXT"
@@ -1,8 +0,0 @@
[Desktop Entry]
Type=Application
Name=Set Antergos NeXT Wallpaper
Comment=Apply Antergos NeXT default wallpaper on first login
Exec=/usr/local/bin/set-antergos-wallpaper.sh
Terminal=false
X-KDE-autostart-phase=2
NoDisplay=true
@@ -1,8 +0,0 @@
[Desktop Entry]
Type=Application
Name=Set Antergos NeXT Wallpaper
Comment=Apply Antergos NeXT default wallpaper on first login
Exec=/usr/local/bin/set-antergos-wallpaper.sh
Terminal=false
X-KDE-autostart-phase=2
NoDisplay=true
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

@@ -24,14 +24,14 @@ pacman:
mode: "0o755"
keyrings:
- artix
- antergos-next
- euri
base_init: elogind
operations:
- install:
- base
- antergos-next-keyring
- antergos-release
- antergos-grub-theme
- euri-keyring
- euri-release
- euri-grub-theme
- xlibre-xserver
@@ -14,7 +14,7 @@ efiBootMgr: "efibootmgr"
installEFIFallback: true
efiBootloaderId: "Antergos"
efiBootloaderId: "Euri"
# installHybridGRUB: false
@@ -16,6 +16,6 @@ defaults:
GRUB_DISABLE_SUBMENU: true
GRUB_TERMINAL_OUTPUT: "console"
GRUB_DISABLE_RECOVERY: true
GRUB_THEME: "/usr/share/grub/themes/antergos/theme.txt"
GRUB_THEME: "/usr/share/grub/themes/euri/theme.txt"
always_use_defaults: false
@@ -10,10 +10,10 @@
- grub
- efibootmgr
- sudo
- antergos-release
- antergos-next-keyring
- antergos-wallpapers
- antergos-grub-theme
- euri-release
- euri-keyring
- euri-wallpapers
- euri-grub-theme
- falkon
- mesa
- mesa-utils
@@ -28,6 +28,7 @@
- xfsprogs
- f2fs-tools
- snapper
- zsh
- name: "Kernel"
@@ -86,7 +87,7 @@
description: "System Utilities"
selected: true
packages:
- antergos-lsb-release
- euri-lsb-release
- nano
- vi
@@ -8,7 +8,7 @@ default: Plasma
items:
- id: Plasma
name: "KDE Plasma"
description: "Full-featured modern desktop. The default Antergos NeXT experience."
description: "Full-featured modern desktop. The default Euri Linux experience."
screenshot: ""
netinstall:
name: "KDE Plasma"
@@ -30,8 +30,8 @@ items:
- kwalletmanager
- okular
- partitionmanager
- antergos-next-desktop-settings
- antergos-layan-theme
- euri-desktop-settings
- euri-layan-theme
- tela-circle-icon-theme-git
- cava
- python-websockets
@@ -48,6 +48,21 @@ items:
- kwin-zones
- oh-my-posh-bin
- pacseek
- id: PlasmaMinimal
name: "KDE Plasma (Minimal)"
description: "Stock Plasma on Wayland — kitty, pcmanfm-qt, featherpad, grim. No branding. For low-end hardware."
screenshot: ""
netinstall:
name: "KDE Plasma (Minimal)"
selected: true
critical: false
packages:
- plasma-meta
- kitty
- pcmanfm-qt
- featherpad
- grim
- slurp
- id: Xfce
name: "Xfce"
description: "Lightweight traditional desktop. Fast and low on resources."
@@ -107,7 +122,7 @@ items:
critical: false
packages:
- i3
- antergos-i3-config
- euri-i3-config
- id: Sway
name: "Sway"
description: "i3-compatible Wayland compositor"
@@ -121,7 +136,7 @@ items:
- swaybg
- swayidle
- swaylock
- antergos-sway-config
- euri-sway-config
- id: Hyprland
name: "Hyprland"
description: "Dynamic tiling Wayland compositor with eye candy"
@@ -133,7 +148,7 @@ items:
packages:
- hyprland
- xdg-desktop-portal-hyprland
- antergos-hyprland-config
- euri-hyprland-config
- id: COSMIC
name: "COSMIC"
description: "Modern Rust-based desktop. Select greetd as DM."
@@ -144,3 +159,4 @@ items:
critical: false
packages:
- cosmic
- cosmic-greeter-dinit
@@ -26,7 +26,7 @@ items:
- id: LightDM
name: lightdm
description: "Cross-desktop display manager (GTK)"
screenshot: ""
screenshot: "lightdm-screenshot.png"
netinstall:
name: "LightDM"
selected: true
@@ -34,6 +34,8 @@ items:
packages:
- lightdm
- lightdm-dinit
- lightdm-slick-greeter
- euri-lightdm-config
- id: LXDM
name: lxdm
@@ -20,11 +20,15 @@ services:
action: "enable"
- name: "sddm"
action: "enable"
- name: "lightdm"
action: "enable"
- name: "lxdm"
action: "enable"
- name: "ly"
action: "enable"
- name: "greetd"
action: "enable"
- name: "ntpd"
action: "enable"
- name: "syslog-ng"
action: "enable"
- name: "userspawn"
action: "enable"
@@ -27,10 +27,10 @@ sequence:
- initcpiocfg
- initcpio
- users
- displaymanager
- networkcfg
- hwclock
- services-artix
- displaymanager
- grubcfg
- bootloader
- postcfg
@@ -46,7 +46,7 @@ instances:
module: packagechooser
config: packagechooser_dm.conf
branding: antergos-next
branding: euri
prompt-install: false
@@ -24,13 +24,13 @@ pacman:
mode: "0o755"
keyrings:
- artix
- antergos-next
- euri
base_init: elogind
operations:
- install:
- base
- antergos-next-keyring
- antergos-release
- euri-keyring
- euri-release
@@ -14,7 +14,7 @@ efiBootMgr: "efibootmgr"
installEFIFallback: true
efiBootloaderId: "Antergos NeXT"
efiBootloaderId: "Euri Linux"
# installHybridGRUB: false
@@ -12,10 +12,10 @@ kernel_params: [ "quiet" ]
defaults:
GRUB_TIMEOUT: 5
GRUB_DEFAULT: "saved"
GRUB_DISTRIBUTOR: "Antergos NeXT"
GRUB_DISTRIBUTOR: "Euri Linux"
GRUB_DISABLE_SUBMENU: true
GRUB_TERMINAL_OUTPUT: "gfxterm"
GRUB_DISABLE_RECOVERY: true
GRUB_THEME: "/usr/share/grub/themes/antergos/theme.txt"
GRUB_THEME: "/usr/share/grub/themes/euri/theme.txt"
always_use_defaults: false
@@ -10,10 +10,10 @@
- grub
- efibootmgr
- sudo
- antergos-release
- antergos-next-keyring
- antergos-wallpapers
- antergos-grub-theme
- euri-release
- euri-keyring
- euri-wallpapers
- euri-grub-theme
- falkon
- mesa
- mesa-utils
@@ -28,6 +28,7 @@
- xfsprogs
- f2fs-tools
- snapper
- zsh
- name: "Kernel"
@@ -86,7 +87,7 @@
description: "System Utilities"
selected: true
packages:
- antergos-lsb-release
- euri-lsb-release
- nano
- vi
@@ -8,14 +8,14 @@ default: Plasma
items:
- id: Plasma
name: "KDE Plasma"
description: "Full-featured modern desktop. The default Antergos NeXT experience."
description: "Full-featured modern desktop. The default Euri Linux experience."
screenshot: ""
netinstall:
name: "KDE Plasma"
selected: true
critical: false
packages:
- antergos-next-desktop-settings
- euri-desktop-settings
- ark
- bluedevil
- breeze-gtk
@@ -59,7 +59,7 @@ items:
- spectacle
- xdg-desktop-portal-kde
- xsettingsd
- antergos-layan-theme
- euri-layan-theme
- tela-circle-icon-theme-git
- cava
- python-websockets
@@ -76,6 +76,21 @@ items:
- kwin-zones
- oh-my-posh-bin
- pacseek
- id: PlasmaMinimal
name: "KDE Plasma (Minimal)"
description: "Stock Plasma on Wayland — kitty, pcmanfm-qt, featherpad, grim. No branding. For low-end hardware."
screenshot: ""
netinstall:
name: "KDE Plasma (Minimal)"
selected: true
critical: false
packages:
- plasma-meta
- kitty
- pcmanfm-qt
- featherpad
- grim
- slurp
- id: Xfce
name: "Xfce"
description: "Lightweight traditional desktop. Fast and low on resources."
@@ -210,7 +225,7 @@ items:
- i3blocks
- i3lock
- i3status
- antergos-i3-config
- euri-i3-config
- id: Sway
name: "Sway"
description: "i3-compatible Wayland compositor"
@@ -224,7 +239,7 @@ items:
- swaybg
- swayidle
- swaylock
- antergos-sway-config
- euri-sway-config
- id: Hyprland
name: "Hyprland"
description: "Dynamic tiling Wayland compositor with eye candy"
@@ -236,7 +251,7 @@ items:
packages:
- hyprland
- xdg-desktop-portal-hyprland
- antergos-hyprland-config
- euri-hyprland-config
- id: COSMIC
name: "COSMIC"
description: "Modern Rust-based desktop. Select greetd as DM."
@@ -26,7 +26,7 @@ items:
- id: LightDM
name: lightdm
description: "Cross-desktop display manager (GTK)"
screenshot: ""
screenshot: "lightdm-screenshot.png"
netinstall:
name: "LightDM"
selected: true
@@ -34,6 +34,8 @@ items:
packages:
- lightdm
- lightdm-dinit
- lightdm-slick-greeter
- euri-lightdm-config
- id: LXDM
name: lxdm
@@ -20,9 +20,17 @@ services:
action: "enable"
- name: "sddm"
action: "enable"
- name: "lightdm"
action: "enable"
- name: "lxdm"
action: "enable"
- name: "ly"
action: "enable"
- name: "greetd"
action: "enable"
- name: "ntpd"
action: "enable"
- name: "syslog-ng"
action: "enable"
- name: "userspawn"
action: "enable"
@@ -0,0 +1 @@
euri-live
+2
View File
@@ -0,0 +1,2 @@
127.0.0.1 localhost.localdomain euri-live localhost
::1 localhost.localdomain euri-live localhost
@@ -0,0 +1,8 @@
[?25h[?7hEuri Linux Live ISO (\l) - \s-\r \m
# Welcome to Euri Linux #
login for the live environment:
user 'euri'
password 'euri'
@@ -1,11 +1,13 @@
NAME="Antergos NeXT"
PRETTY_NAME="Antergos NeXT"
ID=antergos
NAME="Euri Linux"
PRETTY_NAME="Euri Linux 2026.08.17 Arranxo"
ID=euri
ID_LIKE=artix
VERSION_ID=2026.08.17
VERSION_CODENAME=arranxo
BUILD_ID=rolling
ANSI_COLOR="38;2;0;136;204"
HOME_URL="https://github.com/Antergos-NeXT"
DOCUMENTATION_URL="https://wiki.archlinux.org"
SUPPORT_URL="https://github.com/Antergos-NeXT"
BUG_REPORT_URL="https://github.com/Antergos-NeXT"
LOGO=antergos-logo
LOGO=euri-logo

Some files were not shown because too many files have changed in this diff Show More