😎
nix-darwinのnix-daemonに環境変数を追加する
背景
fetchFromGitHubでprivateリポジトリを取得するには環境変数 NIX_GITHUB_PRIVATE_USERNAAME
とNIX_GITHUB_PRIVATE_PASSWORD
を設定している必要がある。
nix-daemonが有効な場合、nix-daemonによってfetchされるので環境変数を設定したい。
nix-darwin環境での具体例
nix-dawrinのnix-daemon.enable
で起動している場合は、darwin-configuration.nix
のnix.envVars
に記述すればよい。
services.nix-daemon.enable = true;
nix.envVars = {
NIX_GITHUB_PRIVATE_USERNAME = "xxxx";
NIX_GITHUB_PRIVATE_PASSWORD = "xxxxxxxxx";
};
lauchd経由でdaemonを起動し、起動するときに渡す環境変数は config.nix.envVars
を参照しているからである。
また、nix.envVars
の定義はこちら。
nix-darwinを利用していない場合
/Library/LaunchDaemons/org.nixos.nix-daemon.plist
にdaemonの設定ファイルがあるので、ここに書き加えたらたぶんいいはず。
upgradeした際に上書きされたりする可能性はあるかもしれない。
参考 https://nixos.org/manual/nix/stable/installation/installing-binary.html
Discussion