Sistema de sync boot/shutdown con chezmoi (systemd --user)

Añade chezmoi-boot-sync.service (aplica la config respaldada al
arrancar, vía chezmoi update) y chezmoi-shutdown-sync.service (re-add +
commit + push al cerrar sesión/apagar, usando el truco de ExecStop en
un servicio oneshot con RemainAfterExit). Ambos a nivel de usuario, sin
depender de sudo.

run_once_after_enable-chezmoi-sync-linger.sh habilita 'loginctl
enable-linger' automáticamente en cualquier máquina nueva donde se
aplique este repo, para que la instancia systemd --user (y por tanto
ambos servicios) sobreviva al logout y arranque con el sistema.

El remoto origin pasó de SSH a HTTPS: el push automático desde un
servicio systemd no tiene acceso al agente SSH (Bitwarden) de la
sesión interactiva, así que usa el token cacheado por
credential.helper=store en su lugar.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Josevi
2026-07-31 20:24:20 +02:00
co-authored by Claude Sonnet 5
parent 274f4f0e58
commit ca8997663b
7 changed files with 91 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# Se ejecuta una sola vez tras `chezmoi apply`/`chezmoi init --apply` en una
# máquina nueva. Habilita "linger" para que la instancia systemd --user
# arranque con el sistema (no solo al hacer login) y sobreviva al logout,
# necesario para que chezmoi-boot-sync/chezmoi-shutdown-sync se disparen
# en el arranque/apagado reales y no solo en la sesión gráfica.
set -euo pipefail
if command -v loginctl >/dev/null 2>&1; then
loginctl enable-linger "$USER" || true
fi