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/
This commit is contained in:
2026-05-27 20:51:58 +02:00
commit be7bffc1e5
86 changed files with 9984 additions and 0 deletions

50
modules/core/sddm.sh Executable file
View File

@@ -0,0 +1,50 @@
#!/usr/bin/env bash
module_description() {
printf "SDDM Theme - install custom login theme\n"
}
module_required() { return 1; }
module_should_skip() {
if have sddm; then
return 1
fi
return 0
}
module_prereqs() {
if ! have sddm; then
log_warn "SDDM is not installed. Install with: sudo pacman -S sddm"
return 1
fi
}
module_main() {
log_section "SDDM Theme Installation"
local sddm_theme_dir="$OMERON_PROJECT_DIR/dotfiles/hypr/sddm-theme"
if [[ ! -d "$sddm_theme_dir/pascal-hypr" ]]; then
log_warn "SDDM theme not found at $sddm_theme_dir"
return 1
fi
log_info "Installing SDDM theme..."
sudo_run mkdir -p /usr/share/sddm/themes /etc/sddm.conf.d
if [[ -d "/usr/share/sddm/themes/pascal-hypr" ]]; then
sudo_run rm -rf "/usr/share/sddm/themes/pascal-hypr"
fi
sudo_run cp -a "$sddm_theme_dir/pascal-hypr" /usr/share/sddm/themes/
if [[ -f "$sddm_theme_dir/sddm.conf" ]]; then
sudo_run cp -a "$sddm_theme_dir/sddm.conf" /etc/sddm.conf.d/10-pascal-hypr.conf
fi
log_success "SDDM theme installed"
if tui_confirm "Enable SDDM as display manager?"; then
sudo_run systemctl enable sddm --now 2>/dev/null || log_warn "Could not enable SDDM"
fi
}