tanihito’s blog

デジタル・新規事業開発・健康など、興味のあることについてつらつらと書いてきます。

ドットファイルの管理

Linuxをしばらく使っていると、.emacsなどの設定ファイルが増えてきます。僕はこれらの設定ファイルを1つのディレクトリに保存し、ホームディレクトリにリンクを張って使っています。こうすれば新しいPCに移行する際に1つのディレクトリをコピーするだけでいいですし、Gitなどで設定ファイルをバージョン管理することができます。

毎回リンクを張るのは面倒なので、ドットファイルのリンクを作成するシェルスクリプト install_dotfiles.sh を作成しました。まず、設定ファイル用ディレクトリ ($HOME/dotfilesとする) を作成し、このシェルスクリプトを入れておきます。次に、必要な設定ファイルの最初の"."を"_"に置き換え、$HOME/dotfilesに入れます。あとはシェルスクリプトを呼ぶだけで、$HOME/dotfilesの全ファイルからホームディレクトリへシンボリックリンクを作成します。設定ファイルが入れ子になっている場合は、対応するディレクトリを作成してからリンクを作成します。例えば、$HOME/dotfiles/_emacsからは$HOME/.emacsというリンクが、$HOME/dotfiles/_ssh/configからは$HOME/.ssh/configというリンクが作成されます。

使用例

$ cd $HOME/dotfiles
$ tree
├── _emacs
├── _ssh
│   └── config
└── install_dotfiles.sh
$ ./install_dotfiles.sh
$ ls -al $HOME
 .emacs -> /home/name/dotfiles/_emacs
 .ssh
$ ls -al $HOME/.ssh
 config -> /home/name/dotfiles/_ssh/config

install_dotfiles.sh