From 0db25e4de9c105db95a79600e0928089a089aa9b Mon Sep 17 00:00:00 2001 From: Bryan Bennett Date: Tue, 6 Dec 2022 15:05:52 -0500 Subject: [PATCH] Don't track $nixfile if it is empty --- direnvrc | 7 ++++--- tests/test_use_nix.py | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/direnvrc b/direnvrc index 4b81a49..3acb8f7 100644 --- a/direnvrc +++ b/direnvrc @@ -336,9 +336,10 @@ use_nix() { esac done - # nixfile may be empty, - # but nix_direnv_watch_file checks for existence before adding to watches - nix_direnv_watch_file "$HOME/.direnvrc" "$HOME/.config/direnv/direnvrc" .envrc "$nixfile" + nix_direnv_watch_file "$HOME/.direnvrc" "$HOME/.config/direnv/direnvrc" ".envrc" + if [ -e "$nixfile" ]; then + nix_direnv_watch_file "$nixfile" + fi local need_update=0 local file= diff --git a/tests/test_use_nix.py b/tests/test_use_nix.py index 98cb351..3422f9a 100644 --- a/tests/test_use_nix.py +++ b/tests/test_use_nix.py @@ -33,5 +33,10 @@ def test_args(direnv_project: DirenvProject) -> None: direnv_exec(direnv_project, "echo $SHOULD_BE_SET") +def test_no_files(direnv_project: DirenvProject) -> None: + direnv_project.setup_envrc("use nix -p hello") + direnv_exec(direnv_project, "hello") + + if __name__ == "__main__": unittest.main()