本文へスキップ
メニュー
ワークフロースキル、tmux、毎日のループツールai-usagebar24のAIプロバイダーのクォータとリセット時刻ghpending未対応のプルリクエストとIssueを1つのリストにtclockコマンドウィジェット付きのターミナル時計ai-memoryコーディングエージェントの長期メモリai-jailAIコーディングエージェント用のOSサンドボックス執筆ブログとLLMベンチマークニュースレターThe M.Akita Chronicles、毎週月曜日ポッドキャストAIについての長い対談を動画でゲームコードで管理するゲームコレクション、Omarchyで環境Omarchy、tmux、そして見送ったものフォロー
仕事のあとで

仕事ばかりではありません。私だって遊びます。

とはいえ、私にとっての息抜きは、もちろんゲームコレクションをソフトウェアプロジェクトにすることです。Steamのゲーム、エミュレーター、PC移植、デコンパイル、ファンゲーム、Modパックを、AIエージェントが1つのAnsibleリポジトリでインストールし、設定し、ドキュメントにしています。全部コンテナの中で動くので、Omarchyのデスクトップは依存関係を1つも目にしません。その上に自作のランチャーを載せて、全体をゲーム機のように使っています。

Omarchyで動く私のゲームランチャー:Banjo-Kazooie Recompiled、OutRun、Colin McRae Rallyシリーズ、Donkey Kong Country、DOOM 3など52本のカバーを並べた全画面のグリッド。上部にカテゴリのチップと並べ替えボタン。
デスクトップ上のランチャー。ゲームも移植版もエミュレーターも、中で何が動いていようと1つのグリッドに並びます。

ホストはきれいなまま

エミュレーターやWindowsゲームは、32ビットライブラリ、Wineのビルド、AURパッケージ、互いにぶつかり合うランタイムのバージョンを引き連れてきます。そのどれもデスクトップには触れません。Steamも含めてすべてgamingという名前のArch Linuxのdistrobox 1つの中にあり、ホストにはデスクトップに必要なものしかありません。

2つのパネル。コンテナなし:ホストのタワーがもつれたライブラリのブロックに埋もれ、赤い「競合」の警告が出ています。distroboxあり:同じホストは緑の点が付いてきれいなまま。隣のオレンジ色のgamingコンテナに同じブロックが整然と並び、「いつでも再構築」と書かれたAnsibleのレシピがあります。
  • Steamはボックスの中で動き、ライブラリとProtonのプレフィックスは専用ディスクに置いています
  • NVIDIAドライバーはパススルーし、32ビットライブラリの例外的な問題1つはホストではなくランチャー側で直しています
  • デスクトップエントリーはボックスが生成し、ホストの小さなスクリプトが検証してインストールし、消えたアプリのエントリーを削除します
  • セーブデータはNASにミラーし、必要なときに復元するので、ボックスを消しても何も失いません

冪等だから、壊せる

エミュレーター、設定、パッチ、Modセットはどれも1つのAnsibleロールです。playbookを2回実行しても何も変わらないので、気軽に実験したり、エミュレーター1つの設定だけ戻したり、ボックス全体を一から作り直して同じマシンを取り戻したりできます。

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
docs/にあるメモ(ゲーム、移植、修正ごとに1つ)
497
2026年4月11日以降のコミット

調べるのも書き残すのもAI

移植版、リコンパイル、手ごわいWindowsゲームのそれぞれについて、エージェントが情報源を調べ、Ansibleロールを書き、入手先、設定方法、うまくいかなかったことをメモに残しました。SteamのゲームにはProton用の互換性データベースがあり、ローカルでの修正にはそれぞれ根拠となる情報源が付いています。

使い方

いちばん簡単なのはエージェントに任せることです。リポジトリをクローンし、その中でClaude Codeを開いて、欲しいコンテナとゲームを伝えてください。プレイブックとノートはまさにそのために書かれています。

クローンして開く
git clone https://github.com/akitaonrails/distrobox-gamingcd distrobox-gamingclaude

ES-DE、Dolphin、PCSX2入りのgamingコンテナをセットアップして。ROMとBIOSは/path/to/your/gamesにある。

リポジトリにはゲーム、ROM、BIOS、その他のバイナリは含まれていません。自分で用意して、その場所をエージェントに伝えてください。

ボックスの中身

エミュレーター

フロントエンドはES-DE。単体のshadPS4、Dolphin、PCSX2、DuckStation、Flycast、xemu、RPCS3、PPSSPP、Azahar、Eden、Cemu、Supermodel、そしてコア付きのRetroArch。

PC移植、デコンプ、リコンプ

Ship of Harkinian、2Ship2Harkinian、Starship、SpaghettiKart、Render96ex、Unleashed Recompiledなどのネイティブビルド。

Windowsゲーム

Colin McRae Rally、OutRun 2006、Metal Gear Master Collectionなどを、Wineで管理してインストールし、修正を当てています。

Modも再現可能に

ゲームごとのNexusModsのModセット、PS3とSwitch用のDLCとパッチのインストーラー、ゲームごとのRPCS3設定。

Omarchy用に作った自作ランチャー

omarchy-games-menuは、OmarchyとHyprland向けのSteam風の全画面ランチャーです。gamingリポジトリが書き出すデスクトップエントリーを読むので、新しいゲームは勝手に表示され、すべてがキー1つで呼び出せます。

3つの層:ホストの板、エミュレーターとPC移植、Ansibleのレシピが入ったgamingというオレンジ色のdistroboxコンテナ、そして一番上にカバーアートが並ぶランチャーのグリッド。
  • RustのCLIであるogmがスキャン、カタログ、保存を担当し、QuickShellのオーバーレイがグリッドを描きます
  • カバーアートとメタデータはSteamGridDBから取得し、移植版とリコンプの新しいリリースはGitHubでチェックします
  • プレイ回数、名前、追加日、発売日で並べ替え。どこで文字を打っても絞り込めます
  • Hyprlandのモニター設定に合わせて拡大縮小し、Super+Gのようなキー1つで開き、ゲームは専用のワークスペースに全画面で起動します
ターミナル
yay -S omarchy-games-menu-binogm scan && ogm refreshgames-menu   # or bind it: bind = SUPER, G, exec, games-menu

ここにあるものはすべてオープンソースです

ツールもスキルもベンチマークも公開リポジトリです。フォークして、自分の働き方に合うバージョンを作ってください。