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.
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).
- 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)
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
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.
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
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
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
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)
- 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
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
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.
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.
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.
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
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.
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.
- 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
- buildiso: copy Antergos GRUB theme to ISO boot directory
- profile.yaml: add antergos-grub-theme to rootfs packages
- netinstall: move antergos-grub-theme from optional Style to mandatory Default group
- main.xml: set Antergos wallpaper as KDE system default
- set-antergos-wallpaper.sh: add QDbus fallback, wait for plasmashell
- .gitignore: ignore linux-next/ and winver/
- netinstall.yaml: add 'Desktop' group with 8 DEs as subgroups
(Plasma default-selected, Xfce, Cinnamon, MATE, LXQt, i3,
Sway, Hyprland) — users pick their DE during online install
- profile.yaml: move KDE Plasma (plasma group + apps) from
rootfs/packages to livefs/packages so it's only installed
when user selects it in netinstall; rootfs now has only
DE-neutral packages (firefox, calamares, libs, etc.)
The multi-instance packagechooser (init + desktop) broke the installer —
users couldn't select anything in the package step. Revert settings.conf
back to single packagechooser (init selector, netinstall-add method).
Remove packagechooser_init.conf and packagechooser_desktop.conf.
Restore original packagechooser.conf from last working commit.
Strip out archiso (airootfs, efiboot, syslinux, mkarchiso, prepare.sh,
Dockerfile, mirrorlist, profiledef.sh, packages.x86_64, reset.sh,
run_before_squashfs.sh) and adopt artools buildiso with full antergos
iso-profiles. Bitch, you NEED therapy.
Are you threatening me?
- 154 files changed, 2804 insertions, 7352 deletions
- buildiso wrapper + iso-profiles/antergos/ (profile.yaml, root-overlay,
live-overlay) + iso-profiles/common/common.yaml
- pacman.conf.d/iso-x86_64.conf with antergos-pkgs repo first
...Are you THREATENING me in SKECHERS?!
- Calamares offline + online module dirs, antergos-next branding
- componentName must match dir or Branding.cpp goes full T-square
- calamares before calamares-branding-antergos-next so --overwrite='*'
wins correctly. YOU'RE ON YOUR FOURTH WIFE RIGHT NOW-
- calamares-next.desktop in live-overlay (/usr/share + /etc/skel/Desktop)
- netinstall.yaml bundled. No remote deps. Kill that bitch (Cnchi).
What fuckin' college would care if you drew some bullshit picture
about your feelings?
- CI: artixlinux/artixlinux:base container, install artools, buildiso -p
antergos, IA upload with collection=open_source_software. Class is in
session. Maybe I should grow 40 feet! Then you'd REALLY like me!
- IA: mediatype=software keeps us out of Community Texts jail. The
question is; what's this stick gonna do?
It's honestly super humbling, when the trashiest repo you know;
probably coked out of its mind... says the most thoughtful thing
you've done in years.
- README.md rewritten with Artix/OpenRC/KDE badges, build instructions,
migration notes. Nice SpongeBob impression. ...Nice SpongeBob impression.
- AGENTS.md updated (identity ritual, gotchas, commands, repo layout)
- Restore LICENSE, NOTICES, APOLOGY.txt, CHANGELOG.md from git history.
Some files you just don't let die. No matter what, you NEVER use that
N-word! (...should've said nothing.)
- .gitignore: work/ iso/ out/. Go work at Starbucks with your little apron.
So laugh all you want. Forget about me all you want. But at least
I'll be gorgeous forever. Mother, I'm in the SquashFS now.
Signed-off-by: Celestia Ludenberg <ash8820@proton.me>