Chapter 08

クラウドストレージで設定を共有化しよう

zetamatta
zetamatta
2020.10.17に更新

プログラマであれば、複数のマシンで開発することも少なくありません。そうすると、セットアップ作業をそれぞれの環境で行わなければいけないわけですが、めんどい。個々のマシンでやるタスクは必要最小限にしたいですね。というわけで、コマンドライン環境の共有化を考えましょう。要はクラウドストレージに設定やファイルを置いて、そこに %PATH% を通せばよいわけです。

クラウドストレージは通常 ~\OneDrive~\DropBox (個人用) といったフォルダーを同期します。ですが、将来的に「このサービス、やめよう」となった時、フォルダーを固定すると、設定を全部書き換えなくてはいけなくなります。なので、ジャンクションで別名を作りましょう

cd %USERPROFILE%
mkdir OneDrive\Share
mklink /J Share OneDrive\Share

mklink コマンドは CMD.EXE の内蔵コマンドですが、nyagos にも互換コマンドが用意されています。

mkdir Share\bin
mkdir Share\bin64
mkdir Share\cmds
mkdir Share\etc

実行ファイルを置くディレクトリ(bin,bin64,cmds)や、設定ファイルを置くディレクトリ etc を作りました。これはサンプルなので、必ずしもこれに従う必要はありません。

bin フォルダーにパスを通しましょう。~.nyagos の末尾に設定を追加します。

nyagos.envadd('PATH','~\\Share\\bin64','~\\Share\\bin','~\\Share\cmds')

設定を etc 以下に移動します。これは…シンボリックリンクに頼らざるを得ないようです。nyagos 内蔵 su で管理者権限のコンソールを出してから

cd %USERPROFILE%
move ~\.nyagos ~\Share\etc
mklink ~\.nyagos ~\Share\etc\.nyagos
move ~\.vimrc ~\Share\etc
mklink ~\.vimrc ~\Shaare\etc\.vimrc

これで .nyagos や .vimrc の設定は共有化されます。ただし、別の端末の初回導入時の時だけは、それぞれの端末において、scooop をインストールした後、管理者権限で

cd %USERPROFILE%
mkdir OneDrive\Share
mklink /J Share OneDrive\Share
mklink .nyagos Share\etc\.nyagos
mklink .vimrc Share\etc\.vimrc

を実行しなければいけません。めんどくさいなぁ(今のところ改善策はなし)

あと、scoop なども Share 以下に移動することも可能ではあります。やろうと思えば

move scoop Share\.
mklink /D scoop Share\scoop

と出来ると思います。ですが、クラウドストレージも無料枠は有限ですし、scoop のツールは簡単に導入できるので、これを無理に共有化するのはやめときましょう。

共有フォルダーには動的なファイルを置き、なくなっても復旧が容易い静的なファイルは各マシンの個別フォルダーに置いた方がよいでしょう。