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>
38 lines
1.0 KiB
Bash
38 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
source "$stpRoot/lib/log.sh"
|
|
source "$stpRoot/lib/utils.sh"
|
|
|
|
readonly claudeCodeKeyring="/etc/apt/keyrings/claude-code.asc"
|
|
readonly claudeCodeSources="/etc/apt/sources.list.d/claude-code.list"
|
|
readonly claudeCodeSourcesEntry="deb [signed-by=${claudeCodeKeyring}] https://downloads.claude.ai/claude-code/apt/stable stable main"
|
|
|
|
repoIsConfigured() {
|
|
[[ -f "$claudeCodeSources" ]]
|
|
}
|
|
|
|
addSigningKey() {
|
|
sudo install -m 644 "$stpRoot/config/keys/claude-code.asc" "$claudeCodeKeyring"
|
|
log::ok "Clave GPG instalada: $claudeCodeKeyring"
|
|
}
|
|
|
|
addRepository() {
|
|
echo "$claudeCodeSourcesEntry" | sudo tee "$claudeCodeSources" > /dev/null
|
|
sudo apt-get update -qq
|
|
log::ok "Repositorio configurado: $claudeCodeSources"
|
|
}
|
|
|
|
if repoIsConfigured; then
|
|
log::info "Repositorio claude-code ya configurado"
|
|
else
|
|
addSigningKey
|
|
addRepository
|
|
fi
|
|
|
|
if util::isAptInstalled "claude-code"; then
|
|
log::info "Ya instalado (apt): claude-code"
|
|
else
|
|
sudo apt-get install -y claude-code
|
|
log::ok "Instalado: claude-code"
|
|
fi
|