#!/bin/bash # omarchy:summary=Set the Plymouth boot theme from an Omarchy theme # omarchy:args= # omarchy:requires-sudo=true # Resolve a theme by name and apply its unlock.png + colors.toml as the # Plymouth boot screen via omarchy-plymouth-set. if (( $# != 1 )); then echo "Usage: omarchy-plymouth-set-by-theme " >&2 exit 1 fi theme=$1 theme_dir=$(omarchy-theme-dir "$theme") theme_color() { local key="$1" local fallback="$2" awk -F= -v key="$key" -v fallback="$fallback" ' function clean(raw) { gsub(/^[[:space:]]+|[[:space:]]+$/, "", raw) if (raw ~ /^"/) { sub(/^"/, "", raw) sub(/".*$/, "", raw) } return raw } { field = $1 gsub(/^[[:space:]]+|[[:space:]]+$/, "", field) if (field == key) { print clean($2) found = 1 exit } if (field == fallback) fallback_value = clean($2) } END { if (!found && fallback_value != "") print fallback_value } ' "$theme_dir/colors.toml" } bg=$(theme_color background) text=$(theme_color foreground) exec omarchy-plymouth-set "$bg" "$text" "$theme_dir/unlock.png"