Brew-file に別のファイルを追加で読み込める様な機能を追加しました。
外部ファイルを読み込むコマンド
Brewfileの書式に新たにfile
とbrewfile
というコマンドを加えて、
これらを使うことで外部ファイルを読み込める様にしました。
(2つは全く同じ機能。)
1 2 3 |
|
の様に書いておくと、 ~/.Brewfileの中と./${HOST}.Brewfileの中にある設定も読み込みます。
ファイルのPATHとしては上の様に$HOME
を示す~
や
環境変数も使える様になってます。
また、相対パスで書く場合には、始めのディレクトリは この設定が書いてあるファイルのあるディレクトリになります。
レポジトリをセットして居ない場合には
/usr/local/Library/Brewfile
がデフォルトのファイルの場所なので、 ここにファイルを置いた場合は./XXXと書けば読み込めます。
また、レポジトリをセットしてる場合なんかは、 同じレポジトリに入れておけば./XXXで読めます。 ディレクトリを掘って./dir/XXXみたいにしてもOK。
追加ファイルの中にさらにfile
を使って他のファイルを呼び出すことも出来ます。
その場合は相対パスのスタートはそのfile
を書いたファイルが
あるディレクトリになります。
使い方として、
file ./Cask.Brewfile
みたいにしてCaskのコマンドだけ分けたり色々細かくファイルごとに分けることが出来ます。
また、Mac毎に違う設定をしたい場合には 上の様に
file ./${HOST}.Brewfile
をメインのBrewfileに書いておいて、 Brewfileと同じ場所に Host名.BrewfileみたいなファイルをMac毎に用意しておくことも出来ます。
もっと簡単には必要な場合にはそのMacで ~/.BrewfileとHOMEに自分設定をおいておいて
file ~/.Brewfile
とメインのBrewfileに書いておくことも出来ます。
これらの設定でもし該当のファイルが存在しない場合には単に無視するので、 あるMacでは~/.Brwefileを用意して他では用意しない、 という状況でもメインのBrewfileに 上の様な記述をしておいても何も問題ありません。
また、init
等、現在のMacの状態を書き出す際には、
まず、Homebrewでインストールされている物をリストアップし、
外部ファイルに書かれた物がリストに入っているかどうか見て、
入っていない場合外部ファイルから消去します。
その後でまずリスト内の外部ファイルに書かれた ものを該当のファイルに書き出し、 残ったリストをメインのファイルに書き出します。
実際に使ってるファイル一覧は
$ brew file get_files
/usr/local/Library/rcmdnk_Brewfile/Brewfile
/usr/local/Library/rcmdnk_Brewfile/mymac.Brewfile
/Users/user/.Brewfile
の様にget_files
コマンドで取ってくることが出来ます。
最近の他のアップデート: