sorri triggers infinite shell recursion
DavHau opened this issue · comments
I'm using direnv with fish and whenever sorri detects a change and decides to re-evaluate, I'm getting:
~/p/g/mach-nix ❯❯❯
direnv: loading ~/synced/projects/github/mach-nix/.envrc
sorri: looking for matching cached shell in /home/grmpf/.cache/sorri/mach-nix/v2
sorri: no candidate accepted, creating manifest
sorri: building shell, this may take a while
direnv: ([/nix/store/086y8hv6ayv0y90690xbff0lxgrpi6k8-direnv-2.21.2-bin/bin/direnv export fish]) is taking a while to execute. Use CTRL-C to give up.
bash: warning: shell level (1000) too high, resetting to 1
bash: warning: shell level (1000) too high, resetting to 1
bash: warning: shell level (1000) too high, resetting to 1
... (goes on forever)
Could this be related to the fact that I'm using nix-direnv?
It could be. Can you export SORRI_DEBUG=yes
in your shell?
The log is very long. here the last lines:
This only happens when a reevaluation is triggered by changing something in the nix code. Slight changes like adding a space in a file, triggers a reevaluation by direnv, but doesn't trigger the error.
Also, the error seems to happen after the build is completed. Interrupting it during this state will still bring me into the desired environment, after hitting enter one more time.