summary refs log tree commit diff
path: root/pkgs/shells
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2019-11-24 17:25:07 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2019-11-24 17:25:07 +0000
commitd0d5136cce5e0cbe2305c53090bd4bd886114746 (patch)
tree70092947536a3c65e215df9df20e571e34652f7a /pkgs/shells
parent9b090ccbca3f7dd26d91db06e96e8bf8282c37ca (diff)
parent195c263a812dec532656dcfd5d0360458cdc93fd (diff)
downloadnixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.gz
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.bz2
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.lz
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.xz
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.zst
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.zip
Merge remote-tracking branch 'upstream/master' into wrapper-pname-support
Diffstat (limited to 'pkgs/shells')
-rw-r--r--pkgs/shells/bash/bash-completion/0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch86
-rw-r--r--pkgs/shells/bash/bash-completion/default.nix37
-rw-r--r--pkgs/shells/liquidprompt/default.nix32
-rw-r--r--pkgs/shells/nushell/default.nix51
-rw-r--r--pkgs/shells/oh/default.nix8
-rw-r--r--pkgs/shells/oil/default.nix17
-rw-r--r--pkgs/shells/powershell/default.nix6
-rw-r--r--pkgs/shells/xonsh/default.nix4
-rw-r--r--pkgs/shells/zsh/antibody/default.nix8
-rw-r--r--pkgs/shells/zsh/fzf-zsh/default.nix37
-rw-r--r--pkgs/shells/zsh/grml-zsh-config/default.nix4
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/shells/zsh/spaceship-prompt/default.nix8
-rw-r--r--pkgs/shells/zsh/zsh-completions/default.nix6
-rw-r--r--pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix30
-rw-r--r--pkgs/shells/zsh/zsh-history-substring-search/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch25
-rw-r--r--pkgs/shells/zsh/zsh-history/default.nix36
-rw-r--r--pkgs/shells/zsh/zsh-you-should-use/default.nix4
19 files changed, 372 insertions, 37 deletions
diff --git a/pkgs/shells/bash/bash-completion/0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch b/pkgs/shells/bash/bash-completion/0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch
new file mode 100644
index 00000000000..c0d94a1a76d
--- /dev/null
+++ b/pkgs/shells/bash/bash-completion/0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch
@@ -0,0 +1,86 @@
+From 398f44b4ed545fc1b6c13a057bf0900001f7958b Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Tue, 22 Oct 2019 15:07:05 +0200
+Subject: [PATCH] Revert "build: Do cmake, pc, and profile variable
+ replacements in Makefile"
+
+This reverts commit 81ba2c7e7dfbaefbafa1e8615727c9612e5fb314.
+---
+ Makefile.am                     | 12 ++++++++----
+ bash-completion-config.cmake.in |  4 ++--
+ bash-completion.pc.in           |  4 ++--
+ configure.ac                    |  3 +++
+ 4 files changed, 15 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 8f441185..53979529 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -23,8 +23,7 @@ cmakeconfig_DATA = bash-completion-config.cmake \
+ 		-e 's|@VERSION[@]|$(VERSION)|' \
+ 		<$(srcdir)/$@.in >$@
+ 
+-CLEANFILES = bash_completion.sh bash-completion.pc \
+-	bash-completion-config.cmake bash-completion-config-version.cmake
++CLEANFILES = bash_completion.sh bash-completion.pc
+ 
+ EXTRA_DIST = CHANGES $(pkgdata_DATA) bash_completion.sh.in .dir-locals.el \
+ 	.editorconfig README.md CONTRIBUTING.md pyproject.toml .perltidyrc \
+@@ -34,6 +33,11 @@ EXTRA_DIST = CHANGES $(pkgdata_DATA) bash_completion.sh.in .dir-locals.el \
+ install-data-hook:
+ 	tmpfile=`mktemp $${TMPDIR:-/tmp}/bash_completion.XXXXXX` && \
+ 	$(SED) -e 's|-/etc/bash_completion\.d|-$(compatdir)|' \
+-	    $(DESTDIR)$(pkgdatadir)/bash_completion >$$tmpfile && \
+-	cat $$tmpfile >$(DESTDIR)$(pkgdatadir)/bash_completion && \
++	    $(DESTDIR)$(pkgdatadir)/bash_completion > $$tmpfile && \
++	cat $$tmpfile > $(DESTDIR)$(pkgdatadir)/bash_completion && \
++	$(SED) -e 's|\$${prefix}|$(prefix)|' \
++	    $(DESTDIR)$(datadir)/cmake/$(PACKAGE)/bash-completion-config.cmake \
++	         > $$tmpfile && \
++	cat $$tmpfile > \
++	    $(DESTDIR)$(datadir)/cmake/$(PACKAGE)/bash-completion-config.cmake && \
+ 	rm $$tmpfile
+diff --git a/bash-completion-config.cmake.in b/bash-completion-config.cmake.in
+index d907b76c..ccc6e052 100644
+--- a/bash-completion-config.cmake.in
++++ b/bash-completion-config.cmake.in
+@@ -5,7 +5,7 @@ set (BASH_COMPLETION_VERSION "@VERSION@")
+ 
+ set (BASH_COMPLETION_PREFIX "@prefix@")
+ set (BASH_COMPLETION_COMPATDIR "@compatdir@")
+-set (BASH_COMPLETION_COMPLETIONSDIR "@pkgdatadir@/completions")
+-set (BASH_COMPLETION_HELPERSDIR "@pkgdatadir@/helpers")
++set (BASH_COMPLETION_COMPLETIONSDIR "@datarootdir@/@PACKAGE@/completions")
++set (BASH_COMPLETION_HELPERSDIR "@datarootdir@/@PACKAGE@/helpers")
+ 
+ set (BASH_COMPLETION_FOUND "TRUE")
+diff --git a/bash-completion.pc.in b/bash-completion.pc.in
+index ea03fd75..bde217db 100644
+--- a/bash-completion.pc.in
++++ b/bash-completion.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@prefix@
+ compatdir=@compatdir@
+-completionsdir=@pkgdatadir@/completions
+-helpersdir=@pkgdatadir@/helpers
++completionsdir=@datarootdir@/@PACKAGE@/completions
++helpersdir=@datarootdir@/@PACKAGE@/helpers
+ 
+ Name: bash-completion
+ Description: programmable completion for the bash shell
+diff --git a/configure.ac b/configure.ac
+index 1f3b37e8..a216d9b7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,5 +13,8 @@ helpers/Makefile
+ test/Makefile
+ test/t/Makefile
+ test/t/unit/Makefile
++bash-completion.pc
++bash-completion-config.cmake
++bash-completion-config-version.cmake
+ ])
+ AC_OUTPUT
+-- 
+2.21.0
+
diff --git a/pkgs/shells/bash/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix
index 0476cbd1f3f..fbc07c86494 100644
--- a/pkgs/shells/bash/bash-completion/default.nix
+++ b/pkgs/shells/bash/bash-completion/default.nix
@@ -1,15 +1,40 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub
+, autoreconfHook
+, python3Packages
+, bashInteractive
+}:
 
 stdenv.mkDerivation rec {
   pname = "bash-completion";
-  version = "2.8";
+  version = "2.9";
 
-  src = fetchurl {
-    url = "https://github.com/scop/bash-completion/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0kgmflrr1ga9wfk770vmakna3nj46ylb5ky9ipd0v2k9ymq5a7y0";
+  src = fetchFromGitHub {
+    owner = "scop";
+    repo = "bash-completion";
+    rev = version;
+    sha256 = "1813r4jxfa2zgzm2ppjhrq62flfmxai8433pklxcrl4fp5wwx9yv";
   };
 
-  doCheck = true;
+  nativeBuildInputs = [ autoreconfHook ];
+
+  doCheck = !stdenv.isDarwin;
+  checkInputs = [
+    python3Packages.pexpect
+    python3Packages.pytest
+    bashInteractive
+  ];
+
+  patches = [
+    ./0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch
+  ];
+
+  # ignore ip_addresses because it tries to touch network
+  # ignore test_ls because impure logic
+  checkPhase = ''
+    pytest . \
+      --ignore=test/t/unit/test_unit_ip_addresses.py \
+      --ignore=test/t/test_ls.py
+  '';
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i -e 's/readlink -f/readlink/g' bash_completion completions/*
diff --git a/pkgs/shells/liquidprompt/default.nix b/pkgs/shells/liquidprompt/default.nix
new file mode 100644
index 00000000000..62efabb022c
--- /dev/null
+++ b/pkgs/shells/liquidprompt/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "liquidprompt";
+  version = "unstable-2018-05-21";
+
+  src = fetchFromGitHub {
+    owner = "nojhan";
+    repo = pname;
+    rev = "eda83efe4e0044f880370ed5e92aa7e3fdbef971";
+    sha256 = "1p7ah3x850ajpq07xvxxd7fx2i67cf0n71ww085g32k9fwij4rd4";
+  };
+
+  installPhase = ''
+    install -D -m 0444 liquidprompt $out/bin/liquidprompt
+    install -D -m 0444 liquidpromptrc-dist $out/share/doc/liquidprompt/liquidpromptrc-dist
+    install -D -m 0444 liquid.theme $out/share/doc/liquidprompt/liquid.theme
+
+    install -D -m 0444 liquidprompt.plugin.zsh \
+      $out/share/zsh/plugins/liquidprompt/liquidprompt.plugin.zsh
+    install -D -m 0444 liquidprompt \
+      $out/share/zsh/plugins/liquidprompt/liquidprompt
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A full-featured & carefully designed adaptive prompt for Bash & Zsh";
+    homepage = https://github.com/nojhan/liquidprompt;
+    license = licenses.agpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ gerschtli ];
+  };
+}
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
new file mode 100644
index 00000000000..91684504774
--- /dev/null
+++ b/pkgs/shells/nushell/default.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, openssl
+, pkg-config
+, python3
+, xorg
+, libiconv
+, AppKit
+, Security
+, withAllFeatures ? true
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nushell";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "0_5_0";
+    sha256 = "1s60w29c8sv0a4nmpggls9pkqyfrwwxjzd65p68d1xxxsdb36rzj";
+  };
+
+  cargoSha256 = "0b8alc3si6y4xmn812izknbkfkz64kz7kcnq4xaqws6iqn7pqidp";
+
+  nativeBuildInputs = [ pkg-config ]
+    ++ stdenv.lib.optionals (withAllFeatures && stdenv.isLinux) [ python3 ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ]
+    ++ stdenv.lib.optionals (withAllFeatures && stdenv.isLinux) [ xorg.libX11 ]
+    ++ stdenv.lib.optionals (withAllFeatures && stdenv.isDarwin) [ AppKit ];
+
+  cargoBuildFlags = stdenv.lib.optionals withAllFeatures [ "--features" "all" ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A modern shell written in Rust";
+    homepage = "https://www.nushell.sh/";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+
+  passthru = {
+    shellPath = "/bin/nu";
+  };
+}
diff --git a/pkgs/shells/oh/default.nix b/pkgs/shells/oh/default.nix
index 09a54c8a3b8..3ae8a7c600a 100644
--- a/pkgs/shells/oh/default.nix
+++ b/pkgs/shells/oh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchgit }:
+{ stdenv, buildGoPackage, fetchgit, lib }:
 
 buildGoPackage rec {
   pname = "oh";
@@ -14,4 +14,10 @@ buildGoPackage rec {
   };
 
   goDeps = ./deps.nix;
+
+  meta = with lib;{
+    homepage = "https://github.com/michaelmacinnis/oh";
+    description = "A Unix shell";
+    license = stdenv.lib.licenses.mit;
+  };
 }
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index 9f1bf3ce6af..eeb6f9ab6a9 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchurl, fetchpatch, readline }:
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.7.pre3";
+  version = "0.7.pre6";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "01zc36zaasaagr54rnh90k0j7pbnj0cc6a9pvz6gs6pk91i80lqg";
+    sha256 = "1yhfrxrqd4jbjsf0g2fkxv8zypcndnikv9g15yp9szgp4sh1r9vv";
   };
 
   postPatch = ''
@@ -17,18 +17,25 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
   '';
 
+  buildInputs = [ readline ];
+  configureFlags = [ "--with-readline" ];
+
   # Stripping breaks the bundles by removing the zip file from the end.
   dontStrip = true;
 
   meta = {
     description = "A new unix shell";
-    homepage = https://www.oilshell.org/;
+    homepage = "https://www.oilshell.org/";
 
     license = with lib.licenses; [
       psfl # Includes a portion of the python interpreter and standard library
       asl20 # Licence for Oil itself
     ];
 
-    maintainers = with lib.maintainers; [ lheckemann ];
+    maintainers = with lib.maintainers; [ lheckemann alva ];
+  };
+
+  passthru = {
+      shellPath = "/bin/osh";
   };
 }
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index a7fe9634fee..b999070a49e 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -4,8 +4,8 @@
 let platformString = if stdenv.isDarwin then "osx"
                      else if stdenv.isLinux then "linux"
                      else throw "unsupported platform";
-    platformSha = if stdenv.isDarwin then "005ax54l7752lhrvlpsyn2yywr4zh58psc7sc1qv9p86d414pmkq"
-                     else if stdenv.isLinux then "1b3n6d2xgvqybmh61smyr415sfaymiilixlvs04yxm6ajsbnsm82"
+    platformSha = if stdenv.isDarwin then "0jb2xm79m3m14zk7v730ai1zvxcb5a13jbkkya0qy7332k6gn6bl"
+                     else if stdenv.isLinux then "0s0jvc9ha6fw8qy7f5n0v6zf043rawsjdlm5wvqxq1q2idz7xcw1"
                      else throw "unsupported platform";
     platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH"
                      else if stdenv.isLinux then "LD_LIBRARY_PATH"
@@ -15,7 +15,7 @@ let platformString = if stdenv.isDarwin then "osx"
 in
 stdenv.mkDerivation rec {
   pname = "powershell";
-  version = "6.2.2";
+  version = "6.2.3";
 
   src = fetchzip {
     url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-x64.tar.gz";
diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix
index 2697050144b..58dd629929f 100644
--- a/pkgs/shells/xonsh/default.nix
+++ b/pkgs/shells/xonsh/default.nix
@@ -2,14 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "xonsh";
-  version = "0.9.10";
+  version = "0.9.13";
 
   # fetch from github because the pypi package ships incomplete tests
   src = fetchFromGitHub {
     owner  = "xonsh";
     repo   = "xonsh";
     rev    = "refs/tags/${version}";
-    sha256 = "0dil7vannl8sblzz528503ich8m8g0ld0p496bgw6jjh0pzkdskc";
+    sha256 = "0nk6rjdkbxli510iwqspvray48kdxvbdmq1k8nxn14kqfpqzlbcv";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/shells/zsh/antibody/default.nix b/pkgs/shells/zsh/antibody/default.nix
index 0ea3c8d158d..e1bfc68dc4d 100644
--- a/pkgs/shells/zsh/antibody/default.nix
+++ b/pkgs/shells/zsh/antibody/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "antibody";
-  version = "4.1.2";
+  version = "4.2.0";
 
   goPackagePath = "github.com/getantibody/antibody";
 
@@ -10,15 +10,15 @@ buildGoModule rec {
     owner = "getantibody";
     repo = "antibody";
     rev = "v${version}";
-    sha256 = "1csanmvix7b2sa7nsy8nh3jq6gmhp8i51xivsabm1lj2y30c0ly3";
+    sha256 = "1vds7mxqxa7xlhvjvmnh1nr1ra3dciav0qlv45s1dmwn5qrcilci";
   };
 
-  modSha256 = "1p9cw92ivwgpkvjxvwd9anbd1vzhpicm9il4pg37z2kgr2ihhnyh";
+  modSha256 = "1n9sgrm16iig600f4q1cmbwwk0822isjvbyazplylha843510b17";
 
   meta = with lib; {
     description = "The fastest shell plugin manager";
     homepage = https://github.com/getantibody/antibody;
     license = licenses.mit;
-    maintainers = with maintainers; [ worldofpeace ];
+    maintainers = with maintainers; [ filalex77 worldofpeace ];
   };
 }
diff --git a/pkgs/shells/zsh/fzf-zsh/default.nix b/pkgs/shells/zsh/fzf-zsh/default.nix
new file mode 100644
index 00000000000..e97ef1074f1
--- /dev/null
+++ b/pkgs/shells/zsh/fzf-zsh/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, fzf }:
+
+stdenv.mkDerivation rec {
+  pname = "fzf-zsh-unstable";
+  version = "2019-09-09";
+
+  src = fetchFromGitHub {
+    owner = "Wyntau";
+    repo = "fzf-zsh";
+    rev = "829d7e40cc437dce8a6e234e259bbd4065e87124";
+    sha256 = "1irjmxhcg1fm4g8p3psjqk7sz5qhj5kw73pyhv91njvpdhn9l26z";
+  };
+
+  postPatch = ''
+    substituteInPlace fzf-zsh.plugin.zsh \
+      --replace \
+        'fzf_path="$( cd "$fzf_zsh_path/../fzf/" && pwd )"' \
+        "fzf_path=${fzf}" \
+      --replace \
+        '$fzf_path/shell' \
+        '${fzf}/share/fzf'
+  '';
+
+  dontBuild = true;
+
+  installPhase = ''
+    install -Dm0644 fzf-zsh.plugin.zsh $out/share/zsh/plugins/fzf-zsh/fzf-zsh.plugin.zsh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/wyntau/fzf-zsh;
+    description = "wrap fzf to use in oh-my-zsh";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ma27 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/shells/zsh/grml-zsh-config/default.nix b/pkgs/shells/zsh/grml-zsh-config/default.nix
index 2d7dd4f24aa..80f51dbb763 100644
--- a/pkgs/shells/zsh/grml-zsh-config/default.nix
+++ b/pkgs/shells/zsh/grml-zsh-config/default.nix
@@ -5,13 +5,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "grml-zsh-config";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "grml";
     repo = "grml-etc-core";
     rev = "v${version}";
-    sha256 = "1b794c3hfhw51aqp8dg8smxqjv4x518rs1ib4pdglc4d785rlq1k";
+    sha256 = "1dmhwgs5v4f1yanbi6dg1lbpzmvq1l3dq7sra811ycsf4f6g0d7f";
   };
 
   buildInputs = [ zsh coreutils txt2tags procps ]
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index d83a8a115ab..8140e654d24 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2019-09-08";
+  version = "2019-11-21";
   pname = "oh-my-zsh";
-  rev = "fd4571d1b02ac68833a5b5c166395434723b9128";
+  rev = "76d6b0256398ad1becbc304a78f51bbacfee50e5";
 
   src = fetchgit { inherit rev;
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    sha256 = "1294na7mb48xa5iifbsjvggiznglnydlnwhb1zqwrmdi84qhydri";
+    sha256 = "0p049v1v0jk3v8inn99ankgdn2q5iamsxn203w4vb53266xjgx2r";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/shells/zsh/spaceship-prompt/default.nix b/pkgs/shells/zsh/spaceship-prompt/default.nix
index ad7b46a907e..0e7536b4fa1 100644
--- a/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "spaceship-prompt";
-  version = "3.7.1";
+  version = "3.11.2";
 
   src = fetchFromGitHub {
     owner = "denysdovhan";
     repo = "spaceship-prompt";
-    sha256 = "0laihax18bs254rm2sww5wkjbmkp4m5c8aicgqpi4diz7difxk6z";
-    rev = "aaa34aeab9ba0a99416788f627ec9aeffba392f0";
+    sha256 = "1q7m9mmg82n4fddfz01y95d5n34xnzhrnn1lli0vih39sgmzim9b";
+    rev = "v${version}";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zsh-completions/default.nix b/pkgs/shells/zsh/zsh-completions/default.nix
index 422294150e0..35355fe374d 100644
--- a/pkgs/shells/zsh/zsh-completions/default.nix
+++ b/pkgs/shells/zsh/zsh-completions/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-completions";
-  version = "0.30.0";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "zsh-users";
-    repo = "zsh-completions";
+    repo = pname;
     rev = version;
-    sha256 = "1yf4rz99acdsiy0y1v3bm65xvs2m0sl92ysz0rnnrlbd5amn283l";
+    sha256 = "0rw23m8cqxhcb4yjhbzb9lir60zn1xjy7hn3zv1fzz700f0i6fyk";
   };
 
   installPhase= ''
diff --git a/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
new file mode 100644
index 00000000000..452419bf8b0
--- /dev/null
+++ b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
@@ -0,0 +1,30 @@
+{ stdenvNoCC, lib, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "zsh-fast-syntax-highlighting";
+  version = "1.54";
+
+  src = fetchFromGitHub {
+    owner = "zdharma";
+    repo = "fast-syntax-highlighting";
+    rev = "v${version}";
+    sha256 = "019hda2pj8lf7px4h1z07b9l6icxx4b2a072jw36lz9bh6jahp32";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    plugindir="$out/share/zsh/site-functions"
+
+    mkdir -p "$plugindir"
+    cp -r -- {,_,-}fast-* chroma themes "$plugindir"/
+  '';
+
+  meta = with lib; {
+    description = "Syntax-highlighting for Zshell";
+    homepage = "https://github.com/zdharma/fast-syntax-highlighting";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/shells/zsh/zsh-history-substring-search/default.nix b/pkgs/shells/zsh/zsh-history-substring-search/default.nix
index b7521654667..fcd294f4dce 100644
--- a/pkgs/shells/zsh/zsh-history-substring-search/default.nix
+++ b/pkgs/shells/zsh/zsh-history-substring-search/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-history-substring-search";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "zsh-users";
     repo = "zsh-history-substring-search";
     rev = "v${version}";
-    sha256 = "0lgmq1xcccnz5cf7vl0r0qj351hwclx9p80cl0qczxry4r2g5qaz";
+    sha256 = "0y8va5kc2ram38hbk2cibkk64ffrabfv1sh4xm7pjspsba9n5p1y";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch b/pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch
new file mode 100644
index 00000000000..0c4fd22c54f
--- /dev/null
+++ b/pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch
@@ -0,0 +1,25 @@
+From efc16fbe7e41784f218d9c6cb4239b209cd77214 Mon Sep 17 00:00:00 2001
+From: Christian Kampka <christian@kampka.net>
+Date: Sat, 12 Oct 2019 21:47:47 +0200
+Subject: [PATCH 1/2] Fix path marshalling when saveing config
+
+---
+ config/config.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config/config.go b/config/config.go
+index 69a10c5..b5c61fe 100644
+--- a/config/config.go
++++ b/config/config.go
+@@ -26,7 +26,7 @@ func (p *Path) UnmarshalText(text []byte) error {
+ 	return nil
+ }
+ 
+-func (p *Path) MarshalText() (text []byte, err error) {
++func (p Path) MarshalText() (text []byte, err error) {
+ 	return []byte(p.path), nil
+ }
+ 
+-- 
+2.19.2
+
diff --git a/pkgs/shells/zsh/zsh-history/default.nix b/pkgs/shells/zsh/zsh-history/default.nix
new file mode 100644
index 00000000000..6bbcdac2c17
--- /dev/null
+++ b/pkgs/shells/zsh/zsh-history/default.nix
@@ -0,0 +1,36 @@
+{ lib, fetchFromGitHub, buildGoModule, installShellFiles }:
+
+buildGoModule rec {
+  pname = "zsh-history";
+  version = "2019-10-07";
+
+  src = fetchFromGitHub {
+    owner = "b4b4r07";
+    repo = "history";
+    rev = "a08ad2dcffc852903ae54b0c5704b8a085009ef7";
+    sha256 = "0r3p04my40dagsq1dssnk583qrlcps9f7ajp43z7mq73q3hrya5s";
+  };
+
+  patches = [
+    ./0001-Fix-path-marshalling-when-saveing-config.patch
+  ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  modSha256 = "0f10b86gyn7m7lw43c8y1m30mdg0i092a319v3cb2qj05jb9vn42";
+  goPackagePath = "github.com/b4b4r07/history";
+
+  postInstall = ''
+    install -d $out/share
+    cp -r "$NIX_BUILD_TOP/source/misc/"* "$out/share"
+    installShellCompletion --zsh --name _history $out/share/zsh/completions/_history
+  '';
+
+  meta = with lib; {
+    description = "A CLI to provide enhanced history for your ZSH shell";
+    license = licenses.mit;
+    homepage = https://github.com/b4b4r07/history;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ kampka ];
+  };
+}
diff --git a/pkgs/shells/zsh/zsh-you-should-use/default.nix b/pkgs/shells/zsh/zsh-you-should-use/default.nix
index 39e1cedc7d0..becc4c57e4b 100644
--- a/pkgs/shells/zsh/zsh-you-should-use/default.nix
+++ b/pkgs/shells/zsh/zsh-you-should-use/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-you-should-use";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "MichaelAquilina";
     repo = pname;
     rev = version;
-    sha256 = "1n0mcgahx40acqjj617k0rhqpzjqjaa9xfs4b1xrjp3qdy9s0ns0";
+    sha256 = "1xzq7xmmx4rg53pd69d0s9n561q4z35hlbb2sq2xd76gk3x6fars";
   };
 
   dontBuild = true;