colimaを使い始めてからmacOSを再起動するたびに設定などがまっさらになるという自体に頭を抱えていた。
これは XDG_CONFIG_HOME
以下じゃなくてホームディレクトリに新規で .colima
ディレクトリが作成されてしまうからっぽい。
ホームディレクトリの設定が優先されているだけで、元の設定が消えている訳じゃないので、~/.colima/
を削除して、colimaを再起動するといいのだけれどちょっと手間。
原因は launchctl がシェルと独立して起動されるデーモンなので、環境変数を読めてないことにあると分かったので対策をする。
launchctl setenv
でセッション内でだけ環境変数を設定できるらしいのでこれを使っていく。どうも永続的に設定する方法はなさそう。
サービスの plist に書いてくれってことらしいが、今回は HomeBrew で管理されているものというのと、全員が XDG Base Directory を採用している分けじゃないので手元でなんとかする。
僕はログインシェルを zsh にしていて、起動時に環境変数設定用の .zshenv
というファイルを読み込むようにしているので、ここに以下のように書いておいた。
launchctl setenv XDG_CONFIG_HOME "$HOME/.config" launchctl setenv XDG_CACHE_HOME "$HOME/.cache" launchctl setenv XDG_DATA_HOME "$HOME/.local/share" launchctl setenv XDG_STATE_HOME "$HOME/.local/state"
これでひとまずやりたいことは出来ていそう。 なんかもっとスマートな方法があれば教えてください。