Ir al contenido
Menú
Flujo de trabajoSkills, tmux y el ciclo diarioHerramientasai-usagebarCuota y reinicios de 24 proveedores de IAghpendingTodos los PRs e issues abiertos en una listatclockUn reloj de terminal con widgets de comandosai-memoryMemoria a largo plazo para agentes de programaciónai-jailUn sandbox del sistema para agentes de programación con IATextosEl blog y el benchmark de LLMsNewsletterThe M.Akita Chronicles, todos los lunesPodcastsConversaciones largas sobre IA, en videoJuegosMi colección de juegos como código, en OmarchySetupOmarchy, tmux y lo que dejé de ladoSígueme
Fuera de horario

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.

Mi lanzador de juegos en Omarchy: una cuadrícula a pantalla completa con 52 portadas, entre ellas Banjo-Kazooie Recompiled, OutRun, la serie Colin McRae Rally, Donkey Kong Country y DOOM 3, con chips de categoría y botones de orden arriba.
El lanzador en mi escritorio: cada juego, port y emulador en una sola cuadrícula, corra sobre lo que corra por debajo.

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.

Dos paneles. Sin contenedor: una torre Host enterrada bajo un enredo de bloques de bibliotecas con avisos rojos de Conflictos. Con distrobox: el mismo Host limpio con un punto verde y, al lado, un contenedor naranja gaming con los mismos bloques en filas ordenadas y una receta de Ansible con la etiqueta Reconstruir cuando quieras.
  • 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.

de la carpeta ansible/
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.

clonar y abrir
git clone https://github.com/akitaonrails/distrobox-gamingcd distrobox-gamingclaude

Configura 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.

Tres capas: una base Host, un contenedor distrobox naranja llamado gaming con Emuladores y Ports para PC y una receta de Ansible, y arriba una cuadrícula Lanzador con portadas.
  • 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
terminal
yay -S omarchy-games-menu-binogm scan && ogm refreshgames-menu   # or bind it: bind = SUPER, G, exec, games-menu

Todo 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.