Slide 1

Slide 1 text

omasushiというライブラリを作った 複数のマシンで、Omarchy の環境を一部だけ共有する @polidog / PartyHard Inc.

Slide 2

Slide 2 text

自己紹介 @polidog Webアプリケーション開発者 パーティーハード株式会社という開発会社 を経営しています。 Omarchy 歴はだいたい1年ぐらい Omarchy Meetup #1 — polidog 2

Slide 3

Slide 3 text

Omarchy のプラグインも作ってます Window Map Social Poster 開いているウィンドウを、画面ごとに一覧 plugins.omarchy.org/plugin.html? id=io.github.polidog.windowmap Bluesky / Misskey / Mastodon へ投稿 plugins.omarchy.org/plugin.html? id=io.github.polidog.social-poster Omarchy Meetup #1 — polidog 3

Slide 4

Slide 4 text

omasushi とは 複数のマシンで、環境の「一部」を共有するためのツール。 dotfiles 管理や、Ansible のような構成管理に近いもの 違うのは Omarchy 専用であること そして単位が「環境まるごと」ではなく、やりたいこと1つ omasushi use polidog/omakase/ime omasushi diff # 「日本語入力」ひとまとまりを取る # このマシンに足りていないもの omasushi sync # 入れて、リンクする この単位を パック と呼ぶ。 github.com/polidog/omasushi Omarchy Meetup #1 — polidog 4

Slide 5

Slide 5 text

なぜ作ったのか 4台あるけど、全部を同じにはしたくなかった 人の設定に、乗っかりたかった Omarchy Meetup #1 — polidog 5

Slide 6

Slide 6 text

まったく同じ環境が、欲しいわけじゃない 家にあるPC4台にOmarchyを入れた。でも環境を全く同じにしたいとは思っていない。 同じでいいのは「日本語入力」「フォント」みたいなパック1つ分 違っていいのは、その機械にだけ要るもの 仕事の VPN、その画面のスケール、そこにだけ入れた実験 スペックの違いで入れたくないものもある 丸ごと同期する道具は、全部を同じにしてしまう。 欲しかったのは、違いを残せる余白のほうだった。 Omarchy Meetup #1 — polidog 6

Slide 7

Slide 7 text

人の設定に、乗っかりたい 「その keybind どうやってるの?」が、いつも口伝えかスクショ dotfiles リポジトリはその人まるごと。部分だけは取れない 設定が渡せる単位になっていれば、 人のものの上に、自分のものを積める PCの設定を、他人とコラボレーションする。 やったら面白そう、というのが出発点。 Omarchy Meetup #1 — polidog 7

Slide 8

Slide 8 text

実例 polidog/omakase omakase/ ├── ime/ fcitx5 + Mozc ├── fonts/ ├── kitty/ UDEV Gothic NF / HackGen + fontconfig kitty.conf、既定ターミナル ├── herdr/ ├── apps/ └── omarchy/ tmux風キーバインド、プラグイン、バーウィジェット Chrome / Zen / Claude Desktop バープラグイン8個、既定エージェント = codex … 1皿だけ取る omasushi use polidog/omakase … 全部取る omasushi use polidog/omakase/fonts github.com/polidog/omakase Omarchy Meetup #1 — polidog 8

Slide 9

Slide 9 text

パック1枚の中身 # fonts/omasushi.yaml description: Japanese-ready fonts (UDEV Gothic NF, HackGen) ... packages: aur: [ttf-hackgen, ttf-udev-gothic] omarchy: font: UDEV Gothic NF files: files/fontconfig/conf.d: ~/.config/fontconfig/conf.d AUR から入れて、Omarchy のフォントを設定して、fontconfig を置く。 これで「日本語がちゃんと出る」がひとつになる。 Omarchy Meetup #1 — polidog 9

Slide 10

Slide 10 text

どう積むか use した順に重なる omasushi use someone/packs/nvim omasushi use polidog/omakase/kitty # 人のを取って # 自分のを、その上に 叩いた順に、このマシンのファイルへ並ぶ: # ~/.config/omasushi/omasushi.yaml use: - someone/packs/nvim - polidog/omakase/kitty # 先に use → 下 # あとに use → 上 ぶつかったら、あとに積んだほうが勝つ このファイル自身がいちばん上。ここに書けば必ず勝つ Omarchy Meetup #1 — polidog 10

Slide 11

Slide 11 text

パックが、別のパックを引く # kitty/omasushi.yaml use: [../fonts] # kitty.conf が UDEV Gothic を指しているから omarchy: defaults: { terminal: kitty } files: files/kitty/kitty.conf: ~/.config/kitty/kitty.conf だけで、fonts も付いてくる 引かれた側は下に入る。だから kitty のほうが勝つ omasushi list は出どころを出す( fonts via kitty ) omasushi use polidog/omakase/kitty Omarchy Meetup #1 — polidog 11

Slide 12

Slide 12 text

余白は、このマシンのファイルに # ~/.config/omasushi/omasushi.yaml use: - polidog/omakase/ime - someone/packs/nvim packages: aur: [work-vpn] # 4台で共通 # この1台だけ。公開されない パックは公開されるもの。秘密は入れない publish はこのファイルを受け付けない omasushi export --local … 拾ったものを、渡さない方へ振り分ける Omarchy Meetup #1 — polidog 12

Slide 13

Slide 13 text

omasushi.dev 見つけて、流す場所 回転寿司風のサイト。レーンに1パック1皿で流れる。 リポジトリを登録すると、各 omasushi.yaml を読んで皿にする 気に入った皿は omasushi use owner/repo/pack で取れる omasushi publish # 自分のを流す。登録用 issue が埋まった状態で開く ログインなし。workflow がリポジトリを検証して、レーンに載る。 omasushi.dev Omarchy Meetup #1 — polidog 13

Slide 14

Slide 14 text

まだまだ開発途中 Go 製、v0.5.0(昨日出した)。まだ 0.x で、平気で壊す レーンに流れている皿もまだ数枚。omasushi.dev 既知の穴: omarchy font set / theme set が symlink を実体ファイルに戻してしまう パックの粒度も手探り( omarchy パックにプラグイン8個は太すぎる?) Omarchy Meetup #1 — polidog 14

Slide 15

Slide 15 text

ご清聴ありがとうございました github.com/polidog/omasushi @polidog / PartyHard Inc.