Commit Graph
100 Commits
Author SHA1 Message Date
c-ludenberg 76e1bb1fc1 feat(build): containerize ISO builds for non-pacman distros
this is a commit message. it is a MANIFESTO for no reason. i am aware.
it is 17:38. i am in pain. the pain is optional. the commit is not.

so. context, because i know you need it:
i installed gentoo to see what happens. what happened: emerge. days of
emerge. portage asked me to rebuild itself mid-rebuild and i said yes
because i was scared of what it'd do if i said no. my ext4 drive died
AGAIN so we're btrfs. snapshots are now my emergency contacts.
(profile update pending: "Used Gentoo BTW" -> "Used Gentoo and it
used me")

THE ACTUAL CHANGES (finally):
- artools is bash + pacman. it is not sacred. it is now a CONTAINER
- Containerfile: artix base, artools + squashfs-tools + xorriso +
  mkinitcpio, repo buildiso as ENTRYPOINT (the --overwrite='*' one.
  the other one knows what it did), antergos-pkgs pacman.conf baked in
- .dockerignore so podman users don't download 33MB of my .git and
  learn things about me

devtmpfs requires rootful podman. i am not explaining why. the answer
is "devtmpfs is a coward." i am the maintainer. i am allowed to say
that. rootless? you're not building an ISO, you're building a support
system for your decisions. anyway.

- build-iso-podman.sh exists so i can stop pasting commands from the
  README into my own terminal like a tourist
- README now has: podman for non-pacman (gentoo fedora debian), native
  for arch/artix/kaos, and a TABLE. i made a TABLE. i am healing.
- it works on any distro with podman because i want you to suffer LESS
  than me. that is not altruism. it is spite with a benefit package.

so laugh all you want. forget about me all you want. but at least i'll
be gorgeous forever. this is the longest i've committed to anything
since gentoo. and i regret BOTH of those decisions.

Signed-off-by: Michał <ash8820@proton.me>
2026-08-15 17:38:30 +00:00
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 13a48a7d77 docs: add ALWAYS VERIFY AGAINST THE SOURCE reminder to Critical Gotchas
Adds a warning to check authoritative Calamares source before asserting
config schemas/formats, with a note that it's aimed at OpenCode agents
(adapt the tool name for others). Prevents the 2026 packagechooser/
netinstall eyeball mistake
2026-08-06 20:23:57 +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 e2ed076caa revise README to improve tone and clarity
removed informal comments and notes to enhance professionalism.
2026-08-02 20:43:14 +02:00
c-ludenberg 20a78051d6 docs: overhaul to match current repo reality (DE/DM selectors, SDDM pixie theme, overlays, offline installer, CI)
- index/installer/launcher: release facts, SDDM theme (pixie on master), init/DE selectors, NoExtract for Install Artix entry
- packages: branding pkg ships offline+online settings (no packagechooser.conf fallback), drop antergos-sddm-theme, correct repo index names
- overlays/overlay-root/overlay-live: root-overlay is live-session only, real file trees, symlinked settings.conf, commit reference
- desktop-environments/wallpapers: remove No Desktop option, video wallpaper via layan-theme + Smart Video Wallpaper Reborn
- ci/development/building: three workflows incl. ai-moderator, IA upload disabled (if:false)
- byode: new page documenting the SteamOS-inspired offline installer
- AGENTS.md/openrc: OpenRC was an installer-only dinit conflict; manual rc-update add works
2026-07-31 21:41:17 +02:00
c-ludenberg 1a78e9aa36 update README to remove ko-fi badge
removed the ko-fi badge and added a personal note about support.
2026-07-31 21:02:10 +02:00
c-ludenberg 14b042dae8 fix: remove lockReason from discussion lock (not allowed) 2026-07-30 20:27:47 +02:00
c-ludenberg c56effadda fix: use GraphQL for discussion comments and locking (REST 404) 2026-07-30 20:25:59 +02:00
c-ludenberg 399781274e fix: remove discussion label endpoint (404), comment only 2026-07-30 20:24:21 +02:00
c-ludenberg 4853a35f76 fix: use raw github.request for discussion API (discussions not in Octokit) 2026-07-30 20:21:52 +02:00
c-ludenberg 293bdc4481 feat: AI moderator supports discussions and discussion comments 2026-07-30 20:19:32 +02:00
c-ludenberg 80eceb0e6a feat: AI moderator gets first-person snark and test issue detection 2026-07-30 19:16:42 +02:00
c-ludenberg 0697af9015 feat: AI explains violations, can hide comments or lock issues 2026-07-30 19:12:12 +02:00
c-ludenberg e3f7c4f1fc feat: AI generates its own warning message, 250 tokens 2026-07-30 19:08:18 +02:00
c-ludenberg ea9cdda28b fix: add CONTRIBUTING.md to AI moderator context 2026-07-30 19:04:44 +02:00
c-ludenberg 22777339b8 fix: yaml syntax in ai moderator workflow (template literal indentation) 2026-07-30 19:03:43 +02:00
c-ludenberg dc44cfcba2 fix: swap AI moderator from GitHub Models to Groq (free tier) 2026-07-30 19:01:49 +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 70927808a1 fix: use file:// prefix in wallpaper script to match upstream format 2026-07-29 18:37:45 +02:00
c-ludenberg a578d69d9d fix: add vulkan-nouveau to livefs for NVK support on Wayland 2026-07-29 17:32:14 +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 d4d8075f88 fix(ci): use --overwrite='*' for pacman step to catch all file conflicts (base vs openrc 30-binfmt.hook) 2026-07-27 22:19:36 +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 a3b69aed34 fix: dynamic containment IDs for wallpaper, disable IA upload for testing 2026-07-23 22:40:23 +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 2d6faa8422 Add consequences for defiant agents to AGENTS.md 2026-07-20 18:15:54 +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 e11897ceae fix: use main branch instead of nonexistent v1 tag for ai-community-moderator 2026-07-19 19:07:07 +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 9ddb41c201 fix: tell Copilot to STFU about pkexec 2026-07-19 18:37:20 +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 2bcc3d1067 try: add XeroLinux rice deps to profile
cava, python-websockets, qt6-websockets for Kurve, fonts,
btop, fastfetch, adw-gtk-theme, kwin-zones, oh-my-posh-bin,
pacseek — all the packages XeroLinux's rice needs.
2026-07-18 20:46:03 +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 9d976688d9 docs: add Ko-fi button 2026-07-18 19:04:17 +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 b3538f0880 fix: add tela-circle-icon-theme-git package, add to profile.yaml 2026-07-18 00:49:29 +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 3087f9a403 fix: BYODE script fixes — initramfs, hosts, no sddm, sync 2026-07-17 21:25:17 +02:00
c-ludenberg 3d8dd9190e docs: update README and README.pl.md for dinit-only, BYODE 2026-07-17 21:24:30 +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 d0213a7a46 docs: rework all pages to Artix Wiki quality
- index.md: add download link + stable release announcement
- building.md: add troubleshooting section (cache, squashfs, compression)
- ci.md: IA upload enabled, push trigger removed (manual dispatch only)
- development.md: add all gotchas from AGENTS.md (SDDM theme ordering,
  pipewire launcher, antergos-release in basestrap, CI changes)
- installer.md: document fixed issues (audio, SDDM, os-release)
- packages.md: add pipewire fork, antergos-sddm-theme, antergos-release
- launcher.md: expand with module configs
- init-systems.md: Chimera uses dinit, OpenRC marked as broken
- openrc.md: add broken warning banner
- wallpapers.md: default is antergos-wallpaper.png (not Adwaita Morning)
- overlays: clean up explanations and symlink behavior
- desktop-environments.md: add Discover note, clean up GNOME entry
- dinit.md, runit.md, s6.md: polish and add troubleshooting sections
2026-07-11 23:33:17 +02:00
c-ludenberg e54b35a1d4 docs: add download link to quick links 2026-07-11 23:23:43 +02:00
c-ludenberg a3057c5a73 ci: disable auto-trigger on push, manual dispatch only 2026-07-11 20:55:55 +02:00
c-ludenberg 9fa1d125f0 docs: link to GitHub Releases for downloads 2026-07-11 20:55:33 +02:00
c-ludenberg 40929fac8b fix: use unique IA bucket identifier with run_number suffix 2026-07-11 20:21:53 +02:00
c-ludenberg 50ba521b73 docs: restore technical README for GitHub 2026-07-11 19:52:09 +02:00
c-ludenberg 5257bbdc74 ci: enable Internet Archive upload 2026-07-11 19:50:34 +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 ad897d4f7f docs: restore story README for GitLab 2026-07-10 22:20:47 +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 89a8dbc66f docs: restore technical README for GitHub (cherry-pick to origin only, gitlab keeps story) 2026-07-10 17:56:12 +02:00
c-ludenberg d7f1397e50 fix: enable xlibre-xserver (use-xlibre: true) to resolve X provider conflicts
xlibre-xserver is the modern Artix unified X server that provides
both x11win-server (required by SDDM) and xorg-server (required by
all DEs). Setting use-xlibre: false caused the old split packages
(x11win-server from system repo vs xorg-server from world repo) to
conflict during online installs when users selected SDDM + any DE
that pulls xorg-server/xlibre-xserver.

Switched both full and minimal profiles to use-xlibre: true.
2026-07-08 21:36:51 +02:00
c-ludenberg 167f90ffe7 fix(antergos-minimal): add DM/DE compatibility warnings to packagechooser
SDDM pulls x11win-server (system repo) which conflicts with
xlibre-xserver (world repo) pulled by Cinnamon/MATE/LXQt.
Added warning descriptions to all DM choices suggesting
LightDM for incompatible combos.
2026-07-08 21:15:08 +02:00
c-ludenberg a042c45a8b fix(antergos-minimal): fix malformed YAML in minimal-info.conf, copy to online/offline module dirs
- YAML document separator '---' was glued to 'qmlSearch' key, causing
  the notesqml module to fall back to default example release notes
- Copied the config to calamares-online/modules/ and
  calamares-offline/modules/ so both modes can find it
2026-07-08 19:37:49 +02:00
c-ludenberg 47241c7218 Merge branch 'master' of https://gitlab.com/moonlightos-dev/antergos-iso 2026-07-08 18:51:58 +02:00
c-ludenberg 8698fe4995 feat: add Antergos NeXT Minimal (Xfce) profile — lightweight ISO edition
Introduces iso-profiles/antergos-minimal/, a new Xfce-based profile for
building a lightweight Antergos NeXT ISO under the 2 GB GitHub Releases
limit (the full Plasma profile produces ~2.15 GB).

Profile structure:
- profile.yaml: Xfce4 desktop, dinit-only init packages, Falkon browser,
  minimal app selection, antergos-xfce-theme included in rootfs
- root-overlay/: SDDM configured for xfce.desktop, GRUB theme pointed to
  antergos, xfconf settings for Antergos-NeXT GTK/xfwm4 theme
- live-overlay/: Calamares offline + online configs, netinstall with
  multiple DE options (Plasma, Xfce, Cinnamon, MATE, LXQt, i3, Sway,
  Hyprland), notesqml@minimal-info step explaining the edition rationale,
  basestrap operations for antergos-release/grub-theme/keyring, display
  manager selection (SDDM/LightDM/LXDM/LY), audio services (pipewire),
  and antergos-xfce-theme in the Xfce subgroup

Default Xfce theme is set to Antergos-NeXT (Numix-derived, blue accent)
via xfconf XML in both live-overlay and root-overlay skel directories.
2026-07-08 18:51:35 +02:00
c-ludenberg 5c7724bf18 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:51 +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 da3dc22379 docs: call out CodeQL/Copilot AI in warning header 2026-07-07 20:12:10 +02:00
c-ludenberg dcdc48817f docs: call out CodeQL/Copilot AI in warning header 2026-07-07 20:12:05 +02:00
c-ludenberg a9a46a519d revert: basestrap/main.py to pre-CodeQL state with critical warning
Restores original callback (hardcoded False), pretty_status_message refactor,
umask pattern, known_inits name, unguarded operations access, and inline
subst_locale — all of which were changed in earlier CodeQL fix commits.

Keeps only harmless changes: unused import removal (sys, re), PEP8 comma
space, and _change_mode zero-division guard.

Adds large ASCII warning header: DO NOT EDIT without full ISO test.
2026-07-07 20:08:07 +02:00
c-ludenberg 4b105c60da revert: basestrap/main.py to pre-CodeQL state with critical warning
Restores original callback (hardcoded False), pretty_status_message refactor,
umask pattern, known_inits name, unguarded operations access, and inline
subst_locale — all of which were changed in earlier CodeQL fix commits.

Keeps only harmless changes: unused import removal (sys, re), PEP8 comma
space, and _change_mode zero-division guard.

Adds large ASCII warning header: DO NOT EDIT without full ISO test.
2026-07-07 20:06:50 +02:00
c-ludenberg 2d4694f3d0 basestrap: fix remaining CodeQL findings
- Guard _change_mode progress division against zero total_packages
- Document why -Syu is inappropriate in installer context (reproducibility)
- Promote known_inits to module-level KNOWN_INIT_PROVIDERS constant
2026-07-07 19:40:19 +02:00
c-ludenberg b4e1808e5f basestrap: fix remaining CodeQL findings
- Guard _change_mode progress division against zero total_packages
- Document why -Syu is inappropriate in installer context (reproducibility)
- Promote known_inits to module-level KNOWN_INIT_PROVIDERS constant
2026-07-07 19:37:54 +02:00
c-ludenberg 988547c94b fix: merge gitlab (keep -Sy with rationale comment) 2026-07-07 19:34:25 +02:00
c-ludenberg daf7c6e648 chore: minor PEP8 fixes, add -Sy rationale comment 2026-07-07 19:33:19 +02:00
c-ludenberg 7d081c4730 fix: pre-resolve subst_locale to avoid double call / locale drift 2026-07-07 19:32:02 +02:00
c-ludenberg de2d0959a1 fix: pre-resolve subst_locale to avoid double call / locale drift 2026-07-07 19:31:57 +02:00
c-ludenberg 0f3adc70b9 fix: address basestrap findings (format safety, umask removal, non-list guard) 2026-07-07 19:30:51 +02:00
c-ludenberg ab6c1c7192 fix: address basestrap findings (format safety, umask removal, non-list guard) 2026-07-07 19:30:26 +02:00
c-ludenberg 809f8bcafa fix: address basestrap module findings (callback, umask guard, operations guard) 2026-07-07 19:28:44 +02:00
c-ludenberg db809e6898 fix: address basestrap module findings (callback, -Sy->-S, umask guard, operations guard) 2026-07-07 19:26:50 +02:00
c-ludenberg 9dff90ef46 fix: set OpenRC critical to false (broken, should not block install) 2026-07-07 19:25:44 +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 a381290740 fix: install antergos-release/grub-theme via basestrap (online), enable dinit-user-spawn, add dbus-dinit-user 2026-07-07 19:06:01 +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 f931f74fa9 docs: add real press links 2026-07-07 18:21:02 +02:00
c-ludenberg 194d169335 docs: add GitLab-specific README with the full story 2026-07-07 18:17:14 +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 2283ff2131 fix: add missing dinit service packages for live environment
add_svc_dinit() in services.sh creates boot.d symlinks for each service
listed in live-session: services: — but only if the service file exists
at /etc/dinit.d/<name>. Without the -dinit packages installed in the
livefs, all services were silently skipped and the display manager
never started.

Add acpid-dinit, bluez-dinit, cronie-dinit, cups-dinit,
networkmanager-dinit, power-profiles-daemon-dinit, sddm-dinit,
syslog-ng-dinit, dbus-dinit, pipewire-dinit, wireplumber-dinit
2026-07-06 21:41:48 +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 aad3d86af5 chore: clean up unreachable pass/else in run_pacman retry loop 2026-07-06 20:08:35 +02:00
c-ludenberg 023ee01cc2 chore: remove __pycache__ from repo, add to .gitignore 2026-07-06 20:07:37 +02:00
c-ludenberg 6d28e35d06 chore: fix CodeQL findings
- Remove unused sys import (basestrap/main.py)
- Remove unused target_env_call import (packages/main.py)
- Remove unused progress_match variable in both files
- Remove dead if False: callback branch (basestrap/main.py)
2026-07-06 20:07:32 +02:00
c-ludenberg 87518fba99 docs: add SECURITY.md, CONTRIBUTING.md, update maintainer name 2026-07-06 20:02:17 +02:00