- Remove slow fallback loop from is_package_installed (only use expac)
- Move aylurs-gtk-shell from hyprland group to dedicated core/ags module
with clear progress warning and user confirmation before build
- Install AUR packages one at a time in install_aur (better error isolation)
- Replace obsolete ttf-font-awesome with otf-font-awesome
- Remove p7zip (deleted from repos and AUR)
aylurs-gtk-shell-git provides aylurs-gtk-shell, but pacman -Qi
only matches exact package names. This caused the installer to
think ags was missing and try to install aylurs-gtk-shell from
AUR, which conflicts with the already-installed -git variant.
Now uses expac (fast) or pacman loop (fallback) to check if any
installed package provides the requested virtual package name.
Auf frischem Arch ist base-devel nicht installiert.
makepkg -si schlaegt fehl: 'fakeroot' not found.
Fix: sudo pacman -S base-devel vor dem ersten makepkg.
Drei Probleme gefixt:
1. Theme-Auswahl waehrend Install
- apply-theme.sh zeigt jetzt alle .theme-Files via tui_choose
- Benutzer waehlt interaktiv (gum/whiptail/basic)
- Bei nur einem Theme: auto-select
2. SDDM wendet falsches Theme an
- sddm.sh erzeugt /var/lib/pascal-sddm-theme/ mit user chown
- Liest current-theme.conf + hyprpaper.conf fuer aktuelle Farben
- Schreibt theme.conf in /usr/share/sddm/themes/pascal-hypr/
- Config heisst jetzt 90-pascal-hypr.conf (hoehere Priority)
- apply-theme.sh erzeugt state dir VOR theme-menu.sh --apply
3. tui_choose basic mode fix
- ${!choice} funktioniert nicht fuer numerische Indices
- labels+=("$@") + ${labels[$choice]} statt Positional-Params
- paru wird jetzt in detect_environment() auf frischen Systemen installiert
(vorher nur in preflight, das bei --fresh nie durchlief)
- install_aur_helper() von preflight nach utils.sh verschoben (global verfügbar)
- Header von Cherokee-Zeichen ('Ꮎ Ꮇ Ꭼ Ꮢ Ꮎ Ꮑ') auf ASCII ('O M E R O N')
umgestellt — Cherokee zeigte auf manchen Terminals Fragezeichen
- Continue with installation? Prompt nach Banner als erster interaktiver Schritt
- basic mode header jetzt sauberes ASCII (===== statt Box-Zeichen)
gum spin --title ... -- sudo_run pacman ...
→ gum startet sudo_run als externes Programm, nicht als Bash-Funktion
→ 'executable file not found in path'
Fix: tui_spin benutzt immer die einfache Ausführung ('▶ ... OK/FAILED'),
da gum spin mit Shell-Funktionen (sudo_run) nicht kompatibel ist.
- collect_all_interactive: module VOR declare -F sourcen (erstes Modul wurde nie
als required erkannt, sondern immer mit tui_confirm nachgefragt)
- OMERON_MODULE_DIR exportieren (Subshell von <(...) könnte sonst leeren Wert
haben → Module nicht gefunden)
- collect_modules (--modules): auch hier file-existence prüfen
- tui.sh: komplett überarbeitet mit _strip_format() für basic mode
- whiptail als mittleres Fallback-Backend hinzugefügt
- Alle #{bold}/#{normal}-Markups entfernt, saubere ANSI-API (tui_info/tui_bold/...)
- install.sh: detect_environment() installiert gum vor allen Prompts
- Kein seq-Dependency mehr (printf -v statt seq)
- packages.sh/preflight.sh/homelab.sh/optional.sh auf neue TUI-API migriert