Commit Graph

9 Commits (8bf778e487c24093653c2b22c4712af41a811810)

Author SHA1 Message Date
Amir Alexander Abdelbaki 8bf778e487 fix(modules): resolve rust/rustup conflict and greetd config-dir abort
Two more module aborts surfaced by the live VM test (both pre-existing, only
unmasked once the wprs bug was fixed and the transaction got further):

1. core-packages.sh listed BOTH `rust` and `rustup`. They conflict (both provide
   cargo/rustc); pacman --noconfirm cannot auto-resolve it and aborts the whole
   core-packages transaction ("unresolvable package conflicts"), so wget and the
   other core tools never installed. Drop `rust` — the setup uses rustup
   exclusively (`rustup default stable`).

2. core.sh copied the greetd config into /etc/greetd before that directory
   existed (greetd is pulled in later by the DE module), so the cp failed and
   `set -e` aborted Core Services before fail2ban/udisks2 were enabled. mkdir -p
   /etc/greetd first.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R5kHioUMK3mtf2eiLEozCM
2026-06-27 04:15:36 +02:00
Amir Alexander Abdelbaki d445f965ce fix(modules): make service/session ops chroot-safe to prevent install aborts
When the TUI modules run inside the archiso installer chroot, the new
system's systemd is not the running init and there is no user session bus.
Operations like `systemctl start`, `enable --now`, `systemctl --user`, and
`gsettings` fail there and, under `set -e`, abort the whole module.

- logging.sh: add in_chroot/have_user_bus/enable_service/start_service
  helpers. enable_service warns instead of aborting; start_service skips in
  a chroot (unit starts on first boot via its enable symlink).
- core.sh, hyprland.sh, hyprlua.sh, niri.sh: route enables through
  enable_service, starts through start_service, and guard gsettings behind
  have_user_bus. Fixes the cronie-enable failure and the ly/DM setup abort.
- app modules (tlp, timeshift, open-webui, mysql, qemu, ollama, cockpit,
  docker, ssh-server): convert `enable --now`/plain enables to
  enable_service + start_service so they no longer abort during chroot install.
- tui-install.sh: run modules with output to a file plus a pid-bound tail,
  waiting on the module PID, so a daemon child inheriting the pipe can no
  longer hang the installer after a module (e.g. flatpak) finishes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R5kHioUMK3mtf2eiLEozCM
2026-06-26 20:58:37 +02:00
Amir Alexander Abdelbaki cb464c830f chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
Amir Alexander Abdelbaki 0c88a09a0f feat(installer): add structured logging to all modules and installers
Add modules/lib/logging.sh with log(), skip(), warn(), err() helpers.
Source it in all 84 scripts (core, DEs, optional apps) and replace bare
echo calls with structured log messages. Add log file capture to install.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 01:44:31 +02:00
Amir Alexander Abdelbaki 1862f83fab added udiskie 2025-11-27 18:04:00 +01:00
Amir Alexander Abdelbaki a893d68fb8 added cron to setup scripts 2025-09-25 18:48:10 +02:00
Amir Alexander Abdelbaki 20e7868a48 added fail2ban to default packages because lets be fr we need to be safe 2025-05-15 14:47:52 +02:00
Amir Alexander Abdelbaki db34fcca3a added installer modules largely 2025-04-05 13:47:47 +02:00
Amir Alexander Abdelbaki 4b66b31b0e started setting up the modularization of the installer 2025-04-05 12:33:04 +02:00