macOSSetting macOS Homebrew 2019年 5月 24日
mackup は各種設定ファイルを iCloud や Dropbox などに保存しておき,複数のマシンで同期する仕組みである. mackup を用いることで,Unix 関係の設定ファイルも同期が可能ではある. ただし,こちらは直接エディタで記述するし,基本的に git で管理したい. そのため,dotfiles の中に直接保存し,deploy.sh で同期するようにしている.
mackup で対応できるアプリはかなり多い.詳細は mackup のアプリケーションリスト を参考にすればよい.今回は iCloud に,iTerm2 の設定だけを同期するテストをやってみる(具体的に何を同期するかは後でゆっくりと決める). mackup の設定手順を以下に記録しておく.
[storage]
engine = icloud
[applications_to_sync]
iTerm2
~/dotfiles/bootstrap.sh
$ 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 ...
最後に後処理で実施したいスクリプトを記載する.とりあえず今のところ気になるのは,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
#!/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 が届くのを待つのみ.