2011-07-12 4 views
2

今日、リポジトリで私のドットファイルを管理してプッシュすることに決めました。その動機は、複数のMacマシンとubuntuサーバーマシンで同じドットファイルを再利用することです。ハードコーディングされたパスを禁止するドットファイルを管理しますか?

私は現在、このような構造を考えています

├── bash 
│   ├── aliases 
│   ├── config 
│   └── env 
├── bash_profile 
├── bashrc 
├── hgrc 
├── src 
│   └── link.py 
└── vimrc 

link.py実行され、~からこのリポジトリをクローンにした場合、これまでにbashrcbash_profileのためのシンボリックリンクを作成します。

問題:1

bashrc内容:パスが相対的であるため、

source bash/env 
source bash/config 
source bash/aliases 

問題は、ファイルが見つからない、です。絶対パスを使いたくないのは、私が好きな場所にリポジトリを複製する柔軟性が失われるからです。

同様に、私のbash_profile内容:

source ./bashrc      # same problem! 
source ~/.bashrc     

私は以前、私はそれを達することができるdotfiles/bashrc~/.bashrcをシンボリックリンクするので。しかし、それはまだ私に汚れたハックのように思えます。

問題:2私は特定のマシンにカスタムしている私のパスを維持する必要があり

。確かに私はそれらをリポジトリに入れて、他のすべてのシステムを混乱させたくありません。現在私のカスタムパスは~/.profileです。私はbash/envからifでソースを調べて、それが存在するかどうかをチェックし、それ以外の場合は使用しないことを考えています。

することは良く聞くのが大好きだ、私はシンボリックリンクを使用して、そして「汚いハック」として、それを考慮していないよ

+0

は[スーパーユーザー]のユーザー質問を考えてみましょう(http://superuser.com)。 –

答えて

0

私はここに多くの応答を取得できませんでしたので、私は私が~/.bash/*

を使用してbash/*に到達できるようdotfiles/bash~/.bashをシンボリックリンクするために私src/link.pyの拡大に頼ってきましたまた、os.listdir()を実行したときにシンボリックリンクされないように、私のlink.pyにignoreリストを追加して.hgbinディレクトリを無視しました。

まだ私の2番目の問題の解決策を探していますが、特定のカスタマイズニーズを持つ各マシンのドットファイルに別々のブランチを使用できるということはどこか読んでいますが、今のところ最もクリーンな解決策です。

2

に近づきます。以前はすべてのファイルを単純にコピーしていましたが(そして、まだいくつかのファイル(bashではなく)のためにこれをやっています)、すべてのファイルは$ HOME /。何かのために "$ HOME"はい、二重引用符で拡大したが$ HOMEいませんでした。)

0

本当に遅く返信しますが、まだDFM(ドットファイルマネージャー)を確認することをお勧めします。ここで

  • は、DFMを使用して、私のドットファイルの選択です:あなたは非常にきれいな方法で持っている問題に対処DFM vicente's dotfiles
  • のGithubの公式リポジトリDFM site
関連する問題