Edited at

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


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.cfgとは別のファイルなので注意!


~/.mackup/sshrc.cfg

[application]

name = sshrc

[configuration_files]
.sshrc
.sshrc.d



まとめ

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

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


注意

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