は私が
は、家庭内のディレクトリが
.host_configs/
と呼ば作る...あなたは私が何をしてきたと同様にすることができる何をしたいと思います。これはバージョン管理されています。または、私の場合は中央のコンピュータ上の特別なフォルダにあります。私はそれを新しいマシンでスクロールします。その中には、異なる設定が必要なすべてのホスト用のフォルダがあります。各ホストのフォルダには、そのマシンの短いホスト名の後に名前を付ける必要があります。だからあなたのGitのレポであなたが持っている:
各ホストの特定のフォルダに
.host_configs/
homecomp1/
girlfriendcomp1/
workcomp1/
workcomp2/
は、その特定のボックスのために、設定ファイルをなどの.vimrc、.irbrcを置きます。 さらに、各ホストフォルダに.[SHORT_HOST]_rc
というファイルを作成します。たとえば、あなたのマシンが "sane"という名前であれば、.sane_rcという名前のファイルがあります。このファイルには、通常そのホストに固有の.bashrcにある行が含まれます。たとえば、Macの場合、色がついているls
のほとんどのnixマシンでalias ls='ls --color=auto'
の代わりにalias ls='ls -GF'
が必要な場合は、そのマシンの.[SHORT_HOST]_rc
にその行を置き、通常どおりの特殊な関数や宣言などがあれば.bashrcまたは.profileなど(または場合によっては.zshrc、.tschrc)。
.host_configs/
homecomp1/
.homecomp1_rc #special shell configs for this hostname
.vimrc #you know the rest
.irbrc
.Xresources
girlfriendcomp1/
.girlfriendcomp1_rc
.vimrc
.bubblebathrc
workcomp1/
.workcomp1_rc
.bashrc
.vimrc
workcomp2/
.workcomp2_rc
.bashrc
.vimrc
私は私のすべてのマシン上のすべての同じベアボーンの$ HOME/.bashrcのを(または〜/ .tshrcなど)を使用しますので、バージョン管理~/.host_configs/
フォルダは次のようになります。問題のディストリビューションに付属している基本的なものをとり、すべてのホスト固有の設定を.host-configs/[SHORT_HOST]/.[SHORT_HOST]_rc
ファイルに移動するだけです。
($HOME/.bashrc
の)一番下にこれを置く:
export SHORT_HOST="sane"
for file in `find ~/.host_configs/$SHORT_HOST -name ".*"`
do
ln -s $file `basename $file`
done
source ~/`.$SHORT_HOST`_rc
(ホストするために、ドットのすべてのファイルを検索し、~/.host_configs/foo_host
フォルダに家にシンボリックリンクを作ります)。 ドットファイルは通常の場所にありますが、バージョンコントロールにシンボリックリンクされています。上記はまた、あなたの[$SHORT_HOST]_rc
ファイルのすべての行を.bashrcに入れます。
変更があったときはいつでも~/.host_configs/
フォルダからgitにコミットできます。
これはシェルではおそらく必要なものですが、他の機能が必要な場合は、同じ原則(外部の.rcファイルを.bashrcに組み込み、すべての設定をシンボリックリンク構造化されたバージョン管理フォルダへのファイル)を、シェルよりも多用途/醜いものにします。
export SHORT_HOST="sane"
ruby ~/import_conf.rb $SHORT_HOST
...とホームのほかに、いくつかのディレクトリに特定の設定ファイルを配置するように、より複雑なのconf管理を行うには、あなたのimport_conf.rbを書き込み、または:だからではなく、あなたの.bashrcで上記の、があるかもしれません.ssh /、.subversion /などの設定フォルダを扱っています。これは私がやっていることです。それはかなりエレガントですが、もっと良い解決法があるかもしれません。あなたがサードパーティーに頼っているにもかかわらず、いくつかの創造的なシンボリックリンクを備えたDropboxは優れたアイデアであり、あなたはグラフィカルな環境にいなければなりません。また、Linuxでシンボリックリンク+ DropboxでできることとWindowsで再生したいものを実装した場合にはショートカット + dropboxとの間に矛盾があることにも注意してください。
で書かれました、はい、人々は最も確かに設定ファイルのリビジョンコントロールを使用します。私は特にウィンドウマネージャーの設定ファイルのためにそれを見るが、GitHubで "config"を検索して何を得るかを見てみるだけだ。 –