Loading
nix-direnv: 3.0.6 -> 3.0.7
`direnv` 2.36.0 [changed how logging worked][1]. As a result, the
`$DIRENV_LOG_FORMAT` variable is no longer set when the `nix-direnv`
`direnvrc` is sourced. Previously, setting `$DIRENV_LOG_FORMAT` to the
empty string was [the recommended solution for disabling all log
output][2]. Therefore, `nix-direnv`'s warnings are completely silenced
when using the latest `direnv`.
`nix-direnv` 3.0.7 fixes this issue.
Warnings being silenced leads to very surprising behavior and output.
We use an `.envrc` that looks like this:
nix_direnv_manual_reload
use flake
`nix_direnv_manual_reload` means that `use flake` is ignored unless a
cache already exists. It's supposed to print a warning making this
clear, which looks like this:
$ direnv allow
direnv: loading ~/my-repo/.envrc
direnv: using flake
direnv: nix-direnv: cache does not exist. use "nix-direnv-reload" to create it
direnv: export ~PATH
However, with the latest `direnv`, it prints this output instead:
$ direnv allow
direnv: loading ~/my-repo/.envrc
direnv: using flake
direnv: export ~PATH
This is very misleading; it prints `using flake` as if it's loading the
Flake, but actually nothing is happening and the Flake is being ignored
entirely!
[1]: https://github.com/direnv/direnv/pull/1336
[2]: https://github.com/direnv/direnv/issues/68#issuecomment-42525172