2015-10-09 4 views
5

Ich bin auf NixOS 15 und Nix-Shell v1.10. Ich benutze jetzt Zsh als meine Haupt-Shell, und würde es gerne in Verbindung mit Oh-My-Zsh innerhalb der Nix-Shell verwenden, auch wenn ich in Entwicklungsumgebungen arbeite, die mit einem Nix-Ausdruck erstellt wurden.Konfigurieren Sie nix-shell, um eine andere Shell als Bash zu verwenden?

Wenn es hilft, hier ist eine der Nix Umgebungen Ich habe für ein Rails-Projekt einrichten:

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 
    ]; 
    }; 
} 

** ** Bearbeiten

Ausführen des Befehls auf diese Weise nicht anzeigt, in der CLI-Eingabeaufforderung, dass ich in der Nix-Shell bin. Gibt es eine einfache Möglichkeit, dies zu erkennen, so dass ich es schnell in meinem zshrc Skript erstellen kann?

Antwort

4

wird PR #545 vor kurzem eröffnet, die diese

3

Danke an die Leute im IRC-Kanal #nixos, die mir eine schnelle Antwort gegeben haben.

Der Befehl, dies zu tun ist:

nix-shell . --command "zsh"

+0

Adresse werde ich dies nicht akzeptiert, falls verlasse jemand eine bessere Antwort hat. Vielleicht gibt es einen Weg, dies zu tun, der eher die tatsächliche Basis-Shell ersetzt, auf der Nix-Shell läuft? Ich denke, mit '--command' wird nur Zsh aus der ursprünglichen Bash-Shell bei der Shell-Erstellung ausgeführt. – josiah

+0

Da es schon ein paar Tage her ist, gehe ich davon aus, dass ich zu diesem Zeitpunkt keine bessere Antwort bekommen werde. – josiah

+1

Dies funktioniert gut, solange Sie die Shell-Funktionen nix-shell generate ('configurePhase' usw.) nicht aufrufen müssen – olejorgenb