I'm new to spacemacs and have only been using it for a couple months, but I work in NixOS and make use of nix-shell alot.
One of the interesting consequences of this, is that many projects have dependencies which are now isolated within a nix-shell.
However various spacemacs layers work on the basis of running external commands, like the sqli layer expects mysql
to be available on the PATH.
What I've done atm is often install the layer requirements in my user profile, and also in the shell.nix. So when I run things from nix-shell, I end up using the shell.nix specified dependencies, while spacemacs ends up using the config.nix specified dependencies. While this hack works, it's not very elegant.
I've read in other places, that people would launch emacs from within the nix-shell, and while this could work, how does one deal with multiple projects each with their own nix-shell, does multiple instances of emacs work nicely together, do copy and paste and switching between buffers work seamlessly? I don't know atm.
Just wanted to know other people's thoughts on this issue, and whether there are ideas for making IDE-centric development workflow work with nix-shell like isolation. I thought that if there was an editor that was made from ground up to allow multiple instances of the editor to run and to have a overall chrome/server that allowed coordination between each instance, sort of like the Chrome browser where each tab is a separate process. Then such an editor would actually work nicely with nix-shell.