TL;DR
-
dotfiles
を簡単に管理するための雛形(dotLINKS)を作った - https://github.com/zeriyoshi/dotLINKS
- 使用例 : https://github.com/zeriyoshi/dotLINKS_zeriyoshi
dotfiles
Unix系OSの設定ファイルは$HOME
以下に.
(ドット)から始まるファイル名をつけて保存される場合が多く,これらのファイルはdotfiles
と呼ばれたりしています。
例).vimrc
.screenrc
, .ssh
dotfiles
はあくまでもただのファイルなので,git
とシェルスクリプトなどを組み合わせてシンボリックリンクを作成することで様々な環境に設定を持ち運ぶことができます。
しかしいざdotfiles
フローを作ろうとしても専用にシェルスクリプトを書かなければならなかったり,書いたシェルスクリプトが特定のシェルに依存していて動かなかったりなど結構問題が発生するものです。
ということでdotfiles
を管理する為の雛形的なものを作ってみました。
dotLINKS
dotLINKSはdotfiles
をより簡単に管理するための雛形となるシェルスクリプトです。
可能な限りPOSIX
標準に準拠するよう書かれており,Unix系のシステム,かつBourne Shell
系のシェル(bash, zsh等)であれば(多分)使用することができます。
使い方
初期設定
git
を用いてリポジトリをクローンします。
$ git clone https://github.com/zeriyoshi/dotLINKS
クローンしてきたディレクトリに移動し,./dotlinks.sh init
を実行します。
設定するリモートリポジトリのURLを聞かれるので,GitHubなどで作成した自分用のdotfiles
リポジトリのアドレスを指定します。
$ ./dotlinks.sh init
Checking git installed status...OK
Your dotLINKS remote repository : ここ
次にhome
以下に必要なdotfiles
をコピーまたは作成してください。
.ssh
などのディレクトリになっているものもそのままコピーするだけでOKです。
一通り作成したら./dotlinks.sh link
を実行することでシンボリックリンクが作成されます。
特に問題なさそうならgit add home
したあとgit commit
してgit push -u origin master
してあげれば完了です。
別の環境で使用する
dotfiles
を使用したい環境で初期設定で設定したリモートリポジトリをclone
した後,./dotlinks.sh link
するだけで完了です。
シンボリックリンクを削除する
シンボリックリンクを削除するには./dotlinks.sh unlink
を実行してください。不要になったディレクトリがあればそれも自動で削除されます。
dotLINKSを更新する
./dotlinks.sh upgrade
を実行することでdotLINKS
自体を更新することが出来ます。
**自身でdotlinks.sh
を編集していた場合には使用できません。**手動でmerge
する必要があります。
注意点
秘密鍵やSSH接続先など知られてはまずいものをGitHubへcommit
しないように注意しましょう。
その他
./dotlinks.sh usage
または単に./dotlinks.sh
として実行すると使用可能なコマンドと説明が表示されます。
dotLINKS version 0.0.4 (https://github.com/zeriyoshi/dotLINKS)
Usage:
./dotlinks.sh [command]
Commands:
init Initialize dotLINKS.
link Link symbolic links.
unlink Unlink symbolic links.
upgrade Upgrade dotLINKS.
version Show version.
usage Show usage.
参考
シェルスクリプト上にもコメントで記載しておりますが,dotLINKS
を作成する上で次の記事を参考にさせて頂きました。この場にてお礼させていただきます。