7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

dotfilesを簡単に管理するシェルスクリプト

Last updated at Posted at 2018-05-19

TL;DR

dotfiles

Unix系OSの設定ファイルは$HOME以下に.(ドット)から始まるファイル名をつけて保存される場合が多く,これらのファイルはdotfilesと呼ばれたりしています。
例).vimrc .screenrc, .ssh

dotfilesはあくまでもただのファイルなので,gitとシェルスクリプトなどを組み合わせてシンボリックリンクを作成することで様々な環境に設定を持ち運ぶことができます。

しかしいざdotfilesフローを作ろうとしても専用にシェルスクリプトを書かなければならなかったり,書いたシェルスクリプトが特定のシェルに依存していて動かなかったりなど結構問題が発生するものです。

ということでdotfilesを管理する為の雛形的なものを作ってみました。

dotLINKS

dotLINKSdotfilesをより簡単に管理するための雛形となるシェルスクリプトです。

可能な限り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を作成する上で次の記事を参考にさせて頂きました。この場にてお礼させていただきます。

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?