about summary refs log tree commit diff
path: root/pkgs/shells/zsh
diff options
context:
space:
mode:
authorFlorian Friesdorf <flo@chaoflow.net>2011-12-29 19:46:47 +0000
committerFlorian Friesdorf <flo@chaoflow.net>2011-12-29 19:46:47 +0000
commit0009c1f650ba619de97df36322fbd0346db0c099 (patch)
tree76c4e3fb41f23c406ba6f9279363bc0b9ea36082 /pkgs/shells/zsh
parentecba799e780734eaf9087fc7444ae554d7f59e46 (diff)
downloadnixlib-0009c1f650ba619de97df36322fbd0346db0c099.tar
nixlib-0009c1f650ba619de97df36322fbd0346db0c099.tar.gz
nixlib-0009c1f650ba619de97df36322fbd0346db0c099.tar.bz2
nixlib-0009c1f650ba619de97df36322fbd0346db0c099.tar.lz
nixlib-0009c1f650ba619de97df36322fbd0346db0c099.tar.xz
nixlib-0009c1f650ba619de97df36322fbd0346db0c099.tar.zst
nixlib-0009c1f650ba619de97df36322fbd0346db0c099.zip
zshprofile to load /etc/profile while emulating bash
svn path=/nixpkgs/trunk/; revision=31148
Diffstat (limited to 'pkgs/shells/zsh')
-rw-r--r--pkgs/shells/zsh/default.nix27
1 files changed, 24 insertions, 3 deletions
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index db0e1d107b5d..61deeb4869dc 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -19,14 +19,35 @@ stdenv.mkDerivation {
     sha256 = "8708f485823fb7e51aa696776d0dfac7d3558485182672cf9311c12a50a95486";
   };
   
-  configureFlags = "--with-tcsetpgrp --enable-maildir-support --enable-multibyte";
+  buildInputs = [ ncurses coreutils ];
+
+  preConfigure = ''
+    configureFlags="--enable-maildir-support --enable-multibyte --enable-zprofile=$out/etc/zprofile --with-tcsetpgrp"
+  '';
 
+  # XXX: think/discuss about this, also with respect to nixos vs nix-on-X
   postInstall = ''
     ensureDir $out/share/
     tar xf ${documentation} -C $out/share
+    ensureDir $out/etc/
+    cat > $out/etc/zprofile <<EOF
+if test -r /etc/zprofile; then
+  . /etc/zprofile
+else
+  emulate bash
+  alias shopt=false
+  . /etc/profile
+  unalias shopt
+  emulate zsh
+fi
+if test -r /etc/zprofile.local; then
+  . /etc/zprofile.local
+fi
+EOF
+    $out/bin/zsh -c "zcompile $out/etc/zprofile"
+    mv $out/etc/zprofile $out/etc/zprofile_zwc_is_used
   '';
-
-  buildInputs = [ ncurses coreutils ];
+  # XXX: patch zsh to take zwc if newer _or equal_
 
   meta = {
     description = "the Z shell";