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 になります。
オプション
omasushi diff && omasushi sync
omasushi status [--json]今どうなっているかを見る
取っている omakase とその git の状態、このマシンの設定、未適用・未記録の件数をまとめて出します。困ったらまずこれ。
オプション
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 unlink [<name>] [--dry-run]リンクだけ外す
sync が張ったシンボリックリンクを外し、.bak に退避してあった元のファイルを戻します。名前を渡すとその omakase の分だけ。.bak がないリンクは外すと何も残らないので、最後に名前が並びます。
オプション
- --dry-run — 外さずに、外すものだけ表示
- 旧名 clean も動きます
omasushi unlink --dry-run # look first
omasushi unlink my-setup # just this omakase
omasushi unlink # every link
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