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

View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
json() {
jq -Rn --arg value "$1" '$value'
}
status="$(playerctl status 2>/dev/null || true)"
time_now="$(date +%H:%M)"
if [[ "$status" == "Playing" || "$status" == "Paused" ]]; then
title="$(playerctl metadata --format '{{ title }}' 2>/dev/null || true)"
artist="$(playerctl metadata --format '{{ artist }}' 2>/dev/null || true)"
player="$(playerctl metadata --format '{{ playerName }}' 2>/dev/null || true)"
[[ -z "$title" ]] && title="Media"
if [[ "$status" == "Playing" ]]; then
icon="󰏤"
class="playing"
else
icon="󰐊"
class="paused"
fi
text="$icon $title"
[[ -n "$artist" ]] && text="$text · $artist"
text="$text$time_now"
tooltip="${player:-Player} (${status})"
[[ -n "$artist$title" ]] && tooltip="$tooltip"$'\n'"$artist - $title"
else
text="$time_now"
tooltip="$(date '+%A, %d. %B %Y')"
class="idle"
fi
printf '{"text":%s,"tooltip":%s,"class":%s}\n' \
"$(json "$text")" \
"$(json "$tooltip")" \
"$(json "$class")"