2015-10-09 1 views
5

Я нахожусь на NixOS 15 и nix-shell v1.10. Я использую Zsh как основную оболочку сейчас и хотел бы использовать ее в сочетании с Oh-My-Zsh в оболочке nix, а также когда я работаю в средах разработки, созданных выражением Nix.Настроить nix-shell для использования оболочки, отличной от Bash?

Если это помогает, вот одна из сред Nix я настроил для проекта Rails:

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-оболочке. Есть ли простой способ обнаружить это, чтобы я мог быстро его создать в моем zshrc?

ответ

4

там PR #545 открыт недавно, который рассмотрит этот

3

Благодаря ребятам на канале IRC#nixos, чтобы получить быстрый ответ.

Команда сделать так:

nix-shell . --command "zsh"

+0

Я уезжаю это непринятый в случае, если кто имеет лучший ответ. Может быть, есть способ сделать это, что больше подходит для замены фактической базовой оболочки nix-shell работает? Я думаю, что использование '--command' выполняет только Zsh из исходной оболочки Bash при создании оболочки. – josiah

+0

Как это было через несколько дней, я предполагаю, что на этот момент я не получу лучшего ответа. – josiah

+1

Это работает хорошо, если вам не нужно вызывать функции оболочки nix-shell generate ('configurePhase' и т. Д.), – olejorgenb

Смежные вопросы