Mackup で環境構築を簡素化
はじめに
Mackup とは、設定ファイルをバックアップ / リストアするツールです。例えば、新しい Mac を購入した際に古い Mac からアプリケーションの設定データを簡単に新しい Mac に移行できます。
インストール
Homebrew でインストールします。
$ brew install mackup
サポートしているストレージ
Mackup はこちらのストレージをサポートしています。
サポートされているアププリケーション
サポートされているアプリケーションはこちらです。なお、リストにあるからといって自動的にバックアップされるわけではありません。必要に応じて設定ファイルを作成します。
設定ファイル
こちらがデフォルトで mackup backup
で利用される設定ファイルです。
デフォルトのルールが十分でない場合は、設定を追加します。設定ファイルについてはこちらに説明があります。
iTerms2
こちらがデフォルトの設定ファイルです。
2024 年 5 月 12 日現在、mackup restore
でのバックアップ保存先にデータが保存されていない状態で、はじめて mackup backup
でバックアップする際にエラーが発生します。こちらが issue です。
以下のように name
を上記のデフォルトルールと同じ名前を指定することで設定を上書きできます。これでエラーは出なくなります。
$ mkdir ~/.mackup
$ vi ~/.mackup/iterm2.cfg
[application]
name = iTerm2
[configuration_files]
Library/Preferences/com.googlecode.iterm2.plist
Library/Application\ Support/iTerm2/DynamicProfiles
VSCode
こちらがデフォルトでの設定ファイルです。
デフォルトでは、VSCode の設定ファイルはバックアップされますが、拡張機能はバックアップされません。以下のようにカスタムルールを作成することでバックアップされるようになります。
$ vi ~/.mackup/vscode-extensions.cfg
[application]
name = vscode-extensions
#バックアップしたいファイルのパス
[configuration_files]
.vscode/extensions
バックアップのドライラン
Mackup のバックアップのドライランを実行できます。ドライランを実行することで、実際にバックアップされるファイルを確認できます。
$ mackup --dry-run --verbose backup
--- 1password-4 ---
Doing nothing
/Users/hayato94087/Library/Preferences/com.agilebits.onepassword4.plist
does not exist
Doing nothing
/Users/hayato94087/Library/Preferences/ws.agile.1Password.plist
does not exist
--- 2do ---
Doing nothing
/Users/hayato94087/Library/Preferences/com.guidedways.TodoMac.plist
does not exist
--- ack ---
Doing nothing
/Users/hayato94087/.ackrc
does not exist
--- act ---
Doing nothing
/Users/hayato94087/.actrc
does not exist
バックアップ
Mackup は設定ファイルをバックアップします。
$ mackup backup
バックアップ先に保存されるか確認します。
$ tree -da ~/Dropbox/Mackup
なお、バックアップ実施後は、バックアップ対象のファイルはシンボリック化されます。例えば、/Users/hayato94087/.vscode/extensions@
は /Users/hayato94087/Dropbox/Mackup/.vscode/extensions
にシンボリック化されます。
~/.vscode ls -l /Users/hayato94087/.vscode
total 8
drwxr-xr-x 5 hayato94087 staff 160 5 12 15:52 ./
drwxr-x---+ 45 hayato94087 staff 1440 5 12 17:04 ../
-rw-r--r-- 1 hayato94087 staff 815 5 9 16:27 argv.json
drwxr-xr-x 2 hayato94087 staff 64 5 9 16:24 cli/
lrwxr-xr-x@ 1 hayato94087 staff 52 5 12 15:52 extensions@ -> /Users/hayato94087/Dropbox/Mackup/.vscode/extensions
リストア
Mackup で設定ファイルをリストアします。
$ mackup restore
まとめ
Mackup は設定ファイルをバックアップ / リストアするツールです。設定ファイルをバックアップすることで、新しい Mac に環境を簡単に移行できます。
Discussion