2015-10-09 4 views
5

Je suis sur NixOS 15 et nix-shell v1.10. J'utilise Zsh comme shell principal maintenant, et je voudrais l'utiliser en conjonction avec Oh-My-Zsh dans le shell nix aussi bien quand je travaille dans des environnements de développement construits par une expression Nix.Configurer nix-shell pour utiliser un shell autre que Bash?

Si elle aide, voici l'un des environnements Nix j'ai mis en place pour un projet 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 
    ]; 
    }; 
} 

** Modifier **

exécution de la commande de cette façon ne signifie pas dans l'invite CLI que je suis dans le shell nix. Y at-il un moyen facile de détecter cela afin que je puisse le script rapidement dans mon zshrc?

Répondre

4

il est PR #545 récemment ouvert qui traitera cette

3

Merci aux gars sur le canal #nixos IRC pour m'avoir donné une réponse rapide.

La commande de le faire est la suivante:

nix-shell . --command "zsh"

+0

Je quitte cette personne unaccepted en cas a une meilleure réponse. Peut-être y a-t-il un moyen de faire cela pour en remplacer le shell de base nix-shell? Je pense que l'utilisation de '--command' n'exécute que Zsh à partir du shell Bash original lors de la création du shell. – josiah

+0

Comme cela fait quelques jours, je suppose que je ne vais pas avoir une meilleure réponse à ce stade. – josiah

+1

Cela fonctionne bien tant que vous n'avez pas besoin d'appeler les fonctions du shell nix-shell generate ('configurePhase' etc) – olejorgenb