#!/usr/bin/env bash
# TANINUX first-run setup: seedet Default-Configs nach ~/.config und richtet
# das Session-Portal ein (damit libadwaita-Apps Hell/Dunkel übernehmen).
# Idempotent. --force überschreibt bestehende Configs (mit .bak-Backup).
set -euo pipefail

SKEL="/usr/share/tanin/skel"
UNIT="/usr/share/tanin/tanin-session.target"
CFG="${XDG_CONFIG_HOME:-$HOME/.config}"
FORCE=0
[ "${1:-}" = "--force" ] && FORCE=1

seed_configs() {
  [ -d "$SKEL" ] || return 0
  while IFS= read -r -d '' src; do
    rel="${src#"$SKEL"/}"
    dst="$HOME/$rel"
    mkdir -p "$(dirname "$dst")"
    if [ -e "$dst" ] && [ "$FORCE" -eq 0 ]; then
      continue
    fi
    [ -e "$dst" ] && cp -a "$dst" "$dst.bak" 2>/dev/null || true
    cp -a "$src" "$dst"
  done < <(find "$SKEL" -type f -print0)
}

install_session_target() {
  [ -f "$UNIT" ] || return 0
  install -Dm644 "$UNIT" "$CFG/systemd/user/tanin-session.target"
  systemctl --user daemon-reload 2>/dev/null || true
}

seed_configs
install_session_target

cat <<'EOF'
TANINUX setup complete.
  • configs seeded into ~/.config
  • session target installed (~/.config/systemd/user/tanin-session.target)

Make sure your compositor autostart contains:
  exec-once = dbus-update-activation-environment --systemd --all
  exec-once = systemctl --user start tanin-session.target

(The shipped TANINUX compositor config already includes these.)
EOF
