# 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
