bd78fd9fbe
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>
37 lines
1.4 KiB
Bash
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"
|