2015-10-17 6 views
6

Ich mache meine Entwicklung in einer Nix-Shell (Erstellen Sie eine default.nix-Datei in meinem Projekt-Stamm und dann nix-shell . ausführen, um mir eine Shell mit Zugriff auf die Projektabhängigkeiten) .Get Spacemacs/Emacs GUI-Version zu erkennen Nix-Shell-Umgebung

Spacemacs ist mein Hauptredakteur, aber wenn ich versuche, die GUI-Version über emacs & auszuführen, habe ich keinen Zugriff auf die Programme in meiner Nix-Shell (wenn ich zum Beispiel in einem Ruby on Rails-Projekt und Ruby bin) als Abhängigkeit in meinem default.nix erklärt wurde, würde ich hervorheben in Spacemacs keine Syntax hat, weil die GUI-Version von Emacs) nicht meine Nix-Shell-Abhängigkeiten sehen. Wenn ich :!which ruby laufen, kann es nicht einmal den Befehl which finden.

Jetzt laufe ich spacemacs über emacs -nw und benutze es nur von der Konsole, aber ich würde wirklich gerne den GUI-Editor benutzen können und die vollen verfügbaren Farbschemata bekommen, anstatt auf diejenigen beschränkt zu sein, die aussehen schön im 256-Farben-Modus. Es ist auch schneller für mich, zwischen dem Terminal und dem Editor zu wechseln als zwischen tmux-Fenstern oder Terminal-Splits, um zu meinem CLI-Editor zu gelangen.

with import <nixpkgs> {}; { 
    cannyFreeRadicalEnv = stdenv.mkDerivation rec { 
    name = "rails-project-env"; 
    version = "0.1"; 
    src = ./.; 
    buildInputs = [ 
     stdenv 
     ruby_2_2_2 
     bundler 
     zlib 
     postgresql94 
     sqlite 
     zsh 
     git 
     nodejs-0_12 
    ]; 
    }; 
} 
+0

Was ist mit dieser Frage falsch? – josiah

Antwort

3

Sie können Ihre GUI Emacs als

setsid nix-shell . --command "emacs" &> /dev/null 

Siehe auch Diskussion über nix-shellintegration-flycheck und ghc-mode laufen.


Tipp: Sie Alias ​​für diese in Ihrem .zshrc oder Bashrc

run-nix-emacs() { 
    setsid nix-shell . --command "emacs" &> /dev/null 
} 

alias ne='run-nix-emacs' 
+0

Ich habe das ausprobiert. Wie die Antwort ist, läuft ': die noch ruby' sagt es nicht den' which' Befehl nicht finden, und meine Ruby-Konfigurationsschicht ist noch nicht verfügbar, da die irb und Rubin Befehle nicht gefunden werden können. Ich werde den Link lesen, den du zum Flycheck und zur GhC-Mod-Diskussion gestellt hast, aber ich glaube, dass dies wahrscheinlich eher ein Emacs mit Nix-Problem als ein allgemeines Nix-Problem ist. – josiah

+0

@josiah, hast du 'which' installiert? – Netsu

+0

nicht systemweit, sondern innerhalb der Nix-Shell-Entwicklungsumgebung, die zur Verfügung steht, weil es Teil nixpkgs.stdenv ist. – josiah