Commit Graph

12 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
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
ef092bd4a6 fix: sddm als letztes Modul ausführen
systemctl enable sddm --now kann sofort zu SDDM wechseln und das
Script vorzeitig beenden. sddm ist jetzt das letzte Modul in
FRESH_MODULES und DEFAULT_MODULES, nach post/apply-theme.
2026-05-27 22:40:17 +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
547fb3e57f fix: UX vereinfacht - doppelten Durchlauf entfernt + Paketliste im Prompt
- show_summary entfernt (war redundant nach collect_all_interactive)
- collect_all_interactive: keine log_step-Header mehr, nur einfaches
  'Additional Software (Obsidian, ...)? [Y/n]:' pro Modul
- module_description von optional/install listet jetzt alle verfügbaren
  Pakete, damit User die Liste sieht BEVOR er Yes/No sagt
- Nicht-required Module: kompakter confirm ohne log_step-Gedöns
2026-05-27 22:00:11 +02:00
e87596f535 fix: stdout-leak in collect_all_interactive Subshell killte Module-Auswahl
collect_all_interactive wurde via <(...) in einer Subshell ausgeführt, deren
stdout an mapfile gebunden war. ALLE Ausgaben (log_step, tui_confirm-Prompts,
tui_info etc.) landeten im modules_to_run-Array → mapfile las Müllzeilen wie
'━━━ [4/7] ... ━━━' als Modul-Pfade → module_run('━━━ ... ━━━') → 'not found'.

Fix: exec 1>&2 zu Beginn der Subshell, nur die tatsächlichen Modul-Pfade
werden über erhaltenen fd 3 (> original stdout) an mapfile gegeben.
Prompt sagt jetzt auch welcher Step ('Run Modulbeschreibung?' statt
'Run this step?').
2026-05-27 21:56:39 +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
7ab1a466cc fix: Array-Bug verhinderte Paketinstallation + optional/install in FRESH_MODULES
- all_packages=("$(remove_duplicates ...)") kollabierte Newlines → alle
  Pakete wurden ein einzelnes Array-Element → pacman -Si matchte nichts
  → nichts installiert. Fix: readarray -t statt $()-Subshell.
- optional/install in FRESH_MODULES aufgenommen, damit die Software-Auswahl
  auch auf --fresh erscheint.
2026-05-27 21:06:41 +02:00
9b6c05648f fix: sddm zu hyprland package group + homelab/setup in fresh modules
- sddm war in keiner Package-Gruppe → Modul schlug bei prereqs fehl
- homelab/setup fehlte in FRESH_MODULES → auf --fresh nicht ausgeführt
2026-05-27 21:03:46 +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