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