💡
この記事は Middleman 時代に書いた古いものです。記録のため、astro-notion-blog に移行していますが、あまり参考にしないでください。
mackup の設定
mackup は各種設定ファイルを iCloud や Dropbox などに保存しておき,複数のマシンで同期する仕組みである. mackup を用いることで,Unix 関係の設定ファイルも同期が可能ではある. ただし,こちらは直接エディタで記述するし,基本的に git で管理したい. そのため,dotfiles の中に直接保存し,deploy.sh で同期するようにしている.
mackup で対応できるアプリはかなり多い.詳細は mackup のアプリケーションリスト を参考にすればよい.今回は iCloud に,iTerm2 の設定だけを同期するテストをやってみる(具体的に何を同期するかは後でゆっくりと決める). mackup の設定手順を以下に記録しておく.
-
まずは設定がちゃんとされている rMBP の方で作業する. mackup の設定ファイルはまだないので,dotfiles/.mackup.cfg に最低限のものだけを記載する. デフォルトで設定されている Dropbox は3台までという制限が入ってしまったので, ここでは iCloud を engine とした.
[storage] engine = icloud [applications_to_sync] iTerm2
- このファイルをリポジトリにコミットして,bitbucket に push しておく
-
mackup の設定ファイルをホームに置きたいので,rMBP 側でも bootstrap.sh を動かしてみる.ソフトは全てインストールされているので,特に時間もかからず終わるはず.
~/dotfiles/bootstrap.sh
-
mackup の設定ファイルがホームに置かれたので,rMBP 側で mackup による backup を実行する.iCloud にフォルダがないと指摘されているので,Yes として作成した.
$ mackup backup Mackup needs a directory to store your configuration files Do you want to create it now? </Users/hkob/Library/Mobile Documents/com~apple~CloudDocs/Mackup> <Yes|No>Yes Backing up Library/Preferences/com.googlecode.iterm2.plist ...
- 後は mini 側でも同様に ~/dotfiles/bootstrap.sh を実行すればよい.
initialize.sh の設定
最後に後処理で実施したいスクリプトを記載する.とりあえず今のところ気になるのは,TeX Live/Mac のヒラギノ設定くらいだろうか.
-
まずやりたいことを以下のように記載してみた.
#!/usr/bin/env bash set -e TLMGR_REPOSITORY=http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet echo "TeX Live update (require password)" sudo tlmgr option repository $TLMGR_REPOSITORY sudo tlmgr update --self --all --no-persistent-downloads MACTEX_SETTLED="$HOME/.mactex_settled" if [ ! -e "$MACTEX_SETTLED" ]; then sudo tlmgr repository add http://contrib.texlive.info/current tlcontrib sudo tlmgr pinning add tlcontrib '*' sudo tlmgr install japanese-otf-nonfree japanese-otf-uptex-nonfree ptex-fontmaps-macos cjk-gs-integrate-macos sudo cjk-gs-integrate --link-texmf --cleanup sudo cjk-gs-integrate-macos --link-texmf sudo mktexlsr sudo kanji-config-updmap-sys --jis2004 hiragino-highsierra-pron touch $MACTEX_SETTLED fi
- 最初に rMBP で動くことを確認してみた.こちらも MacTeX 2019 を入れたばかりだったので,正しく日本語設定できることを確認できた.
-
これで問題なしと mini 側で実行するとうまく動かなかった.sudo しているので,http_proxy が引き継がれないためだ. env_keep を /etc/sudoers に追記をすればよいのだが,ここまでの自動化はちょっと怖いので bootstrap.sh の頭でチェックだけ行い,ユーザに visudo してもらうことにした.
#!/usr/bin/env bash echo "check env_keep(http_proxy, https_proxy) in /etc/sudoers (require password)" ENV_KEEP=$(sudo grep http_proxy /etc/sudoers) if [ "X${ENV_KEEP}" = "X" ]; then echo '======' echo 'Please add the following two lines in /etc/sudoers using "sudo visudo"' echo 'Defaults env_keep += "http_proxy"' echo 'Defaults env_keep += "https_proxy"' exit fi set -eu # ここから先は同じ DOTPATH=$HOME/dotfiles
これで全て完了した. mackup に登録すべきものの精査をするとともに,dotfiles も手を入れたいと思う. 後は新しい MacBook Pro が届くのを待つのみ.