veilor-os/scripts/kde-theme-apply.sh

67 lines
2.3 KiB
Bash
Executable file

#!/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"
# ── Fira Code fontconfig default (monospace + UI) ──
info "Setting Fira Code as default font"
rpm -q fira-code-fonts &>/dev/null || dnf install -y fira-code-fonts
install -d -m 0755 /etc/fonts/conf.d
cat > /etc/fonts/conf.d/55-veilor-firacode.conf << 'EOF'
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>monospace</family>
<prefer><family>Fira Code</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Fira Code</family></prefer>
</alias>
<alias>
<family>system-ui</family>
<prefer><family>Fira Code</family></prefer>
</alias>
</fontconfig>
EOF
fc-cache -f 2>/dev/null || true
ok "fontconfig: Fira Code = default font"
# ── /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"