Files
STP/scripts/thunderbird/capture.sh
T
msaldain bd78fd9fbe Configuracion inicial completa del entorno personal
Modulos de restauracion:
- bootstrap: instala yq, age y dependencias base (curl, wget, git, nano, gpg)
- ssh: descifra e instala claves SSH desde secrets/sshKeys.tar.gz.age
- registry: aplica paquetes apt/snap/flatpak, dotfiles, servicios y configs Docker
- thunderbird: instala Thunderbird snap y restaura perfil desde ZIP
- claudeCode: configura repositorio apt de Anthropic e instala claude-code
- easyEffects: restaura configuracion y presets desde ZIP
- wireplumber: restaura dispositivo Bluetooth por defecto y perfiles de audio
- cups: restaura impresoras y drivers PPD desde ZIP

Scripts de captura (correr antes de push):
- scripts/encryptSsh.sh: cifra ~/.ssh con age
- scripts/thunderbird/capture.sh: captura perfil de Thunderbird snap
- scripts/easyEffects/capture.sh: captura config de EasyEffects flatpak
- scripts/wireplumber/capture.sh: captura estado de WirePlumber
- scripts/cups/capture.sh: captura impresoras CUPS y PPDs (requiere sudo)

Registro de aplicaciones (config/registry.yaml):
- 9 paquetes apt, 1 snap (dbeaver-ce), 22 flatpaks incluyendo VSCodium,
  Bitwarden, Inkscape, LibreOffice, OBS Studio, Nextcloud Desktop, entre otros

Secretos incluidos:
- secrets/sshKeys.tar.gz.age: claves SSH cifradas con age
- secrets/thunderbirdProfile.zip: perfil de Thunderbird sin emails ni cache
- secrets/easyEffectsConfig.zip: ajustes y presets de salida de audio
- secrets/wireplumberState.zip: estado de audio incluyendo auriculares Bluetooth
- secrets/cupsConfig.zip: 5 impresoras configuradas con sus drivers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 18:16:40 -03:00

37 lines
1.4 KiB
Bash

#!/usr/bin/env bash
# Excluye emails, caché, crash dumps y archivos de bloqueo.
# Replica lo que hace el export integrado de Thunderbird (Ajustes → Exportar perfil).
set -euo pipefail
stpRoot="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
source "$stpRoot/lib/log.sh"
readonly thunderbirdApplicationDirectory="$HOME/snap/thunderbird/common"
readonly thunderbirdProfileDirectory="$thunderbirdApplicationDirectory/.thunderbird"
readonly outputFile="$stpRoot/secrets/thunderbirdProfile.zip"
thunderbirdDataExists() {
[[ -d "$thunderbirdProfileDirectory" ]]
}
if ! thunderbirdDataExists; then
log::warn "Datos de Thunderbird Snap no encontrados en: $thunderbirdProfileDirectory"
log::info "Asegurate de haber abierto Thunderbird al menos una vez antes de capturar"
exit 0
fi
log::step "Capturando configuración de Thunderbird"
mkdir -p "$stpRoot/secrets"
rm -f "$outputFile"
(
cd "$thunderbirdApplicationDirectory"
find ".thunderbird" \
| grep -Ev "/(Mail|ImapMail|News|cache|cache2|startupCache|minidumps|crashes|storage|Crash Reports)(/|$)" \
| grep -Ev "\.(msf|sqlite-wal|sqlite-shm)$" \
| grep -Ev "/(parent\.lock|lock)$" \
| zip -q "$outputFile" -@
)
log::ok "Guardado: secrets/thunderbirdProfile.zip ($(du -sh "$outputFile" | cut -f1))"
log::info "Commiteá secrets/thunderbirdProfile.zip antes de hacer push"