おま寿司
kappa
polidog/omakase/apps
tamago
polidog/omakase/fonts
ootoro
polidog/omakase/herdr
salmon
polidog/omakase/ime
ootoro
polidog/omakase/kitty
kappa
polidog/omakase/omarchy
← レーンに戻る
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 エージェントに使い方を教える

パックを 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/ime   # take a pack (clone + register only)
omasushi diff                      # see what would change
omasushi sync                      # install just what is missing

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

$ omasushi diff
+ pacman          install fcitx5 fcitx5-mozc                 <- polidog/omakase/ime
+ aur             install ttf-udev-gothic                    <- polidog/omakase/fonts
+ file-link       files/kitty/kitty.conf -> ~/.config/kitty/kitty.conf   <- polidog/omakase/kitty
+ hypr-snippet    hypr/herdr.lua -> ~/.config/hypr/omasushi.d/polidog-omakase-herdr.lua <- polidog/omakase/herdr
+ hypr-loader     ~/.config/hypr/omasushi.lua (loaded from hyprland.lua)

installed but not in any pack (omasushi export <pack-dir> records them; --local keeps them on this machine):
  ? packages.aur: lazygit

ikura自分の皿を握って流す

init でリポジトリとパックの雛形を作り、export でそのパックに今のマシンを記録し、GitHub に push して publish で提出 issue を開きます。

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

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

コマンド一覧

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

取る・保つ

omasushi use <owner/repo[/pack] | url | path>パックを取る(clone して登録)

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

omasushi use polidog/omakase/herdr    # one pack
omasushi use polidog/omakase          # every pack of the repo
omasushi use ./my-packs/ime           # a local directory

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

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

オプション

  • --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]今どうなっているかを見る

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

オプション

  • --json
omasushi status

omasushi list取っているパックの一覧

名前・git かローカルか・取得元・チェックアウト先。(this machine) はこのマシン自身のファイル、(via X) は X の use: で一緒に入ってきたパックです。

$ omasushi list
polidog/omakase/kitty   git    polidog/omakase   ~/.local/share/omasushi/packs/polidog/omakase/kitty
polidog/omakase/fonts   git    polidog/omakase   ~/.local/share/omasushi/packs/polidog/omakase/fonts  (via polidog/omakase/kitty)
local                   local  ~/.config/omasushi                                          (this machine)

omasushi updateパックを最新にする

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

omasushi update && omasushi diff

omasushi remove <name>パックを返す

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

omasushi remove polidog/omakase/herdr

握る・流す

omasushi init <dir>リポジトリやパックの雛形を作る

omasushi init my-packs はリポジトリ(ルートの omasushi.yaml は名前だけ)を、omasushi init my-packs/ime はその中のパック(コメント付きの omasushi.yaml と files/ などの入れ物)を作ります。

omasushi init my-packs        # a repository of packs
omasushi init my-packs/ime    # a pack inside it

omasushi export <pack-dir> | --local今のマシンをパックに書き出す

手で入れた AUR パッケージ・Omarchy プラグイン・フォント・既定アプリのうち、取っているどのパックにも無いものを、指定したパックの omasushi.yaml に追記します。追記だけで、消したり並べ替えたりはしません。書き出したあと、その機能に関係ないものは消してください。

オプション

  • <pack-dir> — 書き込むパックのディレクトリ
  • --local — パックではなく、このマシン自身のファイル(~/.config/omasushi/omasushi.yaml)に書く。公開したくないものはこちらへ
omasushi export my-packs/ime       # into that pack
omasushi export --local            # into this machine's own file

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

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

オプション

  • --dry-run — issue の URL を表示するだけで、何も開かない
  • --submit-repo <owner/repo>(または $OMASUSHI_SUBMIT_REPO)— 別の提出先リポジトリ
cd my-packs
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 があり、パックは要りません。新しく 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

共通オプション

これだけはコマンドより前に置きます(例:omasushi -f ./ime diff)。

  • -f <dir> — このマシンのファイルではなく、指定したパック(またはパックのリポジトリ)だけを対象にします。パックを書いている最中の動作確認に。パックを 1 つも取っていない場合は今いるディレクトリが既定です。
omasushi -f ./ime diff   # only this pack
omasushi -f . diff       # every pack of the repository you stand in

覚えておくこと

  • tamago何も消しません。sync が入れるのは足りないものだけで、アンインストールはしません。置き換えられる dotfile は .bak として残ります。
  • tamagoパックは重ねられます。use を繰り返すと後から取ったほうが勝ちます。list の (via X) は、X が use: で連れてきたパックです。
  • tamago秘密は入れないでください。パックは公開リポジトリが前提です。トークンや鍵は files: に載せないこと。
  • tamagoマシン固有のもの・公開したくないものは ~/.config/omasushi/omasushi.yaml に。取ったパックの上に、このマシンだけの packages: や files: を書けます(omasushi export --local)。
  • tamagohyprland のキーバインドは files: で bindings.lua を丸ごと持たず、hypr: のスニペットにしてください。複数のパックが同時にバインドを足せます。
  • tamagoomarchy font set / theme set はターミナルの設定を書き換えるので、シンボリックリンクがただのファイルに戻ります。新しいファイルをパックにコピーして、もう一度 sync してください。
  • tamagoArch 系 + Omarchy が前提です(omarchy / yay を呼びます)。それ以外の環境でも diff は動きますが、sync の多くは失敗します。
  • tamago置き場所は、このマシンのファイルが ~/.config/omasushi/omasushi.yaml、取ったリポジトリの clone が ~/.local/share/omasushi/packs/<owner>/<repo> です(XDG_CONFIG_HOME / XDG_DATA_HOME があればそちらに従います)。

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