#!/usr/bin/env bash # veilor-os — apply system-wide KDE theme + DuckSans font default # Run during %post (chroot) or post-install. Idempotent. set -uo pipefail GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m' ok() { echo -e "${GREEN}[OK]${NC} $*"; } info() { echo -e "${YELLOW}[INFO]${NC} $*"; } REPO="${VEILOR_REPO:-/usr/share/veilor-os}" # ── Install color scheme system-wide ── info "Installing veilor-black color scheme" install -d -m 0755 /usr/share/color-schemes install -m 0644 "$REPO/assets/kde/veilor-black.colors" /usr/share/color-schemes/veilor-black.colors ok "color scheme installed" # ── KDE system defaults ── info "Setting system kdedefaults" install -d -m 0755 /etc/xdg/kdedefaults install -m 0644 "$REPO/assets/kde/veilor-default.kdeglobals" /etc/xdg/kdedefaults/kdeglobals ok "kdedefaults written" # ── DuckSans fontconfig default ── info "Setting DuckSans as default sans-serif" install -d -m 0755 /etc/fonts/conf.d cat > /etc/fonts/conf.d/55-veilor-ducksans.conf << 'EOF' sans-serif DuckSans system-ui DuckSans EOF fc-cache -f /usr/share/fonts/ducksans 2>/dev/null || true ok "fontconfig: DuckSans = default sans-serif" # ── /etc/os-release branding ── info "Branding /etc/os-release" if [[ -f "$REPO/overlay/etc/os-release.d/veilor" ]]; then install -m 0644 "$REPO/overlay/etc/os-release.d/veilor" /etc/os-release ln -sf /etc/os-release /usr/lib/os-release 2>/dev/null || true ok "os-release set to veilor-os" fi # ── Plymouth theme (optional) ── if [[ -d "$REPO/assets/plymouth/veilor" ]] && command -v plymouth-set-default-theme &>/dev/null; then info "Installing plymouth theme" install -d -m 0755 /usr/share/plymouth/themes/veilor cp -r "$REPO/assets/plymouth/veilor/." /usr/share/plymouth/themes/veilor/ plymouth-set-default-theme -R veilor 2>/dev/null || true ok "plymouth theme set to veilor" fi ok "kde-theme-apply complete"