#!/usr/bin/env bash # Installe le timer systemd utilisateur pour git-pull (config centralisée : cron/config.env). # Usage : ./scripts/install-git-pull-systemd-user.sh # Puis : systemctl --user status git-pull-project-clones.timer set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" UNIT_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user" SERVICE_IN="${ROOT}/systemd/user/git-pull-project-clones.service.in" TIMER_SRC="${ROOT}/systemd/user/git-pull-project-clones.timer" SERVICE_OUT="${UNIT_DIR}/git-pull-project-clones.service" TIMER_OUT="${UNIT_DIR}/git-pull-project-clones.timer" mkdir -p "$UNIT_DIR" sed "s|@SMART_IDE_ROOT@|$ROOT|g" "$SERVICE_IN" >"$SERVICE_OUT" cp -f "$TIMER_SRC" "$TIMER_OUT" chmod 0644 "$SERVICE_OUT" "$TIMER_OUT" chmod +x "${ROOT}/cron/git-pull-wrapper.sh" "${ROOT}/cron/git-pull-project-clones.sh" systemctl --user daemon-reload systemctl --user enable git-pull-project-clones.timer systemctl --user start git-pull-project-clones.timer echo "Installé : $SERVICE_OUT" echo "Timer : $(systemctl --user is-active git-pull-project-clones.timer) (next: $(systemctl --user list-timers git-pull-project-clones.timer --no-legend 2>/dev/null | awk '{print $1,$2}' || true))" echo "Config : $ROOT/cron/config.env (+ optionnel cron/config.local.env)" echo "Logs : voir PULL_SYNC_LOG dans config.env (défaut /logs/git-pull-projects.log)"