direnv загружает настройки окружения для текущего каталога и убирает их при выходе. Так переменные проекта не приходится складывать в общий
~/.profile.Перед выводом очередной командной строки утилита ищет разрешённый
.envrc в текущем и родительских каталогах. Затем запускает файл в отдельном процессе Bash, сравнивает экспортированные переменные до и после запуска и переносит изменения в текущую оболочку. Поэтому такой файл может менять переменные, но не передаёт наружу функции и псевдонимы команд.После установки подключите direnv к своей оболочке, создайте
.envrc в проекте и разрешите его командой direnv allow .. Инструмент подойдёт для отдельных настроек разработки, секретов развёртывания и дополнений к PATH. Команды установки, интеграция с bash, zsh и fish, а также готовые функции для .envrc собраны в документации direnv.