dotfiles, アプリケーションの設定をMackupで管理する

  • 20
    いいね
  • 0
    コメント

Macでdotfilesやアプリケーションの設定のバックアップをどうやって管理してますか

dotfilesとは

.zprofile, .gitconfig, .bashrc など先頭に.がつく設定ファイル。

今までほかの人はどうやって管理してたか

qiitaでdotfiles タグを検索すると幾つか出てきます。

その多くは

  • githubで管理する
  • gitのrepositoryの中にdotfilesを配置する
  • シンボリックリンクを貼るscriptを作成する

という流れです。

このやり方でももちろん出来ますが、

  • dotfileが増えるたびに自分でコミットする必要がある
  • 初心者に教えるにはある程度説明が必要になる

などの問題があります。

Mackupで管理する

Mackupでは

  • Dropboxを使う(保存場所は変更可能)
  • dotfilesをDropboxなどのフォルダに配置する
  • シンボリックリンクを貼る

とほぼおなじ事を行っています。それを

mackup backup

のコマンドを1発叩くだけでやってくれます。便利!

インストール

brew install mackup

使い方

mackup backup

設定をバックアップします。裏ではこんな感じでうごいてます。

cp ~/.gitconfig ~/Dropbox/Mackup/.gitconfig
rm ~/.gitconfig
ln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig

mackup restore

設定をリストアします。リストアといってもシンボリックリンクを貼るだけ。

Mackupが対応しているツール

mackup list

で確認することが出来ます。
Atom, SublimeText, Vim, Emacsなど多くのEditorの設定ファイルにも対応してます。

またはMackupのリポジトリのapplicationsフォルダを直接見るとどのファイルが対象かも確認できるので参考になると思います。
https://github.com/lra/mackup/tree/master/mackup/applications

Mackupの設定

公式のドキュメントに書いてますが抜粋。

Storage

Mackupで管理するファイルを置く場所を設定できます

~/.mackup.cfg
[storage]
engine = iCloud

特定のアプリケーションだけ管理する

~/.mackup.cfg
[applications_to_sync]
zsh

特定のアプリケーションを管理しないようにする

~/.mackup.cfg
[applications_to_ignore]
emacs

独自の管理パターンを追加する

~/.mackup に xxx.cfg を追加することで可能。

~/.mackup/sshrc.cfg
[application]
name = sshrc

[configuration_files]
.sshrc
.sshrc.d

まとめ

特別な知識がなくてもとりあえずMackup入れておけば管理できるので新人プログラマーとしてデビューした方、あまりMacになじみにのない方から、管理を簡略したい方まで多くの人にとって便利なのではと思います。

Dropboxではファイルの過去の状態に戻ったり、消したファイルを復元することは出来ますが、Editorの設定や.zshrcの設定の変更履歴がほしい人はGitのリポジトリを中で作成し、保持することでgit logで変更履歴を見れるようにするといいと思います。

注意

Mackupはアプリケーションが独自の設定ファイルバックアップ機能があるアプリケーションには対応していないことがあります。例えば、Alfred、iTerm2はそれぞれ独自の設定ファイルバックアップを行ってください。