Starship shell prompt breaks after i enter a devshell

\[\]\[\]  \[\] \[\]nix-shell-env\[\] \[\] v2.1.1741730670\[\] 
\[\][\[\]user\[\]@\[\]nixos\[\] \[\]nvim\[\]]\$\[\] nvim .

this is the prompt shell i get after entering a shell through direnv

# .envrc
use flake .#devShells.x86_64-linux.nix
use flake .#devShells.x86_64-linux.lua

Could be related: Devshell causes neovim terminal problems

You can try adding bashInteractive to the shell.

but i’m on zsh sooo : (

yes it is related but it doesn’t fix my issue, i’ve already implemented a workaround for this issue:

...
    flake-utils.lib.eachDefaultSystem (system: let
      pkgs = import nixpkgs {
        inherit system;
        config.allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) ["intelephense"];
        overlays = [
          (final: prev: {
            # mkCustomShellNoCC = prev.mkShellNoCC.override (oldAttrs: {
            #   packages = oldAttrs.packages ++ [pkgs.tree-sitter];
            # });
            mkCustomShellNoCC = args:
              prev.mkShellNoCC (args
                // {
                  packages = args.packages ++ [pkgs.tree-sitter];
                  shellHook =
                    (args.shellHook or "")
                    + ''
                      if [ -x "${pkgs.starship}/bin/starship" ]; then
                       case "$SHELL" in
                         */zsh) eval "$(${pkgs.starship}/bin/starship init zsh)" ;;
                         */bash) eval "$(${pkgs.starship}/bin/starship init bash)" ;;
                       esac
                       fi
                    '';
                });
          })
        ];
      };
...

so when i enter a devshell i evaluate this line eval "$(starship init zsh)" but when i added direnv, it no longer works

oh wait, the shellhook i added is what it was causing the problem lol, i should’ve known earlier, thanks guys for your help : )