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で管理するファイルを置く場所を設定できます
[storage]
engine = iCloud
特定のアプリケーションだけ管理する
[applications_to_sync]
zsh
特定のアプリケーションを管理しないようにする
[applications_to_ignore]
emacs
独自の管理パターンを追加する
~/.mackup
に xxx.cfg を追加することで可能。
!!! ~/.mackup.cfg
とは別のファイルなので注意!
[application]
name = sshrc
[configuration_files]
.sshrc
.sshrc.d
まとめ
特別な知識がなくてもとりあえずMackup入れておけば管理できるので新人プログラマーとしてデビューした方、あまりMacになじみにのない方から、管理を簡略したい方まで多くの人にとって便利なのではと思います。
Dropboxではファイルの過去の状態に戻ったり、消したファイルを復元することは出来ますが、Editorの設定や.zshrcの設定の変更履歴がほしい人はGitのリポジトリを中で作成し、保持することでgit logで変更履歴を見れるようにするといいと思います。
注意
Mackupはアプリケーションが独自の設定ファイルバックアップ機能があるアプリケーションには対応していないことがあります。例えば、Alfred、iTerm2はそれぞれ独自の設定ファイルバックアップを行ってください。