Commit Graph

15 Commits

Author SHA1 Message Date
f840693320 feat: fullscreen TUI with progress bar for module execution 2026-05-29 13:17:27 +02:00
416487260c feat: one-time sudo at start with background keep-alive, no more password prompts 2026-05-29 01:13:57 +02:00
ad46515b5a fix: prefer yay-bin (static Go binary, no libalpm dep) over paru-bin 2026-05-29 00:50:26 +02:00
041a8c33ea fix: build paru from source when paru-bin has libalpm.so version mismatch 2026-05-29 00:31:25 +02:00
d6e94f5050 fix: fallback to direct AUR install when paru fails, verify paru after build 2026-05-28 23:43:35 +02:00
6f3e5e8f2d fix fresh install hang: split AGS into own module, remove obsolete packages
- 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)
2026-05-28 21:55:35 +02:00
110ae9e4eb fix is_package_installed to check provides (virtual packages)
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.
2026-05-28 18:27:22 +02:00
39b7664de5 fix: makepkg braucht base-devel fuer fakeroot
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.
2026-05-27 23:26:44 +02:00
382747ba9b fix: theme-Auswahl + SDDM-Theme-Correctness
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
2026-05-27 23:23:55 +02:00
06a21fb8c2 fix: paru-bin (pre-compiled) statt paru aus Source bauen
Alter Code:
- paru aus Source (braucht rustup + rust compiler → langsam + Fehleranfällig)
- 2>/dev/null + 2>&1 | tail -5 versteckte ALLE Fehler
- makepkg als root ausgeführt → schlägt fehl (makepkg verweigert root)
- yay als zweiter Versuch hatte die selben Probleme

Neuer Code:
- paru-bin (pre-compiled binary, kein Rust nötig)
- KEINE stderr-Unterdrückung mehr → Fehler sichtbar
- is_root()-Check: klare Warnung + Anleitung falls als root ausgeführt
- yay-bin als Fallback falls paru-bin scheitert
2026-05-27 22:53:36 +02:00
d8e7635b9f feat: paru auto-install + ASCII Header + Continue-Prompt
- 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)
2026-05-27 22:38:06 +02:00
25d9a361d6 fix: gum spin kann keine Bash-Funktionen ausführen
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.
2026-05-27 22:27:41 +02:00
fa17585afc fix: module_required-Erkennung + subshell-safe OMERON_MODULE_DIR + collect_modules existence-check
- 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
2026-05-27 21:11:18 +02:00
edbf5471b5 fix: TUI mit drei Backends (gum/whiptail/basic) + gum auto-install auf frischen Systemen
- 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
2026-05-27 21:00:49 +02:00
be7bffc1e5 Initial commit: Omeron modular Hyprland setup framework
- Modular installer with gum-based TUI
- Fresh-install detection with auto GPU driver selection
- Preflight module for system detection (Intel/AMD/NVIDIA)
- Core modules: packages, dotfiles, services, SDDM
- Optional software installer (Obsidian, Neovim, VS Code, etc.)
- Homelab config module with dynamic AGS integration
- Two complete themes: Forest Neon and Rose Night
- 19 Hyprland control scripts + 4 AGS widgets
- Idempotent dotfile deployment with automatic backup
- YAML-based configuration, extensible module system
- Full logging to ~/.local/share/omeron/
2026-05-27 20:51:58 +02:00