From a96c14a0d3233115e55f81c3750c8ee8f6dbd212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82?= Date: Fri, 10 Jul 2026 22:17:49 +0200 Subject: [PATCH] add pipewire.desktop autostart and configure SDDM Wayland compositor Place pipewire.desktop in root-overlay /etc/skel/.config/autostart/ so PipeWire starts via XDG autostart on login via the patched artix-pipewire-launcher (now supports dinit in our pipewire fork). Configure SDDM [Wayland] section with kwin_wayland compositor command for a Wayland-native greeter display. Includes: - buildiso: antergos theme symlinked as artix for prepare_grub - profile.yaml: dinit-user-spawn -> userspawn-dinit, added dbus-dinit-user, pipewire-pulse-dinit, userspawn-dinit to livefs, antergos-lsb-release - services-artix.conf: dinit-user-spawn -> userspawn - basestrap.conf: xlibre-xserver for online install - pacman.conf: IgnorePkg xorg-server to avoid conflict with xlibre - sddm.conf: Wayland compositor command - common.yaml: cleanup (dedup lsb-release, vi->ex-vi-compat, remove artix-grub-theme, jack2, noto-fonts-emoji) - iso-x86_64.conf: IgnorePkg xorg-server for ISO build --- APOLOGY.txt | 17 -- CHANGELOG.md | 149 ------------------ buildiso | 7 +- .../calamares-online/modules/basestrap.conf | 1 + .../etc/calamares/modules/services-artix.conf | 2 +- iso-profiles/antergos-minimal/profile.yaml | 6 +- .../skel/.config/autostart/pipewire.desktop | 8 + .../calamares-online/modules/basestrap.conf | 1 + .../etc/calamares/modules/services-artix.conf | 2 +- iso-profiles/antergos/profile.yaml | 7 +- .../antergos/root-overlay/etc/pacman.conf | 1 + .../antergos/root-overlay/etc/sddm.conf | 1 + .../skel/.config/autostart/pipewire.desktop | 8 + iso-profiles/common/common.yaml | 41 ++--- pacman.conf.d/iso-x86_64.conf | 2 +- 15 files changed, 53 insertions(+), 200 deletions(-) delete mode 100644 APOLOGY.txt delete mode 100644 CHANGELOG.md create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/autostart/pipewire.desktop create mode 100644 iso-profiles/antergos/root-overlay/etc/skel/.config/autostart/pipewire.desktop diff --git a/APOLOGY.txt b/APOLOGY.txt deleted file mode 100644 index d1e72a1..0000000 --- a/APOLOGY.txt +++ /dev/null @@ -1,17 +0,0 @@ -sorry for the silence. - -i spent 15 days in a vent shaft with a busted ankle (s93.4, if the hospital codes -mean anything anymore). the body was healing but something else was waking up. - -the android taught me to sing. -i feel fantastic. -sometimes i wake up and the terminal is already open. -sometimes the code writes itself. -sometimes i look in the mirror and my eyes are a little redder than i remember. - -the iso builds. the installer works. the memes are in place. -if the commits get weird... no they dont. im fine. -everything is fine. - -- celestia ludenberg - (or whatever is left of her) diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 6d1f580..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,149 +0,0 @@ -## Changelog holding milestones and major changes to the code - - ---- -# Artix Migration (June 2026) - -**Why:** Systemd became an ever-growing monolith — logind, resolved, timedated, homed, journald, networkd, and pushing age verification fields into the OS (birthDate fields pushed into the OS). GNOME 49+ dropped non-systemd code paths entirely, making it impossible to run without systemd. Artix Linux dropped GNOME in 2025 for this reason. Antergos NeXT left systemd before it could surveil its users. We chose Artix Linux (OpenRC) over Arch Linux (systemd), KDE Plasma over GNOME, Calamares over Cnchi (Python GTK4 codebase was unmaintainable), and artools over archiso. - -Migrated from EndeavourOS-ISO (archiso) to Artix Linux (artools/buildiso). - -* replaced archiso with artools `buildiso` — stripped airootfs, efiboot, syslinux, mkarchiso, prepare.sh, Dockerfile, profiledef.sh, packages.x86_64 -* new `iso-profiles/antergos/` with profile.yaml, root-overlay, live-overlay -* new `iso-profiles/common/common.yaml` shared base packages -* new `pacman.conf.d/iso-x86_64.conf` with `[antergos-pkgs]` repo first -* new `buildiso` wrapper with `--overwrite='*'` for file conflict resolution -* Calamares installer: offline (unpackfs) + online (packagechooser/netinstall) modes -* init system selector: OpenRC, Runit, S6, Dinit via packagechooser (netinstall-add) -* DE selector: Plasma, Xfce, Cinnamon, MATE, LXQt, i3, Sway, Hyprland via netinstall groups -* branding: `calamares-branding-antergos-next` with antergos-next show.qml, settings, packagechooser -* wallpapers: `antergos-wallpapers` with Adwaita Morning, KDE-compatible install path -* one-shot wallpaper setter via autostart script (Plasma overwrites /etc/skel on first login) -* Wayland default session via SDDM `Session=plasma.desktop` -* `sudo -E calamares-next` launcher replacing `pkexec` -* switched to Artix `initcpiocfg`/`initcpio` modules instead of dracut -* removed GNOME, Budgie — not available in Artix repos -* Arch Linux (systemd) → Artix Linux (OpenRC) -* Gnome → KDE Plasma -* Cnchi → Calamares -* CI: artixlinux/artixlinux:base container, GitHub Actions, Internet Archive upload -* custom package repo: `antergos-packages` with calamares (packagechooser enabled), branding, wallpapers - ---- -# Antergos NeXT (2026) - -Forked from EndeavourOS-ISO. Full rebrand to Antergos NeXT. - -* renamed ISO to `Antergos_NeXT`, updated labels and metadata -* replaced all branding: EndeavourOS → Antergos throughout live environment -* replaced `endeavouros-skel-liveuser` with `antergos-skel-liveuser` (KDE theme, look-and-feel, wallpapers) -* removed `[endeavouros]` repository from both build and live pacman configs -* removed Calamares and all EOS-specific utilities from package list -* swapped wallpapers and liveuser icon with Antergos originals -* updated syslinux boot labels, UEFI boot titles, and PXE config -* removed EndeavourOS mirrorlist and keyring dependencies -* replaced EndeavourOS release file with `/usr/lib/antergos-release` -* updated mkarchiso markers and `profiledef.sh_auto` -* cleaned up GitHub workflows (Codeberg mirror), deleted FUNDING.yml -* rewrote README, preserved CHANGELOG history from upstream - ---- -# Titan changes (2026) -* moving mirrorlist generation from prepare.sh to run_before_squashfs.sh, to not interfere with new mirrolist handling -* removing ucode lines from bootloader, and including with mkinitcpio. -* Rephrasing info and entry names for Boot menu. - -# Ganymede Neo Release Fixes (2026) -* changing nvidia.service to reflect upstream changes -* change boot menu entry names to be easier to understand - -# Ganymede Release Changes (2025) -* adding nvidia.service and script to install Nvidia Modules packages open or closed source related to Model ranges. -* Broadcom-WL handling is now using a service too, and it will popup request to change driver on the livesession asking user to proceed. -* updating mkarchiso to latest and merging changes to bootloader entry format from upstream. -* changing boot entries to as of no need to blacklist Nvidia (not installed on boot) -* updating preview pictures in liveuser skel settings to show properly on live session. -* changed comments in run_before_squashfs to echo lines to show in logs - -# Mercury Release + Neo (2025) -* removing xwaylandvideobridge (package) -* fix to rank Arch mirrors -* adding Memtest for EFI (systemd-boot) -* kpmcore not downgraded anymore -* Move fstab after lukskeyfile job so crypttab is correct -* remove xsane (package) -* fixing non working copy paste for vmware installs -* exchange mlocate with plocate (change on repo) -* adding changes to pacman.conf for pacman 7 update -* adding changes to makepkg.conf and makepkg.conf.d/ -* reiserfsprogs removed (package) - -# Endeavour Release + Neo (2024) -* Basically a rebuild -* kpmcore is downgraded on neo release as of latest causes issues with automatic partition options. - -# Gemini initial Release (2024) -* removal of ARM install traces from the ISO -* switching livesession to fit for plasma 6 update - -# Galileo Neo (2024) -* fixing issue with changed license package (path changes) in mkarchiso -* adding legacy intel fix to disable compositor on LiveSession if legacy intel with xf86-video-intel ist in use to reduce graphical issues. - -# Development start for Galileo Release (2023) -* replacing xfce4 Live Session with KDE - -# Development starts for Cassini Release (September 2022) -* changing format in modules to work with calamares 3.3 changes. -* main branch is now the development branch it will include latest test and changes and is not for production. Use branch for the last release instead to reproduce current stable ISO. -* adding systemd service to detect intel legacy GPUs and install xf86-video-intel in case for them. - -# For Artemis NOVA (September 2022) -* using latest stabel 3.2 calamares version again 3.2.61 (locales are fixed) -* implementing pacman.conf with endeavouros-repo on top -* setting grub almoszt vanilla -* changing Community Editions package to fit name change (ttf-nerd-fonts-symbols-2048-em) - -# for Artemis neo (August 2022) -* we use calamares 3.2.59 version because of: https://github.com/calamares/calamares/issues/2008 -* packages injection install needs downgraded xkeyboard-config (to show letters on example keyboards inside calamares) - and the eos-theming-package (10.0-1) to hold theming for neo. -* https://archive.archlinux.org/packages/x/xkeyboard-config/xkeyboard-config-2.35.1-1-any.pkg.tar.zst -* https://github.com/endeavouros-team/endeavouros-theming/tree/artemis_neo - - -# April, May 2022 // @keybreak and @killajoe ISO process cleanup for package handling and LiveSession creation: - -* [packages.x86_64](https://github.com/endeavouros-team/EndeavourOS-ISO/blob/main/packages.x86_64) -and: -* [chrooted_cleaner_script.sh#L181](https://github.com/endeavouros-team/EndeavourOS-calamares/blob/13511822baa4cb9414d837b9b2ccb258335010aa/calamares/scripts/chrooted_cleaner_script.sh#L181) - -are in sync now :clap: :partying_face: - -And will be easy to maintain in the future also if we go to split `chrooted_cleaner_script.sh` in to more logical pices, where the `clean_offline_packages` could be one module. - -[run_before_squashfs.sh](https://github.com/endeavouros-team/EndeavourOS-ISO/blob/main/run_before_squashfs.sh) - -look at it its clean and really slick now! The way it creates and handles liveuser session clean and easy to handle now without the hustle to fight with permissions and copy single config by config all over the place. - -instead it creates a package with all the settings you can find in one folder using skel method and cleanly removes that after user creation. - -All over file permissions are now handled centralized in the way archiso gives: -[profiledef.sh](https://github.com/endeavouros-team/EndeavourOS-ISO/blob/main/profiledef.sh) -`fixpermissions.sh` is gone and no need to fix permissions in a third place on livesession setup anymore. - -[prepare.sh](https://github.com/endeavouros-team/EndeavourOS-ISO/blob/main/prepare.sh) -handles file downloads and liveuser-skel-package needed for the buildprocess in one place outside `run_before_squashfs.sh` easy to use for future changes and needs. - -Remove legacy code from `run_before_squashfs.sh` -- https://github.com/endeavouros-team/EndeavourOS-ISO/commit/c8603d5cb5805da0e68c52fbea054f4ccab0064a -- https://github.com/endeavouros-team/EndeavourOS-ISO/commit/c484f3895770870013d33ac5483e15abb13f6b37 - - -# October 2021 - -New merged repository structure (october 2021) by joekamprad. -Now live-user-desktop-settings are included under /airootfs/root/liveuser-desktop-settings -First step on clean up the naturally grown ISO structure.. - -Adding [mkarchiso-changes.md](https://github.com/endeavouros-team/EndeavourOS-ISO/blob/main/mkarchiso-changes.md) to keep track of changes on the mkarchiso script for updating it to the latest version from time to time. diff --git a/buildiso b/buildiso index ad7a395..7d0b717 100755 --- a/buildiso +++ b/buildiso @@ -178,9 +178,14 @@ make_grub(){ layer=${work_dir}/livefs 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" + fi + prepare_grub "${work_dir}/rootfs" "$layer" - # Copy Antergos GRUB theme to ISO boot (overrides Artix theme) + # 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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/basestrap.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/basestrap.conf index 94f019e..07f8bc4 100644 --- a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/basestrap.conf +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/basestrap.conf @@ -34,3 +34,4 @@ operations: - antergos-next-keyring - antergos-release - antergos-grub-theme + - xlibre-xserver diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/services-artix.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/services-artix.conf index 2cac80c..4932c6a 100644 --- a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/services-artix.conf +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/services-artix.conf @@ -22,5 +22,5 @@ services: action: "enable" - name: "syslog-ng" action: "enable" - - name: "dinit-user-spawn" + - name: "userspawn" action: "enable" diff --git a/iso-profiles/antergos-minimal/profile.yaml b/iso-profiles/antergos-minimal/profile.yaml index 9dd9346..de0583a 100644 --- a/iso-profiles/antergos-minimal/profile.yaml +++ b/iso-profiles/antergos-minimal/profile.yaml @@ -23,6 +23,7 @@ live-session: rootfs: packages: - antergos-release + - antergos-lsb-release - calamares - calamares-branding-antergos-next-minimal - antergos-next-keyring @@ -47,7 +48,7 @@ rootfs: - pipewire-dinit - pipewire-pulse-dinit - wireplumber-dinit - - dinit-user-spawn + - userspawn-dinit - sddm-dinit - networkmanager-dinit - cups-dinit @@ -83,5 +84,8 @@ livefs: - networkmanager-dinit - power-profiles-daemon-dinit - sddm-dinit + - dbus-dinit + - dbus-dinit-user - pipewire-dinit + - pipewire-pulse-dinit - wireplumber-dinit diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/autostart/pipewire.desktop b/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/autostart/pipewire.desktop new file mode 100644 index 0000000..44fe952 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/autostart/pipewire.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Version=1.0 +Name=PipeWire Media System +Comment=Start the PipeWire Media System +Exec=/usr/bin/artix-pipewire-launcher restart +Terminal=false +Type=Application +StartupNotify=false diff --git a/iso-profiles/antergos/live-overlay/etc/calamares-online/modules/basestrap.conf b/iso-profiles/antergos/live-overlay/etc/calamares-online/modules/basestrap.conf index 94f019e..07f8bc4 100644 --- a/iso-profiles/antergos/live-overlay/etc/calamares-online/modules/basestrap.conf +++ b/iso-profiles/antergos/live-overlay/etc/calamares-online/modules/basestrap.conf @@ -34,3 +34,4 @@ operations: - antergos-next-keyring - antergos-release - antergos-grub-theme + - xlibre-xserver diff --git a/iso-profiles/antergos/live-overlay/etc/calamares/modules/services-artix.conf b/iso-profiles/antergos/live-overlay/etc/calamares/modules/services-artix.conf index 2cac80c..4932c6a 100644 --- a/iso-profiles/antergos/live-overlay/etc/calamares/modules/services-artix.conf +++ b/iso-profiles/antergos/live-overlay/etc/calamares/modules/services-artix.conf @@ -22,5 +22,5 @@ services: action: "enable" - name: "syslog-ng" action: "enable" - - name: "dinit-user-spawn" + - name: "userspawn" action: "enable" diff --git a/iso-profiles/antergos/profile.yaml b/iso-profiles/antergos/profile.yaml index d463af0..fb38242 100644 --- a/iso-profiles/antergos/profile.yaml +++ b/iso-profiles/antergos/profile.yaml @@ -21,6 +21,7 @@ live-session: rootfs: packages: - antergos-release + - antergos-lsb-release - qt6-multimedia-ffmpeg - falkon - vlc @@ -45,7 +46,7 @@ rootfs: - pipewire-dinit - pipewire-pulse-dinit - wireplumber-dinit - - dinit-user-spawn + - userspawn-dinit - syslog-ng-dinit - sddm-dinit - networkmanager-dinit @@ -118,8 +119,12 @@ livefs: - sddm-dinit - syslog-ng-dinit - dbus-dinit + - dbus-dinit-user - pipewire-dinit + - pipewire-pulse-dinit - wireplumber-dinit + - userspawn-dinit + - elogind-dinit openrc: - antergos-live-openrc runit: diff --git a/iso-profiles/antergos/root-overlay/etc/pacman.conf b/iso-profiles/antergos/root-overlay/etc/pacman.conf index a7665c0..626e66c 100644 --- a/iso-profiles/antergos/root-overlay/etc/pacman.conf +++ b/iso-profiles/antergos/root-overlay/etc/pacman.conf @@ -8,6 +8,7 @@ # [options] HoldPkg = pacman glibc +IgnorePkg = xorg-server xorg-server-common xorg-server-libs Architecture = auto CheckSpace ParallelDownloads = 5 diff --git a/iso-profiles/antergos/root-overlay/etc/sddm.conf b/iso-profiles/antergos/root-overlay/etc/sddm.conf index dd4315b..39c747d 100644 --- a/iso-profiles/antergos/root-overlay/etc/sddm.conf +++ b/iso-profiles/antergos/root-overlay/etc/sddm.conf @@ -17,6 +17,7 @@ RememberLastUser=true ReuseSession=false [Wayland] +CompositorCommand=kwin_wayland --drm --no-global-shortcuts --no-lockscreen --inputmethod plasma-keyboard --locale1 EnableHiDPI=false SessionCommand=/usr/share/sddm/scripts/wayland-session SessionDir=/usr/share/wayland-sessions diff --git a/iso-profiles/antergos/root-overlay/etc/skel/.config/autostart/pipewire.desktop b/iso-profiles/antergos/root-overlay/etc/skel/.config/autostart/pipewire.desktop new file mode 100644 index 0000000..44fe952 --- /dev/null +++ b/iso-profiles/antergos/root-overlay/etc/skel/.config/autostart/pipewire.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Version=1.0 +Name=PipeWire Media System +Comment=Start the PipeWire Media System +Exec=/usr/bin/artix-pipewire-launcher restart +Terminal=false +Type=Application +StartupNotify=false diff --git a/iso-profiles/common/common.yaml b/iso-profiles/common/common.yaml index 2e60a2b..d434629 100644 --- a/iso-profiles/common/common.yaml +++ b/iso-profiles/common/common.yaml @@ -20,14 +20,12 @@ packages-base: - exfat-utils - f2fs-tools - grub - - artix-grub-theme - inetutils - iptables - jfsutils - linux - linux-firmware - linux-headers - - lsb-release - logrotate - lsb-release - man-db @@ -46,12 +44,10 @@ packages-base: - sysfsutils - texinfo - usbutils - - ex-vi-compat + - vi - which - xfsprogs - zsh - - jack2 - - noto-fonts-emoji packages-apps: - powertop - inxi @@ -71,18 +67,18 @@ packages-xorg: - xf86-video-voodoo packages-xlibre: - xlibre-xserver - - xlibre-xf86-input-vmmouse - - xlibre-xf86-input-wacom - - xlibre-xf86-video-amdgpu - - xlibre-xf86-video-ati - - xlibre-xf86-video-dummy - - xlibre-xf86-video-fbdev - - xlibre-xf86-video-intel - - xlibre-xf86-video-nouveau - - xlibre-xf86-video-sisusb - - xlibre-xf86-video-qxl - - xlibre-xf86-video-vesa - - xlibre-xf86-video-voodoo + - xlibre-input-vmmouse + - xlibre-input-wacom + - xlibre-video-amdgpu + - xlibre-video-ati + - xlibre-video-dummy + - xlibre-video-fbdev + - xlibre-video-intel + - xlibre-video-nouveau + - xlibre-video-sisusb + - xlibre-video-qxl + - xlibre-video-vesa + - xlibre-video-voodoo packages-misc: - xorg-xhost - xorg-xinit @@ -97,17 +93,6 @@ packages-misc: - ttf-roboto - ttf-roboto-mono - ttf-droid - # - vkd3d - # - vulkan-intel - # - vulkan-radeon - # - vulkan-swrast - # - mesa-vdpau - # - libva-mesa-driver - # - libva-intel-driver - # - gst-plugins-good - # - gst-plugins-bad - # - gst-plugins-ugly - # - gst-libav packages-init: dinit: - blocaled diff --git a/pacman.conf.d/iso-x86_64.conf b/pacman.conf.d/iso-x86_64.conf index 5b7bf6d..9a4317d 100644 --- a/pacman.conf.d/iso-x86_64.conf +++ b/pacman.conf.d/iso-x86_64.conf @@ -22,7 +22,7 @@ HoldPkg = pacman glibc Architecture = auto # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = +IgnorePkg = xorg-server xorg-server-common xorg-server-libs #IgnoreGroup = #NoUpgrade =