Breaking in what sense? Please remember that nix develop
throws you in a non-interactive shell, it uses ${bash}/bin/bash
, which does not load completions and also doesn’t do a lot of stuff in general that humans like to have. This bash is basically a bash that is meant run scripts, not to be used by humans. If you want to enter a dev-env that retains your shell and the comfort, then use direnv
with the nix-direnv
extension.
Alternatively you can do something like this:
$ nix shell nixpkgs#bashInteractive -c bash
$ eval "$(nix print-dev-env)"