配置 nix-shell 以使用 shell 而不是 Bash?

Configure nix-shell to use a shell other than Bash?

我在 NixOS 15 和 nix-shell v1.10 上。我现在使用 Zsh 作为我的主要 shell,并希望在 nix-shell 中将它与 Oh-My-Zsh 结合使用,以及当我在 Nix 构建的开发环境中工作时表达式。

如果有帮助,这是我为 Rails 项目设置的 Nix 环境之一:

with import <nixpkgs> {}; {
  cannyFreeRadicalEnv = stdenv.mkDerivation rec {
    name = "canny-free-radical-env";
    version = "0.1";
    src = ./.;
    buildInputs = [
        stdenv
        ruby_2_2_2
        bundler_HEAD
        zlib
        postgresql94
        sqlite
    ];
  };
}

** 编辑 **

运行 这样的命令不会在 CLI 提示符中指示我在 nix-shell 中。有没有一种简单的方法可以检测到这一点,以便我可以在 zshrc?

中快速编写脚本

打开 shell 使用:

nix-shell . --command "zsh"

感谢 #nixos IRC 频道上的人给我一个快速的答案。

最近打开了 PR #545 来解决这个问题