direnv.toml - direnvの構成ファイル
構成ファイルはTOML形式で、direnvの様々な構成オプションを指定できます。 ファイルは$XDG_CONFIG_HOME/direnv/direnv.toml(普通は~/.config/direnv/direnv.toml)から読み込まれます。
バージョンv2.21.0以前については、direnv.tomlではなくconfig.tomlを使ってください。
構成ファイルの構文について、詳しくはTOMLのGitHubリポジトリをご参照ください。
構成は節で指定され、それぞれの節には最上位のテーブルがあります。 これらのテーブルはキーバリューの対からなり、各節で指定されます。
例は次の通り。
[節]
キー = "バリュー"
以下の節に対応しています。
bash_pathこれにより、bashの場所をハードコードできます。 PATHが改変されたときにdirenvの実行が失敗することを避ける上で、これを設定すると便利かもしれません。
disable_stdintrueに設定したとき、.envrcの評価時に標準入力が無効になります(/dev/nullにリダイレクトされます)。
load_dotenvdirenv >= 2.31.0が要求されます。
trueに設定すると、.envファイルを探し、.envrcファイルの最上位で読み込みます。 .envrcと.envのファイルが両方とも存在するとき、.envrcが必ず最初に選ばれます。
strict_envtrueに設定しているとき、.envrcはset -euo pipefailで読み込まれます。 このオプションは将来の既定となります。
warn_timeoutコマンドの実行が長く掛かり過ぎていることを利用者に警告するまでどれだけ待つか指定します。 既定は「5s」です。
時間間隔の文字列は、符号付きになりうる10進の数字の並びであり、「300ms」「-1.5h」「2h45m」といったように、それぞれに省略可能な端数や単位を伴います。 適正な時間の単位は「ns」「us」(または「µs」)「ms」「s」「m」「h」です。
この機能は時間間隔がゼロ以下のとき無効になります。 環境変数DIRENV_WARN_TIMEOUTが前述の何れかの値に設定されているとき、上書きされます。
hide_env_difftrueに設定すると、.envrcを読み込んだときに環境変数の差分を隠します。 既定でfalseです。
log_format履歴の形式をdirenvの出力に設定します。 「-」に設定すると通常の履歴が無効になります。
direnv >= 2.36.0が要求されます。
log_filter正規表現を使って、何らかの履歴に絞り込めます。
direnv >= 2.36.0が要求されます。
ホワイトリストのディレクティブを指定すると、特定のディレクトリ階層または特定のディレクトリには、「信頼済み」の印が付きます。 一致する.envrcファイルは、それが個別に許可されているかどうかに関係なく、direnvにより評価されます。
この機能を使うときはよく注意してください。 そのディレクトリにファイルを書き込める人(VCSリポジトリの共同作業者を含む)が、コンピューター上で任意のコードを実行できるようになる可能性があります。
2種類の許可リストのディレクティブに対応しています。
prefix文字列の配列を受け付けます。 このリストの文字列のどれかが、.envrc ファイルの絶対パスの前の部分であるとき、そのファイルは暗に許可されます。 内容がどうであれ、またそれまでにdirenv allowまたはdirenv denyされていようと、関係ありません。
例は次の通り。
[whitelist]
prefix = [ "/home/user/code/project-a", "~/code/project-b" ]
この例では、以下の.envrcファイルが暗に許可されます。
/home/user/code/project-a/.envrc/home/user/code/project-a/subdir/.envrc~/code/project-b/.envrc~/code/project-b/subdir/.envrcこの例では、以下の .envrc ファイルは暗に許可されません(ただしdirenv allowで明示的に許可できます)。
/home/user/project-c/.envrc/opt/random/.envrcexact文字列の配列を受け付けます。 各文字列はディレクトリ名または.envrcファイルへの完全なパスを取り得ます。 ディレクトリ名が渡された場合、それに/.envrcを後に付けたものが渡されたかのように扱います。 ファイル名を解決した後、各文字列は.envrcファイルの絶対パスと完全一致するかどうか検査されます。 完全に一致する場合、その.envrcファイルは暗に許可されます。 内容がどうであれ、またそれまでにdirenv allowまたはdirenv denyをしていようと無関係です。
例は次の通り。
[whitelist]
exact = [ "/home/user/project-a/.envrc", "~/project-b/subdir-a" ]
この例では、以下の .envrc ファイルは暗に許可されます。 それ以外は許可されません。
/home/user/code/project-a/.envrc~/project-b/subdir-aこの例では、以下の .envrc ファイルは暗に許可されません(ただしdirenv allowで明示的に許可できます)。
/home/user/code/project-b/subproject-c/.envrc~/code/.envrcMIT licence - Copyright (C) 2019 @zimbatm and contributors
direnv(1), direnv-stdlib(1)
この日本語訳の原文はdirenv.toml(1) man pageです。
本文書の使用許諾は原文に従います。 翻訳の著作情報は以下の通りです。
MIT licence - Copyright (C) 2026 @gemmaro