おま寿司
ebi
polidog/omakase
← レーンに戻る
ootoro

omasushi コマンドの使い方

皿を取るのも、自分の皿を握って流すのも、この 1 本の CLI でやります。インストールから、よく使う流れ、コマンド 1 つずつの説明まで。

インストール

Linux (amd64 / arm64) のビルド済みバイナリがリリースページにあります。Go が入っているなら go install が手軽です。

ビルド済みバイナリを置く

# Linux amd64 / arm64 — https://github.com/polidog/omasushi/releases
tar -xzf omasushi-v0.2.0-linux-amd64.tar.gz \
  --strip-components=1 --wildcards -C ~/.local/bin '*/omasushi'

Go でビルドする

go install github.com/polidog/omasushi/cmd/omasushi@latest

~/.local/bin に PATH が通っていることを確認してください。omasushi version が答えればインストール完了です。

GitHub の README →

おまけ:バーのウィジェット

Omarchy のバーに未適用の件数を出し、その場で sync できます(omasushi diff --json を読んでいます)。

omarchy plugin add \
  https://github.com/polidog/omarchy-omasushi.git --enable

おまけ:AI エージェントに使い方を教える

omakase を 1 つも取らずに、omasushi の使い方だけをエージェントのグローバル skills に入れられます。skill はバイナリに同梱されているので、追加のダウンロードは不要です。

omasushi skill install
omasushi skill install --agent codex
# claude | codex | gemini | copilot | opencode

よく使う流れ

salmon人の皿を取る

use は clone して登録するだけ。実際にマシンを触るのは sync だけなので、その前に diff で中身を確かめられます。

omasushi use polidog/omakase   # take a plate (clone + register only)
omasushi diff                  # see what would change
omasushi sync                  # install just what is missing

diff の出力はこんな感じです(どの皿から来た項目かが右に出ます):

$ omasushi diff
+ pacman          install kitty neovim                       <- polidog/omakase
+ aur             install udev-gothic-nf                     <- polidog/omakase
+ file-link       files/kitty/kitty.conf -> ~/.config/kitty/kitty.conf   <- polidog/omakase
+ skill-link      skills/omasushi -> ~/.claude/skills/omasushi           <- polidog/omakase

installed but not in any omakase (run `omasushi export` to record them as yours):
  ? packages.aur: lazygit

ikura自分の皿を握って流す

init で雛形を作り、export で今のマシンを記録し、GitHub に push して publish で提出 issue を開きます。

omasushi init my-omakase && cd my-omakase
omasushi export                       # record this machine
cp ~/.config/kitty/kitty.conf files/  # then map it under files:
git init && git add . && git commit -m "my setup"
gh repo create --public --push
omasushi publish                      # opens the submission issue

export は追記のみです。手で書いた説明や並びは壊しません。書き出したあとに omasushi.yaml を読んで、いらないものを消してから commit するのがおすすめです。

コマンド一覧

書き方は omasushi <コマンド> [引数] です。-f と -H だけはコマンドの前に置きます。

取る・保つ

omasushi use [--mine] <owner/repo[/part] | url | path>omakase を 1 皿取る(clone して登録)

owner/repo・URL・ローカルパスを受け取ります。owner/repo は分割リポジトリの全 part、owner/repo/<part> はその part だけ。何度でも重ねられ、設定がぶつかったら後から取ったほうが勝ちます。use: を書いてある皿なら、土台にしている皿も一緒に入ります。

オプション

  • --mine — 自分の omakase として印を付ける(export の既定の書き込み先になります)
omasushi use polidog/omakase          # every part of the repo
omasushi use polidog/omakase/herdr    # just one part
omasushi use --mine you/my-setup      # and mark it as yours
omasushi use ./my-omakase             # a local directory

omasushi diff [--json]sync が何をするかを見る

omakase と実機を比べて、足りないパッケージ・プラグイン・リンクを並べます。マシンには一切触りません。どの皿由来かが <- のあとに出ます。

オプション

  • --json — バーのウィジェットが読む機械可読な出力
  • 旧名 plan も動きます
omasushi diff
omasushi diff --json | jq '.actions | length'

omasushi sync足りないものだけ入れる

diff に出た内容をそのまま実行します。呼ぶのは omarchy / herdr / yay の各コマンドで、何かをアンインストールすることはありません。dotfile を置き換えるときは、元のファイルを .bak に退避してからリンクします。途中で失敗した項目があっても残りは実行され、最後に exit 1 になります。

オプション

  • 旧名 apply も動きます
omasushi diff && omasushi sync

omasushi status [--json]今どうなっているかを見る

取っている omakase とその git の状態、このマシンの設定、未適用・未記録の件数をまとめて出します。困ったらまずこれ。

オプション

  • --json
omasushi status

omasushi list取っている皿の一覧

名前・git かローカルか・取得元・チェックアウト先。(mine) は自分の omakase、(via X) は X の use: で一緒に入ってきた皿です。

$ omasushi list
my-setup   git    you/my-setup      ~/.local/share/omasushi/omakases/my-setup  (mine)
herdr      git    polidog/omakase   ~/.local/share/omasushi/omakases/omakase   (via my-setup)

omasushi update皿を最新にする

登録済みの omakase を全部 git pull します。インストール済みの omasushi skill もこのとき書き直されます。取り込むのは別なので、update のあとに diff → sync してください。

omasushi update && omasushi diff

omasushi remove <name>皿を返す

その omakase を忘れます。張ったリンクは外れ、管理下の clone も消えます。パッケージは入ったままです(omasushi は何もアンインストールしません)。

omasushi remove herdr

omasushi mine [<name> | none]自分の omakase を決める

export の既定の書き込み先になります。引数なしで今の設定を表示、none で解除。omasushi use --mine <repo> でも同じことができます。

omasushi mine            # what is mine right now?
omasushi mine my-setup
omasushi mine none

握る・流す

omasushi init [dir]omakase の雛形を作る

omasushi.yaml とコメント付きの雛形、files/ などの入れ物を作ります。ディレクトリ名を省略すると今いる場所に作ります。

omasushi init my-omakase && cd my-omakase

omasushi export [--to <omakase>] [--host <name>]今のマシンを omakase に書き出す

手で入れた AUR パッケージ・Omarchy プラグイン・フォント・既定アプリを omasushi.yaml に追記します。追記だけで、消したり並べ替えたりはしません。mine を決めてあればそこへ、決めていなければ --to で行き先を指定します。use: で土台にしている皿が既に持っているものは混ざりません。

オプション

  • --to <name> — 書き込む omakase
  • --host <name> — hosts.<name> の下に書く(GPU やモニタなど、そのマシン固有のもの)
omasushi export                    # into your own (mine)
omasushi export --to my-setup
omasushi export --host laptop      # under hosts.laptop

omasushi publish [<name> | <repo> | <path>] [--dry-run]レーンに流す

origin から owner/repo を読み、omasushi.yaml が commit & push 済みかを確かめて、記入済みの「Submit an omakase」issue をブラウザで開きます。Submit を押すと GitHub Actions が検証し、通れば皿の URL がコメントされます。

オプション

  • --dry-run — issue の URL を表示するだけで、何も開かない
  • --submit-repo <owner/repo>(または $OMASUSHI_SUBMIT_REPO)— 別の提出先リポジトリ
cd my-omakase
omasushi publish             # reads the git remote
omasushi publish owner/repo  # or say which one
omasushi publish --dry-run   # just print the issue URL

その他

omasushi skill install|update|remove|list [--agent <name>]CLI の使い方をエージェントに入れる

同梱の omasushi skill を ~/.claude/skills/omasushi などにコピーします。install / update / remove / list があり、omakase は要りません。新しく go install したあとは update で書き直してください。

オプション

  • --agent <name> — claude / codex / gemini / copilot / opencode(既定は Omarchy の既定エージェント)
omasushi skill install                 # the default agent
omasushi skill install --agent codex
omasushi skill list

omasushi versionバージョンを表示

不具合を報告するときはこの出力を添えてください。

$ omasushi version
omasushi v0.2.0

共通オプション

この 2 つだけはコマンドより前に置きます(例:omasushi -f omasushi.yaml diff)。

  • -f <path> — 登録済みの omakase ではなく、指定した omasushi.yaml 1 つだけを対象にします。omakase を書いている最中の動作確認に。omakase を 1 つも取っていない場合は ./omasushi.yaml が既定です。
  • -H <host> — hosts.<host> の上書きを、そのマシンにいるものとして解決します。別のマシン向けの設定を手元で確かめるときに。
omasushi -f omasushi.yaml diff   # only this manifest
omasushi -H laptop diff          # as if on the host "laptop"

覚えておくこと

  • tamago何も消しません。sync が入れるのは足りないものだけで、アンインストールはしません。置き換えられる dotfile は .bak として残ります。
  • tamago皿は重ねられます。use を繰り返すと後から取ったほうが勝ちます。list の (via X) は、X が use: で連れてきた皿です。
  • tamago秘密は入れないでください。皿は公開リポジトリが前提です。トークンや鍵は files: に載せないこと。
  • tamagoマシン固有のものは hosts.<hostname> に。GPU ドライバやモニタ配置など。-H で別マシンの分も確認できます。
  • tamagoomarchy font set / theme set はターミナルの設定を書き換えるので、シンボリックリンクがただのファイルに戻ります。新しいファイルを omakase にコピーして、もう一度 sync してください。
  • tamagoArch 系 + Omarchy が前提です(omarchy / yay を呼びます)。それ以外の環境でも diff は動きますが、sync の多くは失敗します。
  • tamago置き場所は、設定が ~/.config/omasushi/config.yaml、取った皿の clone が ~/.local/share/omasushi/omakases/<name> です(XDG_CONFIG_HOME / XDG_DATA_HOME があればそちらに従います)。

おま寿司 · ごちそうさまでした · お会計 0 円 · CLI on GitHub