リモートワーク用の環境を構築するときはアカウントを分けるとよさそう
リモートワーク用に私物 PC へ別アカウントを作成し、作業環境を分けた際のセットアップ手順。
Homebrew をアカウント別にインストールする
デフォルトの /usr/local にインストールすると全アカウントで共有され、更新時に sudo が必要になる。ホームディレクトリ配下に置けば sudo 不要になる。
mkdir -p "${HOME}/.brew"
curl -L https://github.com/Homebrew/brew/archive/master.tar.gz \
| tar xz --strip-components=1 -C "${HOME}/.brew"
export PATH=${HOME}/.brew/bin:${PATH}
dotfiles を複数アカウントで共有する
dotfiles は同じリポジトリを使いたいが、GitHub アカウントが異なる場合は SSH 鍵を使い分ける。git config core.sshCommand でリポジトリごとに鍵を指定できる。
mkdir -p ~/.ssh/projects/github.com/
ssh-keygen -t ed25519 -N "" -C "" -f ~/.ssh/projects/github.com/${USER}_id_ed25519
git config core.sshCommand "ssh -i ~/.ssh/projects/github.com/${USER}_id_ed25519"
PS1 にアカウント識別用の絵文字を設定する
複数アカウントを su で行き来するとどちらで作業しているか紛らわしい。ユーザー名から決定論的に絵文字を生成して PS1 に入れておくと識別しやすい。
icon=$(echo -ne $((127744 + 16#$(whoami|md5sum|cut -c-8)%512))|awk '{printf("%3c",$1)}')
機密ファイルを暗号化して Git 管理する
SSH 鍵やパスワードを Git リポジトリで管理し、Google Drive 経由で別端末に持ち込んだ。機密データを平文でコミットしないよう git encrypt コマンドを自作して暗号化した。