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>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
source "$stpRoot/lib/log.sh"
|
||||
source "$stpRoot/lib/utils.sh"
|
||||
|
||||
readonly cupsArchive="$stpRoot/secrets/cupsConfig.zip"
|
||||
|
||||
cupsIsInstalled() {
|
||||
util::cmdExists lpstat
|
||||
}
|
||||
|
||||
printersAreConfigured() {
|
||||
sudo test -s /etc/cups/printers.conf
|
||||
}
|
||||
|
||||
restoreConfig() {
|
||||
log::info "Restaurando configuración de CUPS desde secrets/cupsConfig.zip..."
|
||||
unzip -q "$cupsArchive" -d "$cupsTemp"
|
||||
|
||||
sudo cp "$cupsTemp/printers.conf" /etc/cups/printers.conf
|
||||
sudo chown root:lp /etc/cups/printers.conf
|
||||
sudo chmod 600 /etc/cups/printers.conf
|
||||
|
||||
if [[ -d "$cupsTemp/ppd" ]]; then
|
||||
sudo mkdir -p /etc/cups/ppd
|
||||
sudo cp -r "$cupsTemp/ppd/." /etc/cups/ppd/
|
||||
sudo chown -R root:lp /etc/cups/ppd/
|
||||
sudo chmod 644 /etc/cups/ppd/*.ppd 2>/dev/null || true
|
||||
fi
|
||||
|
||||
sudo systemctl restart cups
|
||||
log::ok "Configuración de CUPS restaurada"
|
||||
}
|
||||
|
||||
if ! cupsIsInstalled; then
|
||||
log::info "CUPS no instalado, salteando"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ ! -f "$cupsArchive" ]]; then
|
||||
log::info "Sin respaldo de CUPS (secrets/cupsConfig.zip), salteando"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
util::requireSudo
|
||||
|
||||
if printersAreConfigured; then
|
||||
log::info "CUPS ya tiene impresoras configuradas, salteando restauración"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cupsTemp="$(mktemp -d)"
|
||||
trap 'rm -rf "$cupsTemp"' EXIT
|
||||
|
||||
restoreConfig
|
||||
Reference in New Issue
Block a user