Commit Graph
64 Commits
Author SHA1 Message Date
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
c-ludenberg cca00d3c25 fix(netinstall): add ntp-dinit to Init Services, ship patched calamares
Fixes #14 - online install had no KDE session because two packagechooser
netinstall-add instances clobbered each other's groups. That root cause is
fixed in the calamares package (calamares 3.4.2-9, packages repo 8ed1a6e,
CALAMARES_VERSION 3.4.2-w0k3); this rebuild pulls it into the ISO.

Also add ntp-dinit to Init Services in both netinstall.yaml copies so the
installed system has the NTP service (pairs with ntpd already enabled in
services-artix.conf, relates to #13).
2026-08-09 21:19:10 +02:00
c-ludenberg 2c213667f4 feat(netinstall): add filesystem tooling and snapper to online install Default group 2026-08-07 22:45:55 +02:00
c-ludenberg 6219c3a8cf feat: sync DM packagechooser to netinstall-add with inline groups
- packagechooser_dm.conf (runtime + online ref): switch from netinstall-select
  to netinstall-add, move SDDM/LightDM/LXDM/greetd/LY packages inline into the
  chooser items; both copies byte-identical in content
- netinstall.yaml (runtime + online ref): drop the now-inline DM groups; bring
  the online ref's Default group in line with runtime (add falkon,
  networkmanager, pipewire, wireplumber)
2026-08-06 19:34:11 +02:00
c-ludenberg 8a1f7da3d3 fix: enable ntpd service so time auto-syncs on boot
ntp-dinit was installed but ntpd was never enabled in services-artix.conf,
so nothing synced the clock. On hosts where the RTC stores local time
(e.g. QEMU -rtc base=localtime), first boot showed a UTC+offset shift
(e.g. +2h for Europe/Paris in summer). Enabling ntpd corrects the clock
within seconds of network up.

fixes #13
2026-08-04 20:06:51 +02:00
c-ludenberg dca525ec14 feat: execute the antergos-minimal profile (PLEASE SOMEONE HIRE ME)
why did i make a second whole ISO profile nobody asked for. a
standalone Xfce "lightweight" edition i never tested, never updated,
and that ONLY depends on orphaned packages i forgot existed
(calamares-branding-antergos-next-minimal, antergos-xfce-theme —
both still buildable, now completely dead weight, because the only
thing that referenced them was this file).

the real lowest of it is: it was the "offline calamares installer."
you know what that does now? tries to unpack a squashfs that NO live
profile builds anymore. it points a loaded gun at my foot every day
and today i finally squeezed. its last commit was renaming a theme
and telling a bot to shut up about pkexec. thats where we ended up.

it was never tested. it was a ghost. so i killed it.

actual changes:
- RIP iso-profiles/antergos-minimal, all 95 files of it (good
  riddance, you were a lie)
- hauled 7 orphaned live module configs (initcpio/locale/mount/
  partition/umount/users/welcome) out of the wreckage into the main
  calamares/modules/ where they always lived — git LIED and called
  them "renames from minimal" because the copies were byte-identical.
  they were never from minimal. git is a LIAR.
- users.conf: cut the libpwquality crutch so 4-digit PINs stop getting
  called weak. i built a pin picker. let it. breathe.
- netinstall (both variants): +vulkan-nouveau so NVK covers Turing+
  without dragging in nvidia-open
- antergos-xfce-theme + calamares-branding-antergos-next-minimal:
  now truly, blessedly orphaned.

the profile is dead. long live the profile. i am NOT maintaining two
ISOs in this economy.
2026-08-03 20:28:33 +02:00
c-ludenberg bf72bb5bf4 fix: add locale names to calamares .desktop files for non-English menu entries
Add Name[locale] for 14 European languages so the menu entry
shows a translated name in non-English locales instead of
vanishing. Keeps Name[en] and unqualified Name as fallback.
2026-07-29 19:23:00 +02:00
c-ludenberg f6fb36b2a7 sync live-overlay with branding package — Style packages absorbed into KDE Plasma entry, WM config packages added to i3/Sway/Hyprland, Style group removed from netinstall 2026-07-28 21:46:34 +02:00
c-ludenberg 6ec25cca78 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
2026-07-24 19:59:58 +02:00
c-ludenberg 7c2c19d858 🎉 WE'RE SO BACK: widescreen grub, zsh for installed, spice-vdagent in live
the antergos iso build might happen today maybe idk but we're ready(er)
- grub now tries 1920x1080 before 1024x768 (your monitor from 2005 says hi)
- installed users get zsh because bash is for the great pyramid
- spice-vdagent so VMs stop feeling like a divorce
2026-07-22 19:58:12 +02:00
c-ludenberg 729da20717 turns out i had to set overwrite: true because artix grub ships its own damn /etc/default/grub. also removed the konsole jumpscare during install. docs are now less cringe and more wikipedia. 2026-07-21 17:48:06 +02:00
c-ludenberg 2570a6470a fix: batch non-critical packages in single pacman call, drop old plasma theme, enable filesystem picker
Non-critical packages (Desktop/Plasma group, Utilities) went through try_install which installed them one-at-a-time (45 individual pacman calls). Override operation_try_install in PMPacman to batch all plain-string packages into a single call, matching the behavior of operation_install.

Also:
- Remove antergos-plasma-theme from rootfs (profile.yaml) and both netinstall Plasma groups
- Add allowFileSystemTypeSelection: true to both antergos and minimal partition.conf
- Both main.py files (profile + minimal) get the batching fix
2026-07-19 19:19:58 +02:00
c-ludenberg 1ca8cbe9fe fix: Copilot-specific STFU message about pkexec 2026-07-19 18:39:23 +02:00
c-ludenberg ada4f375ef fix: tell Copilot to STFU about pkexec in all .desktop files 2026-07-19 18:38:08 +02:00
c-ludenberg c1f1f230b0 fix: add comments explaining sudo -E usage in all .desktop files 2026-07-19 18:33:33 +02:00
c-ludenberg d794336975 feat: community standards, AI moderator, SDDM switch, and README fix
so github told me my repo has NO community standards apparently
CODE_OF_CONDUCT? nonexistent. ISSUE_TEMPLATES? nada.
PULL_REQUEST_TEMPLATE? the void stared back.
and github profiles has a little checklist like im some
kind of degenerate who doesnt know how to run a project.

well NOW i have standards. and they are ROCK SOLID STABLE.
you want systemd? fork from before-systemd-change and figure
it out yourself, i gave you a numbered tutorial right in the
CoC. the AI moderator will read it and then politely but
firmly tell you to go fork yourself (the repo, not literally,
read the CoC).

also threw in the pixie SDDM switch that i apparently never
committed to the netinstall yamls either (kill me), the batch
install main.py cleanup, and fixed the README lying about
why artix.

DEUS VULT and please file your issues in the YAML forms
provided or the AI will judge you
2026-07-19 18:24:30 +02:00
c-ludenberg 8a3c6d8025 fix(netinstall): add Style group with Layan rice deps 2026-07-18 22:26:07 +02:00
c-ludenberg 530a75813a try: remove live-overlay appletsrc that overwrites package's 2-panel config
live-overlay had an 11-line appletsrc (no panels) that overwrote
the 665-line version from antergos-layan-theme during ISO build.
This caused Plasma to run the look-and-feel layout script instead
of using the full 2-panel config.
2026-07-18 20:13:09 +02:00
c-ludenberg f3993c5cea fix: mark desktop files executable to skip KDE trust prompt 2026-07-18 00:53:10 +02:00
c-ludenberg 76ce3b646d fix: add antergos-layan-theme to profile.yaml, remove unnecessary scripts 2026-07-17 21:35:44 +02:00
c-ludenberg 442980a7af feat: dinit or die
why the FUCK did i think making an init selector was a good idea
artix themselves dont even ship services in their online installer
they just give you a bare system and say "figure it out" and
it WORKS because people can just install their init of choice
afterwards. but nooooo i had to be clever and build a whole
netinstall-add monstrosity with openrc/runit/s6 service groups
that broke constantly because basestrap --overwrite is a lie
and init packages conflict with each other and sddm-openrc +
lightdm-openrc both Provide: init-displaymanager and pacman
just goes 🖕 during install.

so anyway. dinit only now. you want something else? read
changing-init.md, i literally copied the artix wiki tutorial.
i am not maintaining four init service groups in netinstall.yaml
for the rest of my life. this is my villain origin story.

actual changes:
- ripped out offline calamares mode (was never truly offline)
- ripped out packagechooser.conf (good fucking riddance)
- added packagechooser_dm.conf so you can at least pick your DM
- added BYODE offline installer (bare system + btrfs + snapper,
  no DE, you pacman -Sy plasma-meta yourself)
- added yay + snapper + btrfs-progs to rootfs
- shoved Init Services + DM groups into netinstall.yaml (dinit
  only, obviously)
- updated every markdown file that mentioned another init like
  they were cursed (they were)
- wrote changing-init.md so i can just paste the link next time
  someone asks
- X-KDE-IsAdminApplication=true so KDE stops acting like
  calamares is a virus (its not, its just desperate)
2026-07-16 21:55:05 +02:00
c-ludenberg 8661722ee7 fix: add greetd netinstall group for online DM selection
The packagechooser_dm.conf has greetd as a DM option with
method: netinstall-select, but no matching 'greetd' group existed
in /etc/calamares/modules/netinstall.yaml (which is what Calamares
loads in online mode via modules-search: [local] resolution).

Without the group, selecting greetd silently fails and the
displaymanager module falls back to SDDM instead.

Add greetd + greetd-dinit group alongside the existing SDDM,
LightDM, LXDM, LY groups.
2026-07-14 22:11:11 +02:00
c-ludenberg a8446b4dcc feat: add COSMIC desktop, greetd DM, and transparent logo to root-overlay
- Add COSMIC desktop subgroup to online netinstall (galaxy repo)
- Add greetd as display manager option in packagechooser_dm.conf
  (required by COSMIC's cosmic-greeter)
- Replace non-transparent 900x650 logo with transparent removebg version
  at 128x92 (128x128) and 256x185 (256x256) in root-overlay icon theme paths
- Update docs to reflect COSMIC availability and greetd option
2026-07-14 20:44:22 +02:00
c-ludenberg 12088b6bb6 fix: add antergos-release to basestrap ops, fix SDDM theme selection 2026-07-11 19:13:30 +02:00
c-ludenberg a96c14a0d3 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
2026-07-10 22:17:49 +02:00
c-ludenberg 64d5d7bf35 Profile trim: swap firefox->falkon, plasma->plasma-meta, drop mpv
- firefox (286 MiB) -> falkon (16 MiB): -270 MiB, KDE-native browser
- plasma group (665 MiB) -> plasma-meta (328 MiB): -337 MiB, drops
  unneeded wallpapers, X11-only packages, and dev tools
- mpv removed: -30 MiB, music preview feature long gone

ISO estimated ~2.8 GB -> ~2.15 GB, matching Artix Plasma size.
2026-07-08 18:21:41 +02:00
c-ludenberg 9e55130d01 fix: set OpenRC critical to false (broken, should not block install) 2026-07-07 19:25:35 +02:00
c-ludenberg 4c697a9142 fix: install antergos-release/grub-theme via basestrap (online), enable dinit-user-spawn, add dbus-dinit-user 2026-07-07 19:05:47 +02:00
c-ludenberg 5b0cbc5102 fix: install dinit service packages through netinstall Default group instead of packagechooser
basestrap module (from calamares-extensions) reads netinstallAdd only
for the init provider name (e.g. 'dinit') to add elogind-dinit. It
does NOT install the subgroup packages from the user's packagechooser
selection (networkmanager-dinit, pipewire-dinit, etc.). So these were
selected in the GUI but never present in the target system.

Since the netinstall view's packageOperations -> packages module flow
works correctly, move all required *-dinit service packages into the
netinstall.yaml Default group (online) and profile.yaml rootfs (offline).

Also revert settings.conf back to services-artix + postcfg — these
modules DO exist (from calamares-extensions) and work correctly when
the service packages are installed. Remove the unnecessary shellprocess
files that were added as a mistaken workaround.
2026-07-07 17:40:50 +02:00
c-ludenberg 0f3ed4f346 fix: replace broken services-artix/postcfg modules with shellprocess
services-artix and postcfg Calamares modules don't exist in upstream
Calamares (they're Garuda/Artix fork patches). Our custom Calamares
builds from pure upstream, so these steps get silently skipped during
installation, leaving NO services enabled in the installed system.

Replace them with shellprocess@enable-services, which uses the
built-in shellprocess module to run a post-install script that:
- Detects the init system (dinit/openrc/runit/s6)
- Enables all system services via boot.d symlinks or equivalent
- Sets up user services (pipewire, wireplumber) for the created user

Affects both online and offline installer settings.
2026-07-06 22:59:57 +02:00
c-ludenberg 777dd07b74 fix: add branding, network, audio packages to netinstall + init chooser
- Plasma group in netinstall.yaml now includes antergos-plasma-theme,
  antergos-next-desktop-settings, and full KDE app list from branding
- Default group adds networkmanager, pipewire, pipewire-pulse,
  wireplumber, firefox, mesa for working network/audio out of the box
- Init chooser packagechooser.conf adds pipewire-dinit and
  wireplumber-dinit services to all four init sections (dinit, openrc,
  s6, runit) for audio service enablement
2026-07-06 20:49:18 +02:00
c-ludenberg 9bb6257dd2 fix: copy finished.conf to shared modules dir
finished.conf was only in calamares-online/modules/ and
calamares-offline/modules/, not in calamares/modules/. When
settings.conf gets copied at runtime, Calamares looks for
modules at /etc/calamares/modules/finished.conf which didn't
exist, silently falling back to defaults with systemctl reboot
(broken on Artix).
2026-07-06 20:24:53 +02:00
c-ludenberg 1233d21516 fix: mark OpenRC as broken in installer with warning
OpenRC conflicts with dinit-rc over virtual init-rc. Runit and S6
use different virtuals so they're fine. OpenRC stays listed but
with a visible warning until a fix is found.
2026-07-06 20:23:02 +02:00
c-ludenberg 05ae4f25cc feat: switch default init from OpenRC to Dinit
All approaches to keep OpenRC as default failed:
  - --ignore: pacman ignores it during fresh install provider resolution
  - --assume-installed=init-logind: ALPM doesn't check assume-installed for virtual providers
  - --ask=12: infinite loop (pacman re-adds elogind-dinit after each removal)
  - dummy package in custom repo: init-rc conflict hits via different path

Dinit works because pacman --noconfirm naturally picks elogind-dinit
(alphabetically before elogind-openrc), pulling dinit-rc which has no
conflict. All inits (OpenRC, Runit, S6) remain selectable in the
online installer.

Changes:
  - buildiso: INITSYS='dinit', remove --assume-installed/--ask hacks
  - basestrap/main.py, packages/main.py: remove same hacks
  - profile.yaml: antergos-live-dinit for dinit, move openrc pkg to init-specific
  - packagechooser.conf (x2): default=Dinit, Dinit first in item list
  - packagechooser_dm.conf: *-dinit instead of *-openrc
  - README.md, README.pl.md, docs/*: update all OpenRC-first references
  - AGENTS.md: document dinit as default
2026-07-06 19:42:27 +02:00
c-ludenberg ec65f721b9 fix: remove stale try_remove artix-release (package doesn't exist) 2026-07-05 21:05:32 +02:00
c-ludenberg 64e0990a50 fix: restore base_init logic in basestrap with init-filtered netinstallAdd 2026-07-05 20:54:05 +02:00
c-ludenberg fea5c3babe fix: add elogind-openrc to basestrap install to pin init-logind provider 2026-07-05 20:53:17 +02:00
c-ludenberg 1038c2dec2 fix: add antergos-sddm-theme to SDDM package list in DM chooser 2026-07-05 20:43:00 +02:00
c-ludenberg 6579acb421 fix: remove broken netinstallAdd/base_init logic from basestrap causing invalid elogind-sddm package 2026-07-05 20:39:14 +02:00
c-ludenberg b0e6525166 revert: restore original basestrap.conf, basestrap/main.py, remove broken packages/main.py 2026-07-05 20:03:00 +02:00
c-ludenberg 1313742dad fix: split basestrap operations — install base+keyring, then antergos-release+wallpapers+grub
The antergos-release PKGBUILD has replaces=artix-release so pacman handles
the swap automatically. No try_remove needed — that was causing errors.
2026-07-05 20:00:00 +02:00
c-ludenberg 48a5dc815c fix: split basestrap operations to avoid antergos-release / artix-release conflict
- Install base + antergos-next-keyring first
- try_remove artix-release (catches errors silently)
- Then install antergos-release, wallpapers, grub-theme
- antergos-release has replaces=artix-release so pacman handles
  the swap, but try_remove is a safety net
2026-07-05 19:58:47 +02:00
c-ludenberg 7beee69be4 feat: expand Calamares installer with DM chooser, explicit DE packages, and custom packages module
- Add packagechooser@dm instance for display manager selection (SDDM/LightDM/LXDM/LY)
- Expand desktop environment package lists (Xfce MATE LXQt i3) with explicit packages
- Change plasma -> plasma-meta and lsb-release -> antergos-lsb-release
- Add bootloader, displaymanager, grubcfg, postcfg, services-artix module configs
- Install antergos-release, antergos-wallpapers, antergos-grub-theme via basestrap
- Add custom packages/main.py with one-at-a-time install and --overwrite='*'
- Add --overwrite='*' to basestrap main.py for pacman -Sy operations
2026-07-04 22:44:04 +02:00
c-ludenberg 37ade2a64d fix: apply Antergos NeXT wallpaper in live environment
The wallpaper autostart script was failing on Plasma 6 + Wayland,
causing the live session to show the default Plasma background instead
of the Antergos NeXT branded wallpaper.

Changes:
- Rewrote set-antergos-wallpaper.sh with three fallback methods:
  1. plasma-apply-wallpaperimage (primary)
  2. kwriteconfig6 + qdbus6 config reload
  3. qdbus6 evaluateScript API
- Added direct wallpaper config in live-overlay/home/antergos/ for
  the live user (most reliable, runs before Plasma starts)
- Updated existing /etc/skel/ and main.xml defaults to use
  antergos-wallpaper.png instead of adwaita-morning.webp
- Downloaded and included original Antergos wallpaper from the
  project's wallpapers repo
2026-07-04 00:17:11 +02:00
c-ludenberg 99f5a9790d fix: re-add try_remove artix-release to basestrap
Proactively remove artix-release during basestrap so the packages
module's single pacman -S transaction doesn't hit the conflict when
installing antergos-release. try_remove catches errors silently if
artix-release can't be removed.
2026-07-03 19:23:04 +02:00
c-ludenberg 2cab8e8b1e fix: add antergos-release to CI packages.yaml and Default group
antergos-release was missing from packages.yaml so the CI never
built it, causing error code 1 when the packages module tried to
install it. Now re-added to both CI config and Default netinstall
group.
2026-07-03 00:28:01 +02:00
c-ludenberg 874fdc233e fix: remove antergos-release from Default group (not yet in repo)
antergos-release PKGBUILD exists but the package was never built
and deployed to the GitHub Pages repo. The packages module tried to
install it and pacman returned error code 1 (package not found).
Remove it until the CI builds and deploys it.

Also remove try_remove: artix-release from basestrap since it's not
needed without antergos-release in the Default group.
2026-07-03 00:12:35 +02:00
c-ludenberg 189b357d9b fix: install antergos-next-keyring during basestrap, remove artix-release from target
- Add antergos-next-keyring to basestrap install list so keyring files
  are available in the target early (uses host keyring which already
  trusts the Antergos key)
- Add antergos-next to keyrings list so pacman-key --populate imports
  the Antergos key into the target's keychain
- try_remove artix-release so antergos-release doesn't conflict when
  packages module runs later (replaces= PKGBUILD fix also pushed, but
  this works regardless of rebuild)
- Fix remove() method in basestrap main.py: was missing --root <target>,
  causing removals to operate on the HOST instead of the target
2026-07-02 23:37:16 +02:00
c-ludenberg 045d5402e6 fix: add branding packages to Default group, populate services-artix, create online grubcfg
- Add antergos-release, antergos-next-keyring, antergos-wallpapers to
  Default netinstall group (both global and online) so installed system
  keeps Antergos branding instead of appearing as plain Artix
- Populate services-artix.conf (both online + offline) with service names
  so SDDM, NetworkManager, dbus, etc. are enabled after install (fixes
  boot-to-TTY issue)
- Create grubcfg.conf for online mode with GRUB_THEME default so
  antergos-grub-theme is actually applied by grub-mkconfig
2026-07-02 23:07:36 +02:00