feat: DE selector with packagechooser, video wallpaper fix, slideshow redesign

- Replace dead init selector (packagechooser.conf, 303 lines) with
  packagechooser_de.conf + packagechooser_dm.conf (netinstall-add method)
- Remove init SVGs (dinit, openrc, runit, s6)
- Clean netinstall.yaml — Desktop group removed, DEs added dynamically
- Update calamares-online/settings.conf with packagechooser@de + @dm instances
- Fix set-antergos-wallpaper.sh: Array() not [], no reloadConfig()
- Rewrite installer, launcher, and live-overlay docs
This commit is contained in:
2026-07-24 19:59:58 +02:00
parent a3b69aed34
commit 6ec25cca78
14 changed files with 529 additions and 648 deletions
+84 -16
View File
@@ -12,6 +12,8 @@ Antergos NeXT uses [Calamares](https://codeberg.org/calamares/calamares) as its
Online-only (since v2026.07.16). The so-called "Offline Install" was removed — it was never truly offline: the rootfs only contained live session essentials, and all DE packages were still downloaded via basestrap. All installs now use the full netinstall flow with desktop selection.
A BYODE (Bring Your Own Desktop Environment) offline installer is still available for users who want a bare system installed from the ISO. See [BYODE](../byode).
## Fixed issues
### Audio on installed systems
@@ -43,31 +45,55 @@ The `filesystem` package from Artix owns `/usr/lib/os-release`. Our `antergos-re
Antergos NeXT ships **Dinit** only. Other init systems (OpenRC, Runit, S6) are available in the Artix repos but are not offered as install-time options. See [Changing init on an installed system](changing-init) for instructions if you need a different init.
## Desktop selector (online)
## Desktop selector
Users choose from: **Plasma**, **Xfce**, **Cinnamon**, **MATE**, **LXQt**, **i3**, **Sway**, **Hyprland**, **COSMIC**, or **No Desktop**.
The install flow begins with a dedicated desktop environment picker (`packagechooser@de`) before the package selection tree. This replaces the old netinstall-based "Desktop" group that installed all DEs when the parent checkbox was clicked.
Implemented as a separate `packagechooser` instance with `method: legacy`. "No Desktop" installs only the base system (TTY/login — no DE, no display manager).
The selector uses `method: netinstall-add` — the chosen DE's package group is dynamically added to the netinstall tree. This means users can still refine their DE packages in the subsequent netinstall step, seeing only their selected DE rather than all available options.
## Available desktops
| Step | Module | Description |
|------|--------|-------------|
| 1 | `packagechooser@de` | Pick one DE (required, default: Plasma) |
| 2 | `packagechooser@dm` | Pick a display manager (required, default: SDDM) |
| 3 | `netinstall` | Refine package selection, add optional groups |
| Desktop | Artix Repo | Group/Packages | Notes |
|---------|------------|----------------|-------|
| Plasma | world | `plasma` group | Default. Wayland + X11. Includes Discover |
| Xfce | galaxy | `xfce4` group | |
| Cinnamon | galaxy | Individual packages | |
| MATE | galaxy | `mate` + `mate-extra` | |
| LXQt | galaxy | `lxqt` group | |
| i3 | world | `i3` group | Tiling WM |
| Sway | world | `sway` + related | Wayland-native tiling |
| Hyprland | world | `hyprland` | Wayland compositor |
| COSMIC | galaxy | `cosmic` group | Rust/Wayland. Uses greetd. Alpha quality |
### Available desktops
## Not available
| Desktop | Repo | Type | Notes |
|---------|------|------|-------|
| **KDE Plasma** | world | Full DE | Default. Wayland + X11. Uses the `plasma` group with antergos-next-desktop-settings |
| **Xfce** | galaxy | Full DE | Lightweight. GTK-based. Uses `xfce4` group |
| **Cinnamon** | galaxy | Full DE | Traditional layout. GNOME-based |
| **MATE** | galaxy | Full DE | GNOME 2 continuation. Uses `mate` + `mate-extra` |
| **LXQt** | galaxy | Full DE | Lightweight Qt desktop. Uses `lxqt` group |
| **i3** | world | Tiling WM | Keyboard-driven. Ships `i3` group (i3-wm, i3blocks, i3lock, i3status). Requires `antergos-i3-config` for a usable experience |
| **Sway** | world | Tiling WM | i3-compatible Wayland compositor. Requires `antergos-sway-config` |
| **Hyprland** | world | Tiling WM | Dynamic Wayland compositor with eye candy. Requires `antergos-hyprland-config` |
| **COSMIC** | galaxy | Full DE | Rust-based desktop from System76. Alpha quality. Select **greetd** as display manager |
### Not available
- **Budgie** — not in any Artix repo (system, world, galaxy, lib32). Slideshow entries removed.
- **GNOME** — dropped non-systemd support upstream. "You really think you can get GNOME here?"
### 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.
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:
- **SDDM** — KDE's QML-based display manager (default). Ships with `pixie-sddm-git` theme.
- **LightDM** — GTK-based, cross-desktop
- **LXDM** — Lightweight (LXDE)
- **greetd** — Minimal, recommended for COSMIC
- **LY** — TUI-based, minimal
The selected DM's group is marked as checked in the netinstall tree automatically.
## 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`).
@@ -84,6 +110,48 @@ The Artix `grub` package ships its own default `/etc/default/grub`. Because this
The `bootloader` module auto-detects the GRUB target architecture using the system's EFI bitness and CPU type. For UEFI x86_64, it installs with `--target=x86_64-efi`. For Legacy BIOS boots, it falls back to `--target=i386-pc`. There is no configuration key to override this — a system booted in BIOS mode will always receive an i386-pc bootloader.
## Installation flow
The full Calamares sequence is defined in `live-overlay/etc/calamares-online/settings.conf`:
**Show phase:**
1. `welcome` — branding and language
2. `locale` — timezone, locale
3. `keyboard` — keyboard layout
4. `packagechooser@de` — desktop environment selection
5. `packagechooser@dm` — display manager selection
6. `netinstall` — package refinement, optional groups
7. `partition` — disk partitioning
8. `users` — user account creation
9. `summary` — confirmation
**Exec phase:**
10. `partition` — write partitions
11. `mount` — mount target
12. `basestrap` — bootstrap base system
13. `machineid` — generate machine ID
14. `packages` — install all selected packages (DE, DM, optional groups)
15. `fstab` — generate fstab
16. `locale` — apply locale
17. `keyboard` — apply keyboard config
18. `localecfg` — locale configuration
19. `luksopenswaphookcfg` — LUKS config
20. `luksbootkeyfile` — LUKS boot key
21. `initcpiocfg` — mkinitcpio config
22. `initcpio` — generate initramfs
23. `users` — create user
24. `displaymanager` — configure SDDM/greetd/etc.
25. `networkcfg` — network configuration
26. `hwclock` — hardware clock
27. `services-artix` — enable dinit services
28. `grubcfg` — write GRUB defaults
29. `bootloader` — install GRUB
30. `postcfg` — post-install configuration
31. `umount` — unmount and finish
**Show phase:**
32. `finished` — reboot prompt
## Launcher
The `calamares-next` script (`/usr/bin/calamares-next`) handles the installer boot flow:
+21 -4
View File
@@ -29,14 +29,30 @@ Exec=sudo -E calamares-next
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/`.
## Calamares sequence
The installer runs two `packagechooser` instances in sequence, followed by the `netinstall` module:
| 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) |
| 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.
### Available DE groups
Each DE item in `packagechooser_de.conf` includes a `netinstall:` field with its full package list. The groups are mutually exclusive — selecting a new DE replaces the previously selected one in the netinstall tree. Once added, the group behaves identically to a group defined in `netinstall.yaml`: users can expand it, toggle subgroups, or remove individual packages.
## Pacman log capture
During installation, the launcher polls for the existence of a pacman log file within the chroot (at `/tmp/calamares-root-*/var/log/pacman.log`). When detected, a copy is written to `~/pacman-install.log`. No terminal windows are opened to display installation progress.
## Installer flow
The launcher shows a YAD info notice explaining the removal of the offline mode, then presents a branded splash with a single "Install" button. Calamares launches in online mode with the desktop environment selector.
## Config switching
`SetConfig()` in `calamares-next.sh`:
@@ -53,6 +69,7 @@ The live-overlay includes `calamares-config-switcher.desktop` with `NoDisplay=tr
Configs live in `live-overlay/etc/calamares/modules/`:
- `packagechooser_de.conf` — desktop environment selector using `method: netinstall-add`
- `packagechooser_dm.conf` — display manager selector using `method: netinstall-select`
- `initcpiocfg.conf` — mkinitcpio configuration
- `services-artix.conf` — service enablement via `artix-service`
+52 -6
View File
@@ -17,11 +17,18 @@ live-overlay/
│ ├── calamares/
│ │ └── settings.conf # Replaced at runtime by online config
│ ├── calamares-online/
│ │ ├── settings.conf # Online install config (packagechooser)
│ │ ├── settings.conf # Online install config (two packagechooser instances)
│ │ └── modules/
│ │ ├── packagechooser_dm.conf # Display manager selector
│ │ ├── packagechooser_de.conf # Desktop environment selector
│ │ ├── packagechooser_dm.conf # Display manager selector
│ │ ├── initcpiocfg.conf
│ │ ── ...
│ │ ── initcpio.conf
│ │ ├── locale.conf
│ │ ├── mount.conf
│ │ ├── partition.conf
│ │ ├── umount.conf
│ │ ├── users.conf
│ │ └── welcome.conf
│ └── sddm.conf.d/
│ └── kde_settings.conf # SDDM autologin + Wayland session
└── usr/
@@ -39,16 +46,55 @@ Placeholder — replaced at runtime by `calamares-next.sh` which copies the onli
### `etc/calamares-online/settings.conf`
One `packagechooser` instance for DM selection (`packagechooser@dm`) using `netinstall-select`.
Defines two `packagechooser` instances:
### Offline config (archived)
- `packagechooser@de` — desktop environment selector using `method: netinstall-add`. Writes the selected DE's package group to the `netinstallAdd` global storage key. The DE group is dynamically appended to the netinstall tree when the netinstall module loads.
- `packagechooser@dm` — display manager selector using `method: netinstall-select`. Marks the chosen DM group as checked in the netinstall tree.
The offline install mode was removed in v2026.07.16 — it was never truly offline (all DE packages were still downloaded via basestrap). The configs are preserved at `iso-profiles/antergos/calamares-offline/` for reference.
The `modules-search: [ local ]` directive resolves module configs from the same directory as the settings file (`/etc/calamares/modules/`).
### `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.
### `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.
### `etc/calamares-online/modules/*.conf`
Additional modules required for the online install flow:
| File | Purpose |
|------|---------|
| `initcpio.conf` | mkinitcpio generation |
| `initcpiocfg.conf` | mkinitcpio configuration |
| `locale.conf` | Locale and timezone |
| `mount.conf` | Filesystem mounting |
| `partition.conf` | Disk partitioning |
| `umount.conf` | Unmounting |
| `users.conf` | User creation |
| `welcome.conf` | Welcome page |
### `usr/share/applications/calamares-config-switcher.desktop`
Has `NoDisplay=true` to hide it from the app menu. The upstream Artix "Install Artix Linux" entry is suppressed this way while keeping the binary available.
## Module configs removed
The following files were removed during the transition away from the init system selector:
- `packagechooser.conf` — the old init system selector (dinit/openrc/runit/s6). Replaced by `packagechooser_de.conf` (DE selector).
- `images/` — SVG icons for init systems (dinit.svg, openrc.svg, runit.svg, s6.svg). No longer needed.
These changes were made in the v2026.07.24 release cycle.
## DE selector package lists
The two copies of `packagechooser_de.conf` differ in their package granularity:
- `calamares/modules/packagechooser_de.conf`**explicit package lists** (e.g. all 44 Plasma packages listed individually). Users see the full list in the netinstall refinement step.
- `calamares-online/modules/packagechooser_de.conf`**meta/group packages** (e.g. `plasma`, `xfce4`, `mate`). Simpler but less granular for refinement.
Both use the same DE IDs and `method: netinstall-add`. The active copy at runtime is the one in `calamares/modules/`.
@@ -84,83 +84,7 @@
- oh-my-posh-bin
- pacseek
- name: "Desktop"
description: "DE"
selected: true
critical: false
subgroups:
- name: "Plasma"
description: "KDE Plasma Desktop"
selected: true
packages:
- plasma
- ark
- dolphin
- ffmpegthumbs
- gwenview
- kate
- keditbookmarks
- kfind
- kgpg
- kio-admin
- konsole
- konversation
- kwalletmanager
- okular
- partitionmanager
- name: "Xfce"
description: "Xfce Desktop"
selected: false
packages:
- xfce4
- xfce4-goodies
- name: "Cinnamon"
description: "Cinnamon Desktop"
selected: false
packages:
- cinnamon
- cinnamon-control-center
- cinnamon-desktop
- cinnamon-menus
- cinnamon-screensaver
- cinnamon-session
- cinnamon-settings-daemon
- cinnamon-translations
- name: "MATE"
description: "MATE Desktop"
selected: false
packages:
- mate
- mate-extra
- name: "LXQt"
description: "LXQt Desktop"
selected: false
packages:
- lxqt
- name: "i3"
description: "i3 Tiling WM"
selected: false
packages:
- i3
- name: "Sway"
description: "Sway Wayland Compositor"
selected: false
packages:
- sway
- swaybg
- swayidle
- swaylock
- name: "Hyprland"
description: "Hyprland Wayland Compositor"
selected: false
packages:
- hyprland
- xdg-desktop-portal-hyprland
- name: "COSMIC"
description: "COSMIC Desktop (Rust/Wayland — select greetd as DM)"
selected: false
packages:
- cosmic
- name: "Init Services"
description: "Essential dinit services"
@@ -0,0 +1,125 @@
---
mode: required
method: netinstall-add
labels:
step: "Desktop Environment"
step[de]: "Desktop-Umgebung"
default: Plasma
items:
- id: Plasma
name: "KDE Plasma"
description: "Full-featured modern desktop. The default Antergos NeXT experience."
screenshot: ""
netinstall:
name: "KDE Plasma"
selected: true
critical: false
packages:
- plasma
- ark
- dolphin
- ffmpegthumbs
- gwenview
- kate
- keditbookmarks
- kfind
- kgpg
- kio-admin
- konsole
- konversation
- kwalletmanager
- okular
- partitionmanager
- id: Xfce
name: "Xfce"
description: "Lightweight traditional desktop. Fast and low on resources."
screenshot: ""
netinstall:
name: "Xfce"
selected: true
critical: false
packages:
- xfce4
- xfce4-goodies
- id: Cinnamon
name: "Cinnamon"
description: "Traditional desktop with modern features (GNOME-based)"
screenshot: ""
netinstall:
name: "Cinnamon"
selected: true
critical: false
packages:
- cinnamon
- cinnamon-control-center
- cinnamon-desktop
- cinnamon-menus
- cinnamon-screensaver
- cinnamon-session
- cinnamon-settings-daemon
- cinnamon-translations
- id: MATE
name: "MATE"
description: "Classic desktop — continuation of GNOME 2"
screenshot: ""
netinstall:
name: "MATE"
selected: true
critical: false
packages:
- mate
- mate-extra
- id: LXQt
name: "LXQt"
description: "Lightweight Qt-based desktop"
screenshot: ""
netinstall:
name: "LXQt"
selected: true
critical: false
packages:
- lxqt
- id: i3
name: "i3"
description: "Minimal tiling window manager (keyboard-driven)"
screenshot: ""
netinstall:
name: "i3"
selected: true
critical: false
packages:
- i3
- id: Sway
name: "Sway"
description: "i3-compatible Wayland compositor"
screenshot: ""
netinstall:
name: "Sway"
selected: true
critical: false
packages:
- sway
- swaybg
- swayidle
- swaylock
- id: Hyprland
name: "Hyprland"
description: "Dynamic tiling Wayland compositor with eye candy"
screenshot: ""
netinstall:
name: "Hyprland"
selected: true
critical: false
packages:
- hyprland
- xdg-desktop-portal-hyprland
- id: COSMIC
name: "COSMIC"
description: "Modern Rust-based desktop. Select greetd as DM."
screenshot: ""
netinstall:
name: "COSMIC"
selected: true
critical: false
packages:
- cosmic
@@ -6,6 +6,7 @@ sequence:
- welcome
- locale
- keyboard
- packagechooser@de
- packagechooser@dm
- netinstall
- partition
@@ -38,6 +39,9 @@ sequence:
- finished
instances:
- id: de
module: packagechooser
config: packagechooser_de.conf
- id: dm
module: packagechooser
config: packagechooser_dm.conf
@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<circle cx="32" cy="32" r="30" fill="#f67400"/>
<g transform="translate(21,21) scale(1)">
<path d="m3 3v16l16-8z" fill="white"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 212 B

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<circle cx="32" cy="32" r="30" fill="#3daee9"/>
<g transform="translate(21,21) scale(1)">
<path d="M 11.5 3 C 10.286139 3 9.2809778 3.8559279 9.0507812 5 L 3 5 L 3 6 L 9.0507812 6 C 9.2809778 7.1440721 10.286139 8 11.5 8 C 12.713861 8 13.719022 7.1440721 13.949219 6 L 19 6 L 19 5 L 13.949219 5 C 13.719022 3.8559279 12.713861 3 11.5 3 z M 5.5 14 C 4.1149999 14 3 15.115 3 16.5 C 3 17.885 4.1149999 19 5.5 19 C 6.7138604 19 7.7190223 18.144072 7.9492188 17 L 19 17 L 19 16 L 7.9492188 16 C 7.7190223 14.855928 6.7138604 14 5.5 14 z M 5.5 15 C 6.3310001 15 7 15.669 7 16.5 C 7 17.331 6.3310001 18 5.5 18 C 4.6689999 18 4 17.331 4 16.5 C 4 15.669 4.6689999 15 5.5 15 z" fill="white"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 766 B

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<circle cx="32" cy="32" r="30" fill="#27ae60"/>
<g transform="translate(21,21) scale(1)">
<path d="M 3 3 L 3 7 L 3 18 L 3 19 L 13 19 L 19 19 L 19 18 L 19 13 L 19 7 L 19 3 L 3 3 z M 4 7 L 18 7 L 18 13 L 18 18 L 13 18 L 4 18 L 4 7 z M 9 10 L 9 16 L 14 13 L 9 10 z" fill="white"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 361 B

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<circle cx="32" cy="32" r="30" fill="#9b59b6"/>
<g transform="translate(21,21) scale(1)">
<path d="m11 3a8 8 0 0 0-7.9277344 7h1.0058594a7 7 0 0 1 6.921875-6 7 7 0 0 1 6.320312 4h-3.320312v1h5v-1-4h-1v3.1679688a8 8 0 0 0-7-4.1679688zm6.921875 9a7 7 0 0 1-6.921875 6 7 7 0 0 1-6.3105469-4h3.3105469v-1h-5v1 4h1v-3.195312a8 8 0 0 0 7 4.195312 8 8 0 0 0 7.927734-7h-1.005859z" fill="white"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 472 B

@@ -115,187 +115,7 @@
- artools-iso
- artools-pkg
- name: "Desktop"
description: "DE"
selected: true
critical: false
subgroups:
- name: "Plasma"
description: "KDE Plasma Desktop"
selected: false
packages:
- antergos-next-desktop-settings
- ark
- bluedevil
- breeze-gtk
- dolphin
- dolphin-plugins
- ffmpegthumbs
- gwenview
- kate
- kcalc
- kde-cli-tools
- kde-gtk-config
- kdeconnect
- kdegraphics-thumbnailers
- kdenetwork-filesharing
- kdeplasma-addons
- keditbookmarks
- kfind
- kgpg
- kinfocenter
- kio-admin
- kio-extras
- kio-fuse
- konsole
- konversation
- kscreen
- kwallet-pam
- kwalletmanager
- kwayland-integration
- okular
- partitionmanager
- plasma-browser-integration
- plasma-desktop
- plasma-disks
- plasma-nm
- plasma-pa
- plasma-systemmonitor
- plasma-workspace
- powerdevil
- print-manager
- qt6-imageformats
- spectacle
- xdg-desktop-portal-kde
- xsettingsd
- name: "Xfce"
description: "Xfce Desktop"
selected: false
packages:
- exo
- garcon
- thunar
- thunar-volman
- tumbler
- xfce4-appfinder
- xfce4-panel
- xfce4-power-manager
- xfce4-session
- xfce4-settings
- xfce4-terminal
- xfconf
- xfdesktop
- xfwm4
- xfwm4-themes
- mousepad
- parole
- ristretto
- thunar-archive-plugin
- thunar-media-tags-plugin
- xfburn
- xfce4-clipman-plugin
- xfce4-notifyd
- xfce4-pulseaudio-plugin
- xfce4-screenshooter
- xfce4-screensaver
- xfce4-taskmanager
- xfce4-whiskermenu-plugin
- name: "Cinnamon"
description: "Cinnamon Desktop"
selected: false
packages:
- cinnamon
- cinnamon-control-center
- cinnamon-desktop
- cinnamon-menus
- cinnamon-screensaver
- cinnamon-session
- cinnamon-settings-daemon
- cinnamon-translations
- name: "MATE"
description: "MATE Desktop"
selected: false
packages:
- caja
- marco
- mate-backgrounds
- mate-control-center
- mate-desktop
- mate-icon-theme
- mate-menus
- mate-notification-daemon
- mate-panel
- mate-polkit
- mate-session-manager
- mate-settings-daemon
- mate-themes
- mate-user-guide
- atril
- eom
- mate-applets
- mate-calc
- mate-power-manager
- mate-screensaver
- mate-system-monitor
- mate-terminal
- mate-utils
- pluma
- name: "LXQt"
description: "LXQt Desktop"
selected: false
packages:
- lximage-qt
- lxqt-about
- lxqt-admin
- lxqt-archiver
- lxqt-config
- lxqt-globalkeys
- lxqt-menu-data
- lxqt-notificationd
- lxqt-openssh-askpass
- lxqt-panel
- lxqt-policykit
- lxqt-powermanagement
- lxqt-qtplugin
- lxqt-runner
- lxqt-session
- lxqt-sudo
- lxqt-themes
- obconf-qt
- openbox
- pavucontrol-qt
- pcmanfm-qt
- qps
- qterminal
- screengrab
- xdg-desktop-portal-lxqt
- name: "i3"
description: "i3 Tiling WM"
selected: false
packages:
- i3-wm
- i3blocks
- i3lock
- i3status
- name: "Sway"
description: "Sway Wayland Compositor"
selected: false
packages:
- sway
- swaybg
- swayidle
- swaylock
- name: "Hyprland"
description: "Hyprland Wayland Compositor"
selected: false
packages:
- hyprland
- xdg-desktop-portal-hyprland
- name: "COSMIC"
description: "COSMIC Desktop (Rust/Wayland — select greetd as DM)"
selected: false
packages:
- cosmic
- name: "SDDM"
description: "SDDM display manager"
@@ -1,303 +0,0 @@
---
mode: required
method: netinstall-add
labels:
step: "Init selection"
step[de]: "Initauswahl"
default: Dinit
items:
- id: Dinit
name: dinit
description: "Dinit init system"
screenshot: "/etc/calamares/modules/images/dinit.svg"
netinstall:
name: "dinit"
description: "Dinit init system"
selected: true
critical: true
immutable: false
expanded: true
hidden: false
subgroups:
- name: "Default"
description: "Default services"
selected: true
hidden: true
packages:
- audit-dinit
- cryptsetup-dinit
- dbus-dinit
- dhcpcd-dinit
- lvm2-dinit
- mdadm-dinit
- name: "Cron"
description: "Cron init"
selected: true
packages:
- cronie-dinit
- name: "Syslog"
description: "Syslog init"
packages:
- syslog-ng-dinit
- metalog-dinit
- name: "Internet"
description: "Network init"
packages:
- avahi-dinit
- bluez-dinit
- iptables-dinit
- krb5-dinit
- networkmanager-dinit
- nfs-utils-dinit
- ntp-dinit
- openldap-dinit
- openssh-dinit
- rpcbind-dinit
- xinetd-dinit
- wpa_supplicant-dinit
- name: "Office"
description: "Office init"
packages:
- cups-dinit
- sane-dinit
- name: "Services"
description: "Services init"
packages:
- acpid-dinit
- alsa-utils-dinit
- apparmor-dinit
- brltty-dinit
- fuse-dinit
- gpm-dinit
- hdparm-dinit
- haveged-dinit
- lm_sensors-dinit
- openvpn-dinit
- pipewire-dinit
- pipewire-pulse-dinit
- power-profiles-daemon-dinit
- rsync-dinit
- wireplumber-dinit
- id: OpenRC
name: openrc
description: "⚠ OpenRC init system — BROKEN in Antergos NeXT (init-rc conflict with dinit). Will be re-added once fixed."
screenshot: "/etc/calamares/modules/images/openrc.svg"
netinstall:
name: "openrc"
description: "OpenRC init system"
selected: false
critical: false
immutable: false
expanded: true
hidden: false
subgroups:
- name: "Default"
description: "Default services"
selected: true
hidden: true
packages:
- audit-openrc
- cryptsetup-openrc
- dbus-openrc
- dhcpcd-openrc
- lvm2-openrc
- mdadm-openrc
- name: "Cron"
description: "Cron init"
selected: true
packages:
- cronie-openrc
- name: "Syslog"
description: "Syslog init"
packages:
- syslog-ng-openrc
- metalog-openrc
- name: "Internet"
description: "Network init"
packages:
- avahi-openrc
- bluez-openrc
- iptables-openrc
- krb5-openrc
- networkmanager-openrc
- nfs-utils-openrc
- ntp-openrc
- openldap-openrc
- openssh-openrc
- rpcbind-openrc
- xinetd-openrc
- wpa_supplicant-openrc
- name: "Office"
description: "Office init"
packages:
- cups-openrc
- sane-openrc
- name: "Services"
description: "Services init"
packages:
- acpid-openrc
- alsa-utils-openrc
- apparmor-openrc
- brltty-openrc
- fuse-openrc
- gpm-openrc
- hdparm-openrc
- haveged-openrc
- lm_sensors-openrc
- openrc-settingsd
- openvpn-openrc
- pipewire-openrc
- power-profiles-daemon-openrc
- rsync-openrc
- wireplumber-openrc
- id: S6
name: s6
description: "S6 init system"
screenshot: "/etc/calamares/modules/images/s6.svg"
netinstall:
name: "s6"
description: "S6 init system"
selected: false
critical: true
immutable: false
expanded: true
hidden: false
subgroups:
- name: "Default"
description: "Default services"
selected: true
hidden: true
packages:
- audit-s6
- cryptsetup-s6
- dbus-s6
- dhcpcd-s6
- lvm2-s6
- mdadm-s6
- s6-contrib
- name: "Cron"
description: "Cron init"
selected: true
packages:
- cronie-s6
- name: "Syslog"
description: "Syslog init"
packages:
- syslog-ng-s6
- metalog-s6
- name: "Internet"
description: "Network init"
packages:
- avahi-s6
- bluez-s6
- iptables-s6
- krb5-s6
- networkmanager-s6
- nfs-utils-s6
- ntp-s6
- openldap-s6
- openssh-s6
- rpcbind-s6
- xinetd-s6
- wpa_supplicant-s6
- name: "Office"
description: "Office init"
packages:
- cups-s6
- sane-s6
- name: "Services"
description: "Services init"
packages:
- acpid-s6
- alsa-utils-s6
- apparmor-s6
- brltty-s6
- fuse-s6
- gpm-s6
- hdparm-s6
- haveged-s6
- lm_sensors-s6
- openvpn-s6
- pipewire-s6
- power-profiles-daemon-s6
- rsync-s6
- wireplumber-s6
- id: Runit
name: runit
description: "Runit init system"
screenshot: "/etc/calamares/modules/images/runit.svg"
netinstall:
name: "runit"
description: "Runit init system"
selected: false
critical: true
immutable: false
expanded: true
hidden: false
subgroups:
- name: "Default"
description: "Default services"
selected: true
hidden: true
packages:
- audit-runit
- cryptsetup-runit
- dbus-runit
- dhcpcd-runit
- lvm2-runit
- mdadm-runit
- rsm
- name: "Cron"
description: "Cron init"
selected: true
packages:
- cronie-runit
- name: "Syslog"
description: "Syslog init"
packages:
- syslog-ng-runit
- metalog-runit
- name: "Internet"
description: "Network init"
packages:
- avahi-runit
- bluez-runit
- iptables-runit
- krb5-runit
- networkmanager-runit
- nfs-utils-runit
- ntp-runit
- openldap-runit
- openssh-runit
- rpcbind-runit
- xinetd-runit
- wpa_supplicant-runit
- name: "Office"
description: "Office init"
packages:
- cups-runit
- sane-runit
- name: "Services"
description: "Services init"
packages:
- acpid-runit
- alsa-utils-runit
- apparmor-runit
- brltty-runit
- fuse-runit
- gpm-runit
- hdparm-runit
- haveged-runit
- lm_sensors-runit
- openvpn-runit
- pipewire-runit
- power-profiles-daemon-runit
- rsync-runit
- wireplumber-runit
@@ -0,0 +1,229 @@
---
mode: required
method: netinstall-add
labels:
step: "Desktop Environment"
step[de]: "Desktop-Umgebung"
default: Plasma
items:
- id: Plasma
name: "KDE Plasma"
description: "Full-featured modern desktop. The default Antergos NeXT experience."
screenshot: ""
netinstall:
name: "KDE Plasma"
selected: true
critical: false
packages:
- antergos-next-desktop-settings
- ark
- bluedevil
- breeze-gtk
- dolphin
- dolphin-plugins
- ffmpegthumbs
- gwenview
- kate
- kcalc
- kde-cli-tools
- kde-gtk-config
- kdeconnect
- kdegraphics-thumbnailers
- kdenetwork-filesharing
- kdeplasma-addons
- keditbookmarks
- kfind
- kgpg
- kinfocenter
- kio-admin
- kio-extras
- kio-fuse
- konsole
- konversation
- kscreen
- kwallet-pam
- kwalletmanager
- kwayland-integration
- okular
- partitionmanager
- plasma-browser-integration
- plasma-desktop
- plasma-disks
- plasma-nm
- plasma-pa
- plasma-systemmonitor
- plasma-workspace
- powerdevil
- print-manager
- qt6-imageformats
- spectacle
- xdg-desktop-portal-kde
- xsettingsd
- id: Xfce
name: "Xfce"
description: "Lightweight traditional desktop. Fast and low on resources."
screenshot: ""
netinstall:
name: "Xfce"
selected: true
critical: false
packages:
- exo
- garcon
- thunar
- thunar-volman
- tumbler
- xfce4-appfinder
- xfce4-panel
- xfce4-power-manager
- xfce4-session
- xfce4-settings
- xfce4-terminal
- xfconf
- xfdesktop
- xfwm4
- xfwm4-themes
- mousepad
- parole
- ristretto
- thunar-archive-plugin
- thunar-media-tags-plugin
- xfburn
- xfce4-clipman-plugin
- xfce4-notifyd
- xfce4-pulseaudio-plugin
- xfce4-screenshooter
- xfce4-screensaver
- xfce4-taskmanager
- xfce4-whiskermenu-plugin
- id: Cinnamon
name: "Cinnamon"
description: "Traditional desktop with modern features (GNOME-based)"
screenshot: ""
netinstall:
name: "Cinnamon"
selected: true
critical: false
packages:
- cinnamon
- cinnamon-control-center
- cinnamon-desktop
- cinnamon-menus
- cinnamon-screensaver
- cinnamon-session
- cinnamon-settings-daemon
- cinnamon-translations
- id: MATE
name: "MATE"
description: "Classic desktop — continuation of GNOME 2"
screenshot: ""
netinstall:
name: "MATE"
selected: true
critical: false
packages:
- caja
- marco
- mate-backgrounds
- mate-control-center
- mate-desktop
- mate-icon-theme
- mate-menus
- mate-notification-daemon
- mate-panel
- mate-polkit
- mate-session-manager
- mate-settings-daemon
- mate-themes
- mate-user-guide
- atril
- eom
- mate-applets
- mate-calc
- mate-power-manager
- mate-screensaver
- mate-system-monitor
- mate-terminal
- mate-utils
- pluma
- id: LXQt
name: "LXQt"
description: "Lightweight Qt-based desktop"
screenshot: ""
netinstall:
name: "LXQt"
selected: true
critical: false
packages:
- lximage-qt
- lxqt-about
- lxqt-admin
- lxqt-archiver
- lxqt-config
- lxqt-globalkeys
- lxqt-menu-data
- lxqt-notificationd
- lxqt-openssh-askpass
- lxqt-panel
- lxqt-policykit
- lxqt-powermanagement
- lxqt-qtplugin
- lxqt-runner
- lxqt-session
- lxqt-sudo
- lxqt-themes
- obconf-qt
- openbox
- pavucontrol-qt
- pcmanfm-qt
- qps
- qterminal
- screengrab
- xdg-desktop-portal-lxqt
- id: i3
name: "i3"
description: "Minimal tiling window manager (keyboard-driven)"
screenshot: ""
netinstall:
name: "i3"
selected: true
critical: false
packages:
- i3-wm
- i3blocks
- i3lock
- i3status
- id: Sway
name: "Sway"
description: "i3-compatible Wayland compositor"
screenshot: ""
netinstall:
name: "Sway"
selected: true
critical: false
packages:
- sway
- swaybg
- swayidle
- swaylock
- id: Hyprland
name: "Hyprland"
description: "Dynamic tiling Wayland compositor with eye candy"
screenshot: ""
netinstall:
name: "Hyprland"
selected: true
critical: false
packages:
- hyprland
- xdg-desktop-portal-hyprland
- id: COSMIC
name: "COSMIC"
description: "Modern Rust-based desktop. Select greetd as DM."
screenshot: ""
netinstall:
name: "COSMIC"
selected: true
critical: false
packages:
- cosmic
@@ -5,7 +5,6 @@
LOG="/tmp/antergos-wallpaper.log"
MARKER="$HOME/.config/antergos-wallpaper-set"
CONFIG="$HOME/.config/plasma-org.kde.plasma.desktop-appletsrc"
VIDEO="/usr/share/backgrounds/antergos/antergos-wallpaper.mp4"
PLUGIN="luisbocanegra.smart.video.wallpaper.reborn"
@@ -22,43 +21,19 @@ if [[ ! -f "$VIDEO" ]]; then
exit 1
fi
echo "[$(date)] Getting desktop containment IDs..." >> "$LOG"
echo "[$(date)] Applying video wallpaper via qdbus6..." >> "$LOG"
IDS=$(qdbus6 org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript \
"desktops().map(function(d) { return d.id; }).join(' ');" 2>/dev/null)
if [[ -z "$IDS" ]]; then
echo "[$(date)] Failed to get containment IDs" >> "$LOG"
touch "$MARKER"
exit 1
fi
echo "[$(date)] Containment IDs: $IDS" >> "$LOG"
for ID in $IDS; do
echo "[$(date)] Configuring containment $ID..." >> "$LOG"
kwriteconfig6 --file "$CONFIG" \
--group "Containments" --group "$ID" \
--key "wallpaperplugin" "$PLUGIN" >> "$LOG" 2>&1
kwriteconfig6 --file "$CONFIG" \
--group "Containments" --group "$ID" \
--group "Wallpaper" --group "$PLUGIN" --group "General" \
--key "VideoUrls" '[{"filename": "/usr/share/backgrounds/antergos/antergos-wallpaper.mp4", "enabled": true}]' >> "$LOG" 2>&1
kwriteconfig6 --file "$CONFIG" \
--group "Containments" --group "$ID" \
--group "Wallpaper" --group "$PLUGIN" --group "General" \
--key "Volume" "0" >> "$LOG" 2>&1
kwriteconfig6 --file "$CONFIG" \
--group "Containments" --group "$ID" \
--group "Wallpaper" --group "$PLUGIN" --group "General" \
--key "MuteMode" "5" >> "$LOG" 2>&1
done
qdbus6 org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.refreshCurrentShell >> "$LOG" 2>&1
qdbus6 org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "
var allDesktops = desktops();
for (var i = 0; i < allDesktops.length; i++) {
var d = allDesktops[i];
d.wallpaperPlugin = '$PLUGIN';
d.currentConfigGroup = Array('Wallpaper', '$PLUGIN', 'General');
d.writeConfig('VideoUrls', '[{\"filename\": \"/usr/share/backgrounds/antergos/antergos-wallpaper.mp4\", \"enabled\": true}]');
d.writeConfig('Volume', '0');
d.writeConfig('MuteMode', '5');
}
" >> "$LOG" 2>&1
touch "$MARKER"
echo "[$(date)] Done" >> "$LOG"