同期モード
normal、secret、ignoreの3つのモードの違いと使い方。
トラッキングされたすべてのエントリには同期モードがあり、pushやpull時のdotweaveの動作を制御します。normal、secret、ignoreの3つのモードがあります。
| モード | syncディレクトリに保存 | 暗号化 | push/pullで同期 |
|---|---|---|---|
normal | はい | なし | はい |
secret | はい(.ageサフィックス付き) | はい(age) | はい |
ignore | いいえ | — | いいえ |
normal(デフォルト)
Section titled “normal(デフォルト)”ファイルはそのままsyncディレクトリにコピーされます。変換も暗号化もなし — 見たままがそのまま保存されます。
dotweave track ~/.gitconfigdotweave track ~/.config/starship.tomldotweave track ~/.config/nvimこんなファイルに最適: シェル設定(.zshrc、.bashrc)、エディタ設定、Git config、.tmux.confやstarship.tomlのようなツール設定 — 基本的にシークレットを含まないものすべて。
secret
Section titled “secret”ファイルはsyncディレクトリに保存される前にageで暗号化されます。保存されたファイルには.ageサフィックスが付きます。
dotweave track ~/.ssh/config --mode secretdotweave track ~/.config/gh/hosts.yml --mode secretdotweave track ~/.aws/credentials --mode secretこんなファイルに最適: SSHキーと設定、APIトークン、本番のクレデンシャルを含む.envファイル、GPGキー — リポジトリが公開された場合に露出させたくないもの。
pull時に、dotweaveはageプライベートキーでファイルを復号してからディスクに書き込みます。セットアップの詳細はシークレットファイルの同期をご覧ください。
ignore
Section titled “ignore”エントリはmanifest.jsoncに残りますが、pushやpull時には完全にスキップされます。何も読み書きされず、転送もされません。
dotweave track ~/.config/some-tool/cache --mode ignoredotweave track ~/.local/share/generated-config --mode ignoreこんな場面に最適:
- 設定ファイルからエントリを削除せずに一時的に無効化したい場合
- 別のプラットフォームでは同期すべきでないOS固有のファイル
- 記録しておきたいが複製はしたくないマシン固有の設定
モードを変更する
Section titled “モードを変更する”dotweave trackを新しい--modeフラグ付きで再度実行すると、既存のエントリが更新されます:
# 元々normalでトラッキングdotweave track ~/.ssh/config
# secretにアップグレードdotweave track ~/.ssh/config --mode secretエントリごとのオーバーライド
Section titled “エントリごとのオーバーライド”トラッキング中のディレクトリ内でモードを混在させることができます。例えば、ディレクトリをnormalでトラッキングしつつ、特定のファイルだけsecretにオーバーライドできます:
dotweave track ~/.config/my-tooldotweave track ~/.config/my-tool/credentials.json --mode secretディレクトリは通常通り同期されますが、その中のcredentials.jsonは暗号化されます。子エントリは常に親エントリより優先されます。