No todo es trabajo. Hasta yo necesito jugar.
Y mi idea de relajarme es, claro, convertir mi colección de juegos en un proyecto de software. Juegos de Steam, emuladores, ports para PC, decompilaciones, fan games y paquetes de mods, todo instalado, configurado y documentado por agentes de IA en un único repositorio de Ansible. Corre dentro de un contenedor, así que mi escritorio Omarchy nunca ve ni una de sus dependencias. Encima va un lanzador que escribí yo, para que todo se sienta como una consola.

El host queda limpio
Los emuladores y los juegos de Windows arrastran bibliotecas de 32 bits, builds de Wine, paquetes del AUR y versiones de runtime que se pelean entre sí. Nada de eso toca mi escritorio. Todo vive en un distrobox de Arch Linux llamado gaming, Steam incluido, y el host guarda solo lo que el escritorio necesita.

- Steam corre dentro del contenedor, con mi biblioteca y sus prefijos de Proton en su propio disco
- El driver de NVIDIA se pasa al contenedor, y el único caso raro de biblioteca de 32 bits se corrige en el lanzador, nunca en el host
- El contenedor genera las entradas de escritorio; un pequeño script en el host las valida, las instala y quita las de apps que ya no están
- Las partidas guardadas se replican en mi NAS y se restauran cuando hace falta, así que borrar el contenedor no pierde nada
Idempotente, para poder romperlo
Cada emulador, configuración, parche y conjunto de mods es un rol de Ansible. Correr el playbook una segunda vez no cambia nada, así que puedo experimentar sin miedo, restablecer la configuración de un solo emulador o reconstruir todo el contenedor desde cero y recuperar la misma máquina.
ansible-playbook site.yml # the whole box, from scratchansible-playbook site.yml # again: nothing changesansible-playbook reset-configs.yml --tags esde # reset one frontendansible-playbook backup.yml && ansible-playbook restore.ymlansible-playbook site.yml --tags verify # post-setup checks- 96
- notas en docs/, una por juego, port o arreglo
- 497
- commits desde 11 de abril de 2026
La IA investiga y lo deja por escrito
Para cada port, recompilación o juego de Windows testarudo, un agente investigó las fuentes, escribió el rol de Ansible y dejó una nota con dónde conseguirlo, cómo se configura y qué no funcionó. Los juegos de Steam tienen su propia base de compatibilidad con Proton, con cada arreglo local respaldado por una fuente.
Cómo usarlo
Lo más fácil es dejar que un agente lo haga. Clona el repositorio, abre Claude Code dentro de él y dile qué contenedor y qué juegos quieres. Los playbooks y las notas están escritos justo para eso.
git clone https://github.com/akitaonrails/distrobox-gamingcd distrobox-gamingclaudeConfigura el contenedor gaming con ES-DE, Dolphin y PCSX2. Mis ROMs y BIOS están en /ruta/a/tus/juegos.
El repositorio no incluye juegos, ROMs, BIOS ni otros binarios. Tú pones los tuyos y le dices al agente dónde están.
Qué hay en el contenedor
Emuladores
ES-DE como frontend, más shadPS4, Dolphin, PCSX2, DuckStation, Flycast, xemu, RPCS3, PPSSPP, Azahar, Eden, Cemu, Supermodel y RetroArch con sus cores.
Ports, decomps y recomps
Builds nativos como Ship of Harkinian, 2Ship2Harkinian, Starship, SpaghettiKart, Render96ex y Unleashed Recompiled.
Juegos de Windows
Instalaciones gestionadas con Wine y arreglos para juegos como Colin McRae Rally, OutRun 2006 y la Metal Gear Master Collection.
Mods reproducibles
Conjuntos de mods de NexusMods por juego, instaladores de DLC y parches para PS3 y Switch, y ajustes de RPCS3 por juego.
Mi propio lanzador, hecho para Omarchy
omarchy-games-menu es un lanzador a pantalla completa al estilo Steam para Omarchy y Hyprland. Lee las entradas de escritorio que exporta el repositorio gaming, así que un juego nuevo aparece solo, y deja todo a un atajo de teclado.

- Un CLI en Rust, ogm, hace el escaneo, el catálogo y la persistencia; un overlay de QuickShell dibuja la cuadrícula
- Portadas y metadatos de SteamGridDB, y chequeo de versiones nuevas en GitHub para ports y recomps
- Orden por más jugados, nombre, fecha de alta o fecha de lanzamiento; escribe en cualquier momento para filtrar
- Escala con la configuración de monitor de Hyprland, se abre con una tecla como Super+G, y los juegos abren a pantalla completa en un workspace propio
yay -S omarchy-games-menu-binogm scan && ogm refreshgames-menu # or bind it: bind = SUPER, G, exec, games-menuTodo lo que hay aquí es código abierto
Las herramientas, las skills y el benchmark son repositorios públicos. Haz un fork y arma la versión que encaje con tu forma de trabajar.