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:
2026-06-20 18:16:40 -03:00
parent ff401597be
commit bd78fd9fbe
34 changed files with 2348 additions and 2 deletions
+29
View File
@@ -0,0 +1,29 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGnK73ABEACnbytJXkjweYrwIr0aLEFRlH+C0nF44KxFc7gQmJ6PjSPMGZAD
dxZcaixU7zZl8WxEpVO0wLmIH8cf2zGOdyuZg1Yaugk1vHb2b8WBhAGCQJdPgB8W
XquedepEYtk56uP/gCoTjJDUZluEGBHnlnuujSJ4orxEdhSykEoAUfJZGEILPpMd
bphFt/Sn+Eb/TxM5jpKPdwnv8AShNF/1mZU1fWTQq9tRKJUakZj04gdaDFElQXak
CtTij+GT6yoYCARSHwGO+PC/Pr6q4tc+D7LRjxSBvUWDoFSmlqb/PJ1hj9D/7I2O
e4XXniAPWMR56KvxHlzOzrNQdJujbJdSkCwh1ZijkSd3y8ayW5WYUTGdRab99NUw
agzlabe/VVF6kzJ0Scn5q3PihB2Y9Bwo0CKnkYk7a7KT77EWv0Kkq+VHmOtqX3a2
hhX+b6a6ve9rzJ1qZYGj+obv/C3Sx1LzUjAfqVy7RJDf2uAoP5t2g8u/TkSpUxhM
VEjZBkSxYZhMyzQM6t8IgkUfnSrIPTHixbDWARZ4beMOBjxyPZK1nP7OOrNR3TkK
JtwLMQAabURCDnL0PjS0iwBTU4jtumBD1XSULyWuoTvMljrpQr1nV1oDyOt0OLqa
KA2McWtd9PdXhC8y2EIg7TmrTlJLfHYbdmkiCYj4J49Q8HWkN/6WE+RTUwARAQAB
tD5BbnRocm9waWMgQ2xhdWRlIENvZGUgUmVsZWFzZSBTaWduaW5nIDxzZWN1cml0
eUBhbnRocm9waWMuY29tPokCUQQTAQoAOxYhBDHd3iTd+rZ59C170rqpKf8afsrO
BQJpyu9wAhsPBQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJELqpKf8afsrO
l5IP/2I8X1dFy5xYczWB/coIxGjuzS/V6ByZGZZEJsbr04pmuHiFUykJqPGWGQ6q
U0YF5iEwvEkaagS5m7DzhSEf3FM3Cgafax/6d70tar9Vr1D+w6uPfxetu7u/WYJp
aolIsdh5fTrBh9zSM1Njl8FM8wG8CwZQjS33Oa7d8cwRkgdUWbt6LXgz+cTQNuBn
BgW6Ks7oZFI25dfu0ojDR+aDFJg4+4wZoyDLPvJz1SIrJ5WFGs67zsx9SfS3yZnf
XKmBe+f0dUy+GJ2nFZrXFf99+c0dPEHYO8DCeAHZizjkFrdYtUHdDU0YDYEGkLJa
bE+pgcpkHf5EvsZzHsyDbl95W/eh7pcXMbwkN+W4CBYUE9X4uHhqzWaC5yAVRWUA
1BJ9V4LjZfHPLEJt0I3TxzXiEg9/BVeaTYq9RjaxIFo9Nfk158HqJY6SA5jslBlx
Gv/No8u+xVcze2UJyGVfEIUfm92+0UAIkny3+5cuVV0ICzJxXlXj0CnLM9Lt50wE
p3suVwuBEviCbZ08eAH1Ht8gbBdSsiOkIU8CX3v/scwHHx5q0+NBL6xLrQObg13a
tRXBlKObfElkPN3lTUbUnJOW4U8uSjH8VRP+AujKWMDFe7x0zCs+iYY1mTOvbrTS
9n3CmZUmbynZ+E/QWNENpW/pDNZdWFy43PASmML5FHu4m9Sn
=oqMI
-----END PGP PUBLIC KEY BLOCK-----
+12
View File
@@ -0,0 +1,12 @@
# Orden de ejecución de los módulos STP.
# Una entrada por línea. Líneas con # son comentarios.
# El nombre corresponde a modules/<nombre>.sh
bootstrap
ssh
registry
thunderbird
claudeCode
easyEffects
wireplumber
cups
+180
View File
@@ -0,0 +1,180 @@
# Registro unificado de configuraciones STP
#
# Para agregar algo nuevo: basta con agregar una entrada a esta lista.
# El próximo run del STP detectará la entrada y la aplicará.
# Las entradas son idempotentes — ejecutar el STP múltiples veces es seguro.
#
# Tipos disponibles:
# ppa — repositorio PPA de Ubuntu
# apt — paquete del gestor apt
# snap — paquete snap
# flatpak — aplicación Flatpak
# dotfile — archivo de configuración (symlink en $HOME)
# service — servicio systemd (enable / disable / mask)
# pipewire — configuración completa de PipeWire
# video — drivers de video (detección automática de GPU)
#
# Orden importa: los PPAs deben aparecer antes de los paquetes que los requieren.
registry:
# PPAs
# - id: gitPpa
# type: ppa
# address: ppa:git-core/ppa
# Paquetes apt
# El campo "package" es opcional si el id coincide con el nombre real del paquete.
- id: curl
type: apt
- id: wget
type: apt
- id: git
type: apt
- id: vim
type: apt
- id: htop
type: apt
- id: tree
type: apt
- id: unzip
type: apt
- id: buildEssential
type: apt
package: build-essential
- id: virtualbox
type: apt
# Snaps
- id: dbeaverCe
type: snap
package: dbeaver-ce
# Flatpaks
- id: vscodium
type: flatpak
appId: com.vscodium.codium
- id: filezilla
type: flatpak
appId: org.filezillaproject.Filezilla
- id: angryIpScanner
type: flatpak
appId: org.angryip.ipscan
- id: anydesk
type: flatpak
appId: com.anydesk.Anydesk
- id: bitwarden
type: flatpak
appId: com.bitwarden.desktop
- id: bottles
type: flatpak
appId: com.usebottles.bottles
- id: bruno
type: flatpak
appId: com.usebruno.Bruno
- id: nextcloudDesktop
type: flatpak
appId: com.nextcloud.desktopclient.nextcloud
- id: easyEffects
type: flatpak
appId: com.github.wwmm.easyeffects
- id: flatseal
type: flatpak
appId: com.github.tchx84.Flatseal
- id: warehouse
type: flatpak
appId: io.github.flattool.Warehouse
- id: freecad
type: flatpak
appId: org.freecad.FreeCAD
- id: hidamari
type: flatpak
appId: io.github.jeffshee.Hidamari
- id: inkscape
type: flatpak
appId: org.inkscape.Inkscape
- id: libreoffice
type: flatpak
appId: org.libreoffice.LibreOffice
- id: logseq
type: flatpak
appId: com.logseq.Logseq
- id: obsStudio
type: flatpak
appId: com.obsproject.Studio
- id: openshot
type: flatpak
appId: org.openshot.OpenShot
# VMware Workstation/Player requiere el instalador .bundle descargado desde vmware.com.
# No puede instalarse vía registro. Creá un módulo dedicado con: /new-module vmware
# Dotfiles
# Cada entrada apunta a una carpeta dentro de dotfiles/<id>/.
# Los archivos dentro se enlazan automáticamente a su ruta equivalente en $HOME/.
# Ejemplo: dotfiles/bash/.bashrc → ~/.bashrc
# Servicios systemd
# - id: networkManager
# type: service
# name: NetworkManager # nombre real del servicio (si difiere del id)
# scope: system # system o user
# state: enable # enable, disable o mask
# PipeWire
# - id: pipewire
# type: pipewire
# replacePulseaudio: true
# packages:
# - pipewire
# - pipewire-audio
# - pipewire-pulse
# - wireplumber
# - libspa-0.2-bluetooth
# userServices:
# - pipewire
# - pipewire-pulse
# - wireplumber
# Video (detección automática de GPU con lspci)
# - id: gpuDrivers
# type: video
# drivers:
# nvidia:
# packages:
# - nvidia-driver-535
# - nvidia-settings
# amd:
# packages:
# - mesa-vulkan-drivers
# - radeontop
# - vainfo
# intel:
# packages:
# - intel-media-va-driver
# - vainfo
+14
View File
@@ -0,0 +1,14 @@
gitea:
host: gitea.mateosaldain.uy
user: mateo
repo: stp
user:
name: Mateo Saldain
email: saldainmateo@gmail.com
username: mateo
dotfiles:
# Crea symlinks de dotfiles/ hacia $HOME. Con backup:true guarda los archivos
# existentes en ~/.stp-backup/<timestamp>/ antes de reemplazarlos.
backup: true