diff --git a/docs/ci.md b/docs/ci.md index 3d0e600..3cc992f 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -1,7 +1,7 @@ --- title: CI/CD layout: default -nav_order: 5 +nav_order: 6 --- # CI/CD Pipeline diff --git a/docs/desktop-environments.md b/docs/desktop-environments.md index 8b4fa90..dd9d1b3 100644 --- a/docs/desktop-environments.md +++ b/docs/desktop-environments.md @@ -1,7 +1,7 @@ --- title: Desktop Environments layout: default -nav_order: 7 +nav_order: 8 --- # Desktop Environments diff --git a/docs/development.md b/docs/development.md index 034d917..cd17970 100644 --- a/docs/development.md +++ b/docs/development.md @@ -1,7 +1,7 @@ --- title: Development layout: default -nav_order: 6 +nav_order: 7 --- # Development diff --git a/docs/index.md b/docs/index.md index ab21f72..b306a34 100644 --- a/docs/index.md +++ b/docs/index.md @@ -26,6 +26,12 @@ A community revival of Antergos — built on **Artix Linux** with **OpenRC**, ** - [CI/CD](ci) — GitHub Actions pipeline - [Development](development) — contributing, gotchas, conventions +## Learn about Antergos NeXT + +- [OpenRC](openrc) — what is OpenRC, why we use it, and how to use it +- [Desktop Environments](desktop-environments) — available DEs in online mode +- [Wallpapers](wallpapers) — where they go, how they work + ## What changed | Area | Original Antergos | Antergos NeXT | diff --git a/docs/installer.md b/docs/installer.md index cc32bbb..3e55e2c 100644 --- a/docs/installer.md +++ b/docs/installer.md @@ -1,7 +1,7 @@ --- title: Installer layout: default -nav_order: 3 +nav_order: 4 --- # Calamares Installer diff --git a/docs/launcher.md b/docs/launcher.md index e3fb3c6..daf477b 100644 --- a/docs/launcher.md +++ b/docs/launcher.md @@ -1,7 +1,7 @@ --- title: Launcher layout: default -nav_order: 9 +nav_order: 10 --- # Calamares Launcher diff --git a/docs/openrc.md b/docs/openrc.md new file mode 100644 index 0000000..be5ef06 --- /dev/null +++ b/docs/openrc.md @@ -0,0 +1,101 @@ +--- +title: OpenRC +layout: default +nav_order: 3 +--- + +# OpenRC + +If you're here, you probably noticed Antergos NeXT doesn't use **systemd**. That's because we moved to **OpenRC** — a different init system. This page explains what that means for you. + +## What is an init system? + +When your computer boots, something has to start everything: mount filesystems, bring up networking, launch the display manager, start services. That "something" is the **init system** — it's the first process (PID 1) and the parent of everything else. + +**systemd** is the most common one (used by Arch, Fedora, Ubuntu, Debian). **OpenRC** is an alternative — lighter, simpler, and philosophically different. + +## systemd vs OpenRC at a glance + +| | systemd | OpenRC | +|---|---|---| +| Philosophy | "One tool to rule them all" | "Do one thing well (Unix way)" | +| Logs | `journalctl` (binary logs) | Plain text files in `/var/log/` | +| Service mgmt | `systemctl start/stop/enable` | `rc-service start/stop`, `rc-update add/del` | +| Dependency | Parallel + automatic | Manual or explicit `need/use/before/after` | +| Config files | `.service` units (INI-like) | Shell scripts in `/etc/init.d/` | +| Size | ~80+ binaries, 500k+ lines | ~15 binaries, ~30k lines | +| Scope | PID 1 + logind + resolved + timedated + networkd + ... | Just PID 1 | + +## What changes for you as a user? + +### Service management + +| Task | systemd | OpenRC | +|------|---------|--------| +| Start a service | `sudo systemctl start sshd` | `sudo rc-service sshd start` | +| Stop a service | `sudo systemctl stop sshd` | `sudo rc-service sshd stop` | +| Enable at boot | `sudo systemctl enable sshd` | `sudo rc-update add sshd` | +| Disable at boot | `sudo systemctl disable sshd` | `sudo rc-update del sshd` | +| Check status | `systemctl status sshd` | `rc-service sshd status` | +| List enabled | `systemctl list-unit-files --enabled` | `rc-update show` | +| View logs | `journalctl -u sshd` | `less /var/log/messages` | + +### Key commands + +```bash +# List all services with their runlevel +rc-status + +# List enabled services +rc-update show + +# Add a service to a runlevel +rc-update add + +# Remove a service +rc-update del + +# Start/stop/restart a service +rc-service start +rc-service stop +rc-service restart +``` + +Runlevels in OpenRC work like directories under `/etc/runlevels/`: + +``` +/etc/runlevels/ +├── boot # Low-level system services (filesystems, udev, etc.) +├── sysinit # System initialization (hwclock, hostname, etc.) +├── default # Normal boot services (NetworkManager, sshd, etc.) +└── shutdown # Shutdown services +``` + +## Why did Antergos NeXT switch? + +Three reasons: + +1. **systemd grew beyond an init system** — it now owns logind, resolved, timedated, networkd, homed, and more. It's no longer just PID 1. It's a full OS management suite with a scope that keeps expanding. + +2. **systemd dropped SysV compatibility** — version 260 (March 2026) removed `systemd-sysv-generator`, `rc-local.service`, and all legacy compatibility code. If your distro isn't 100% systemd-native, it breaks. + +3. **systemd's age verification PR** — [#40954](https://github.com/systemd/systemd/pull/40954) (merged Mar 2026) added `birthDate` fields to userdb JSON for age verification compliance. Optional today, precedent tomorrow. We don't want our OS to ask for your age. + +OpenRC doesn't do any of that. It starts services and gets out of the way. + +## Will things break? + +Probably not. Most desktop software doesn't care about the init system. Browsers, editors, games, media players — they all work the same. + +Things that **do** care about systemd and won't work: +- `systemctl`, `journalctl`, `loginctl`, `timedatectl` — obviously +- GNOME (it dropped non-systemd support) +- Any `.service` file you try to run directly (they're systemd-native) + +But everything you actually use day-to-day? Works fine. And if you need to check logs, they're in `/var/log/messages` — plain text, no `journalctl` required. + +## Learning more + +- [OpenRC documentation](https://wiki.gentoo.org/wiki/OpenRC) +- [Gentoo Handbook: OpenRC](https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation#OpenRC) +- [Comparison of init systems (Wikipedia)](https://en.wikipedia.org/wiki/Comparison_of_init_systems) diff --git a/docs/overlays.md b/docs/overlays.md index fd755bf..325f421 100644 --- a/docs/overlays.md +++ b/docs/overlays.md @@ -1,7 +1,7 @@ --- title: Overlays layout: default -nav_order: 10 +nav_order: 11 has_children: true --- diff --git a/docs/packages.md b/docs/packages.md index 4e243d5..d6b80f4 100644 --- a/docs/packages.md +++ b/docs/packages.md @@ -1,7 +1,7 @@ --- title: Packages layout: default -nav_order: 4 +nav_order: 5 --- # Custom Packages diff --git a/docs/wallpapers.md b/docs/wallpapers.md index c3b2d46..82b17a1 100644 --- a/docs/wallpapers.md +++ b/docs/wallpapers.md @@ -1,7 +1,7 @@ --- title: Wallpapers layout: default -nav_order: 8 +nav_order: 9 --- # Wallpapers