]> Sergey Matveev's repositories - stargrave-blog.git/commit
direnv vs zsh-autoenv
authorSergey Matveev <stargrave@stargrave.org>
Sun, 16 May 2021 12:11:46 +0000 (15:11 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 16 May 2021 12:11:46 +0000 (15:11 +0300)
commit37a5f6e79cff402f892ba9b0f9d5aa52890b7e8f
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent924e48a6291f82aed9d31b62824260fcb8fb9e94
direnv vs zsh-autoenv

https://github.com/direnv/direnv/issues/159
Продолжая тему 9d4cf2a2b3af496ac3e719dd2c6ee73c4761379e. direnv я в
итоге так и пробовал, но отчётливо вижу что у него никаких шансов для
моего выбора:

* на каждый cd вызывать внешнюю программу -- не вариант, будет медленно
* autoenv это буквально просто скрипт, который буквально просто
  выполняется/source-ится и в нём можно делать всё что угодно. А direnv
  это жёсткая заточенность под чётко заданные задачи, типа
  переопределения переменных окружения. И из-за этого в нём куча функций
  специфичных, громоздкий API. В zsh-autoenv нет API, кроме пары фунок
  для опционального stash-а значений переменных окружения, для удобства
* direnv везде пишет что он запускает bash. До пошёл ка он в жопу. На
  моей системе его нет и не будет, по многочисленным причинам
* у него ещё и TOML конфиг, в противовес тривиальным переменным
  окружения zsh-autoenv-а

Короче direnv -- громоздкий, сложный, медленный, не гибкий, сложный в
использовании (размер direnv-stdlib больше чем мой форк zsh-autoenv), да
ещё намекает на использование всякого bash-а.