installShellCompletion hooks will install it for nixos’s environment.systemPackages and similar paradigms to check for paths to link to, they do not automatically get executed with mkShell
runix isn’t a package, nor a command found in nixos:
[17:39:14] jon@jon-desktop /home/jon/projects/nixpkgs (master)
$ command-not-found runix
runix: command not found
[17:39:19] jon@jon-desktop /home/jon/projects/nixpkgs (master)
$ nix-build -A runix
error: attribute 'runix' in selection path 'runix' not found
you should be able to pass the dependencies through inputsFrom and have them execute their shellhook. However, this has other implications, as I think it will propagate all of their dependencies into your shell as well.
@blaggacao if you are using direnv shellhooks that source scripts won’t be present in ZSH.
That’s because direnv just exports the environment and saves it to a file & reloads it when you enter.
It doesn’t end up re-executing the shellHook commands.