From eb6d108b25c0473f3be010884f244a2adf0fe56d Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Thu, 4 Apr 2024 14:35:54 +0200 Subject: [PATCH] [Developer] add direnv hook to bash promptInit --- desktop/developer.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/desktop/developer.nix b/desktop/developer.nix index e1a11ad..1ce5f3f 100644 --- a/desktop/developer.nix +++ b/desktop/developer.nix @@ -14,6 +14,18 @@ in { programs.direnv.enable = true; programs.direnv.loadInNixShell = true; + programs.bash.promptInit = mkAfter '' + _direnv_hook() { + local previous_exit_status=$?; + trap -- "" SIGINT; + eval "$(${getBin config.programs.direnv.package}/bin/direnv export bash)"; + trap - SIGINT; + return $previous_exit_status; + }; + if ! [[ "''${PROMPT_COMMAND:-}" =~ _direnv_hook ]]; then + PROMPT_COMMAND="_direnv_hook''${PROMPT_COMMAND:+;$PROMPT_COMMAND}" + fi + ''; environment.systemPackages = with pkgs; [ tabnine