diff options
Diffstat (limited to 'home-manager/tests/modules/programs/direnv')
5 files changed, 83 insertions, 0 deletions
diff --git a/home-manager/tests/modules/programs/direnv/bash.nix b/home-manager/tests/modules/programs/direnv/bash.nix new file mode 100644 index 00000000000..db0d6b391f5 --- /dev/null +++ b/home-manager/tests/modules/programs/direnv/bash.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + config = { + programs.bash.enable = true; + programs.direnv.enable = true; + + nmt.script = '' + assertFileExists home-files/.bashrc + assertFileRegex \ + home-files/.bashrc \ + 'eval "\$(/nix/store/.*direnv.*/bin/direnv hook bash)"' + ''; + }; +} diff --git a/home-manager/tests/modules/programs/direnv/default.nix b/home-manager/tests/modules/programs/direnv/default.nix new file mode 100644 index 00000000000..3efad2b6945 --- /dev/null +++ b/home-manager/tests/modules/programs/direnv/default.nix @@ -0,0 +1,6 @@ +{ + direnv-bash = ./bash.nix; + direnv-nix-direnv = ./nix-direnv.nix; + direnv-stdlib = ./stdlib.nix; + direnv-stdlib-and-nix-direnv = ./stdlib-and-nix-direnv.nix; +} diff --git a/home-manager/tests/modules/programs/direnv/nix-direnv.nix b/home-manager/tests/modules/programs/direnv/nix-direnv.nix new file mode 100644 index 00000000000..57b3907dda8 --- /dev/null +++ b/home-manager/tests/modules/programs/direnv/nix-direnv.nix @@ -0,0 +1,18 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + config = { + programs.bash.enable = true; + programs.direnv.enable = true; + programs.direnv.enableNixDirenvIntegration = true; + + nmt.script = '' + assertFileExists home-files/.bashrc + assertFileRegex \ + home-files/.config/direnv/direnvrc \ + 'source /nix/store/.*nix-direnv.*/share/nix-direnv/direnvrc' + ''; + }; +} diff --git a/home-manager/tests/modules/programs/direnv/stdlib-and-nix-direnv.nix b/home-manager/tests/modules/programs/direnv/stdlib-and-nix-direnv.nix new file mode 100644 index 00000000000..1dc224317a2 --- /dev/null +++ b/home-manager/tests/modules/programs/direnv/stdlib-and-nix-direnv.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let expectedContent = "something important"; +in { + config = { + programs.bash.enable = true; + programs.direnv.enable = true; + programs.direnv.enableNixDirenvIntegration = true; + programs.direnv.stdlib = expectedContent; + + nmt.script = '' + assertFileExists home-files/.bashrc + assertFileRegex \ + home-files/.config/direnv/direnvrc \ + 'source /nix/store/.*nix-direnv.*/share/nix-direnv/direnvrc' + assertFileRegex \ + home-files/.config/direnv/direnvrc \ + '${expectedContent}' + ''; + }; +} diff --git a/home-manager/tests/modules/programs/direnv/stdlib.nix b/home-manager/tests/modules/programs/direnv/stdlib.nix new file mode 100644 index 00000000000..1d06a0bc2a9 --- /dev/null +++ b/home-manager/tests/modules/programs/direnv/stdlib.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let expectedContent = "something important"; +in { + config = { + programs.bash.enable = true; + programs.direnv.enable = true; + programs.direnv.stdlib = expectedContent; + + nmt.script = '' + assertFileExists home-files/.bashrc + assertFileRegex \ + home-files/.config/direnv/direnvrc \ + '${expectedContent}' + ''; + }; +} |