Files
STP/bootstrap.sh
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

41 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Corré esto en una máquina nueva. Clona el repo STP y lanza stp.sh.
#
# Uso:
# bash <(curl -fsSL https://gitea.mateosaldain.uy/mateo/stp/raw/branch/main/bootstrap.sh)
#
# O descargá y ejecutá manualmente:
# curl -fsSLo bootstrap.sh https://gitea.mateosaldain.uy/mateo/stp/raw/branch/main/bootstrap.sh
# bash bootstrap.sh
set -euo pipefail
readonly giteaHost="gitea.mateosaldain.uy"
readonly giteaUser="mateo"
readonly repoName="stp"
readonly cloneUrl="https://${giteaHost}/${giteaUser}/${repoName}.git"
cloneDir="${stpDir:-$HOME/.stp}"
echo "=== Sistema de Transferencia Personal ==="
echo ""
if ! command -v git &>/dev/null || ! command -v curl &>/dev/null; then
echo "-> Instalando git y curl..."
sudo apt-get update -qq
sudo apt-get install -y git curl
fi
if [[ -d "$cloneDir/.git" ]]; then
echo "-> Actualizando repositorio STP en $cloneDir..."
git -C "$cloneDir" pull --ff-only
else
echo "-> Clonando repositorio STP en $cloneDir..."
git clone "$cloneUrl" "$cloneDir"
fi
chmod +x "$cloneDir/stp.sh"
echo ""
echo "-> Lanzando STP..."
exec bash "$cloneDir/stp.sh" "$@"