about summary refs log tree commit diff
path: root/pkgs/shells
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/shells')
-rw-r--r--pkgs/shells/bash/5.nix7
-rw-r--r--pkgs/shells/bash/bash-completion/default.nix7
-rw-r--r--pkgs/shells/carapace/default.nix8
-rw-r--r--pkgs/shells/dash/default.nix4
-rw-r--r--pkgs/shells/dgsh/default.nix48
-rw-r--r--pkgs/shells/dgsh/glibc-2.26.patch12
-rw-r--r--pkgs/shells/es/default.nix2
-rw-r--r--pkgs/shells/fish/default.nix2
-rw-r--r--pkgs/shells/fish/plugins/bobthefish.nix2
-rw-r--r--pkgs/shells/fish/plugins/bobthefisher.nix2
-rw-r--r--pkgs/shells/fish/plugins/foreign-env/default.nix2
-rw-r--r--pkgs/shells/fish/plugins/forgit.nix6
-rw-r--r--pkgs/shells/fish/plugins/gruvbox.nix2
-rw-r--r--pkgs/shells/fish/plugins/tide.nix2
-rw-r--r--pkgs/shells/fish/plugins/wakatime-fish.nix8
-rw-r--r--pkgs/shells/hilbish/default.nix2
-rw-r--r--pkgs/shells/hishtory/default.nix4
-rw-r--r--pkgs/shells/jush/default.nix29
-rw-r--r--pkgs/shells/liquidprompt/default.nix35
-rw-r--r--pkgs/shells/mrsh/default.nix2
-rw-r--r--pkgs/shells/murex/default.nix2
-rw-r--r--pkgs/shells/nix-your-shell/default.nix2
-rw-r--r--pkgs/shells/nsh/default.nix2
-rw-r--r--pkgs/shells/nushell/default.nix8
-rw-r--r--pkgs/shells/nushell/nu_scripts/default.nix8
-rw-r--r--pkgs/shells/nushell/plugins/default.nix1
-rw-r--r--pkgs/shells/nushell/plugins/formats.nix6
-rw-r--r--pkgs/shells/nushell/plugins/gstat.nix6
-rw-r--r--pkgs/shells/nushell/plugins/net.nix29
-rw-r--r--pkgs/shells/nushell/plugins/polars.nix45
-rw-r--r--pkgs/shells/nushell/plugins/query.nix6
-rw-r--r--pkgs/shells/oh/default.nix2
-rw-r--r--pkgs/shells/powershell/default.nix13
-rw-r--r--pkgs/shells/rc-9front/default.nix2
-rw-r--r--pkgs/shells/scponly/default.nix2
-rw-r--r--pkgs/shells/zsh/agdsn-zsh-config/default.nix2
-rw-r--r--pkgs/shells/zsh/agkozak-zsh-prompt/default.nix2
-rw-r--r--pkgs/shells/zsh/antibody/default.nix2
-rw-r--r--pkgs/shells/zsh/antidote/default.nix2
-rw-r--r--pkgs/shells/zsh/antigen/default.nix2
-rw-r--r--pkgs/shells/zsh/default.nix4
-rw-r--r--pkgs/shells/zsh/grml-zsh-config/default.nix2
-rw-r--r--pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix2
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix8
-rw-r--r--pkgs/shells/zsh/spaceship-prompt/default.nix4
-rw-r--r--pkgs/shells/zsh/zi/default.nix2
-rw-r--r--pkgs/shells/zsh/zplug/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-abbr/default.nix9
-rw-r--r--pkgs/shells/zsh/zsh-autopair/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-completions/default.nix9
-rw-r--r--pkgs/shells/zsh/zsh-edit/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-forgit/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-fzf-history-search/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-history/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-powerlevel10k/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-powerlevel9k/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-prezto/default.nix8
-rw-r--r--pkgs/shells/zsh/zsh-system-clipboard/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-vi-mode/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-you-should-use/default.nix4
60 files changed, 194 insertions, 208 deletions
diff --git a/pkgs/shells/bash/5.nix b/pkgs/shells/bash/5.nix
index de0426fbcdcd3..25798533113c8 100644
--- a/pkgs/shells/bash/5.nix
+++ b/pkgs/shells/bash/5.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPackages
 , fetchurl
+, updateAutotoolsGnuConfigScriptsHook
 , bison
 , util-linux
 
@@ -88,12 +89,16 @@ stdenv.mkDerivation rec {
     "bash_cv_termcap_lib=libncurses"
   ] ++ lib.optionals (stdenv.hostPlatform.libc == "musl") [
     "--disable-nls"
+  ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [
+    # /dev/fd is optional on FreeBSD. we need it to work when built on a system
+    # with it and transferred to a system without it! This includes linux cross.
+    "bash_cv_dev_fd=absent"
   ];
 
   strictDeps = true;
   # Note: Bison is needed because the patches above modify parse.y.
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ bison ]
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook bison ]
     ++ lib.optional withDocs texinfo
     ++ lib.optional stdenv.hostPlatform.isDarwin stdenv.cc.bintools;
 
diff --git a/pkgs/shells/bash/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix
index 80f5ffeff9519..3bdef89e722e0 100644
--- a/pkgs/shells/bash/bash-completion/default.nix
+++ b/pkgs/shells/bash/bash-completion/default.nix
@@ -1,5 +1,4 @@
 { lib, stdenv, fetchurl
-, fetchpatch
 , autoreconfHook
 , perl
 , ps
@@ -9,15 +8,15 @@
 
 stdenv.mkDerivation rec {
   pname = "bash-completion";
-  version = "2.13.0";
+  version = "2.14.0";
 
   # Using fetchurl because fetchGithub or fetchzip will have trouble on
   # e.g. APFS filesystems (macOS) because of non UTF-8 characters in some of the
   # test fixtures that are part of the repository.
   # See discussion in https://github.com/NixOS/nixpkgs/issues/107768
   src = fetchurl {
-    url = "https://github.com/scop/${pname}/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-xfmaOeQPDRVMA/8VQ46H7OH1rGZjNqRFmJni/0vt89E=";
+    url = "https://github.com/scop/bash-completion/releases/download/${version}/bash-completion-${version}.tar.xz";
+    sha256 = "sha256-XHSU+WgoCDLWrbWqGfdFpW8aed8xHlkzjF76b3KF4Wg=";
   };
 
   strictDeps = true;
diff --git a/pkgs/shells/carapace/default.nix b/pkgs/shells/carapace/default.nix
index 8a6d72634f954..12c88764e5542 100644
--- a/pkgs/shells/carapace/default.nix
+++ b/pkgs/shells/carapace/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "carapace";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "rsteube";
     repo = "${pname}-bin";
     rev = "v${version}";
-    hash = "sha256-mwn7oJjVlZli4vhTGui6HCxnjL3Qz8ygejaqvdbZ6co=";
+    hash = "sha256-nmih6kyVaYLVOG+EEaCUYkVRAXPXXUdPchv6JFzlU+U=";
   };
 
-  vendorHash = "sha256-HWczvkItE9SVGGQkddnb7/PBkTWrDAdKHjMOztlYV9M=";
+  vendorHash = "sha256-QG+50wqYYpASzFv8Y3rpuyahW/lTV8Kz+v3rDt1kAN4=";
 
   ldflags = [
     "-s"
@@ -31,7 +31,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Multi-shell multi-command argument completer";
-    homepage = "https://rsteube.github.io/carapace-bin/";
+    homepage = "https://carapace.sh/";
     maintainers = with maintainers; [ mimame ];
     license = licenses.mit;
     mainProgram = "carapace";
diff --git a/pkgs/shells/dash/default.nix b/pkgs/shells/dash/default.nix
index 6bdbd1798e3de..17de97660344c 100644
--- a/pkgs/shells/dash/default.nix
+++ b/pkgs/shells/dash/default.nix
@@ -45,9 +45,9 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "http://gondor.apana.org.au/~herbert/dash/";
-    description = "A POSIX-compliant implementation of /bin/sh that aims to be as small as possible";
+    description = "POSIX-compliant implementation of /bin/sh that aims to be as small as possible";
     platforms = platforms.unix;
-    license = with licenses; [ bsd3 gpl2 ];
+    license = with licenses; [ bsd3 gpl2Plus ];
     mainProgram = "dash";
   };
 })
diff --git a/pkgs/shells/dgsh/default.nix b/pkgs/shells/dgsh/default.nix
deleted file mode 100644
index 2c98938b46d75..0000000000000
--- a/pkgs/shells/dgsh/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config,
-  libtool, check, bison, git, gperf,
-  perl, texinfo, help2man, gettext, ncurses
-}:
-
-stdenv.mkDerivation {
-  pname = "dgsh-unstable";
-  version = "2017-02-05";
-
-  src = fetchFromGitHub {
-    owner = "dspinellis";
-    repo = "dgsh";
-    rev = "bc4fc2e8009c069ee4df5140c32a2fc15d0acdec";
-    sha256 = "0k3hmnarz56wphw45mabn5zcc427l5p77jldh1qqy89pxqy1wnql";
-    fetchSubmodules = true;
-  };
-
-  patches = [ ./glibc-2.26.patch ];
-
-  nativeBuildInputs = [ autoconf automake pkg-config libtool check
-    bison git gettext gperf perl texinfo help2man ncurses
-  ];
-
-  configurePhase = ''
-    cp -r ./unix-tools/coreutils/gnulib gnulib
-    perl -pi -e \
-      's#./bootstrap #./bootstrap --no-bootstrap-sync --skip-po --no-git --gnulib-srcdir='$PWD/gnulib' #g' \
-      unix-tools/Makefile
-    find . -name \*.diff | xargs rm -f
-    rm -rf unix-tools/*/gnulib
-    patchShebangs unix-tools/diffutils/man/help2man
-    export RSYNC=true # set to rsync binary, eventhough it is not used.
-    make PREFIX=$out config
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "The Directed Graph Shell";
-    homepage = "http://www.dmst.aueb.gr/dds/sw/dgsh";
-    license = with licenses; asl20;
-    maintainers = with maintainers; [ vrthra ];
-    platforms = with platforms; all;
-    # lib/freadseek.c:68:3: error: #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your >
-    # 68 |  #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your system, then report >
-    broken = true; # marked 2022-05-06
-  };
-}
diff --git a/pkgs/shells/dgsh/glibc-2.26.patch b/pkgs/shells/dgsh/glibc-2.26.patch
deleted file mode 100644
index c66768151316c..0000000000000
--- a/pkgs/shells/dgsh/glibc-2.26.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/core-tools/src/dgsh-httpval.c b/core-tools/src/dgsh-httpval.c
-index 8b5dce3..7b43c3d 100644
---- a/core-tools/src/dgsh-httpval.c
-+++ b/core-tools/src/dgsh-httpval.c
-@@ -40,6 +40,7 @@
- #include <sys/stat.h>
- #include <unistd.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <stdio.h>
- #include <string.h>
- #include <ctype.h>
diff --git a/pkgs/shells/es/default.nix b/pkgs/shells/es/default.nix
index 1a75aca391b15..b1f41c881d13a 100644
--- a/pkgs/shells/es/default.nix
+++ b/pkgs/shells/es/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-readline" ];
 
   meta = with lib; {
-    description = "An extensible shell with higher order functions";
+    description = "Extensible shell with higher order functions";
     mainProgram = "es";
     longDescription =
       ''
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 0013c205f31f2..921e0fc6d7fe6 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -299,7 +299,7 @@ let
       description = "Smart and user-friendly command line shell";
       homepage = "https://fishshell.com/";
       changelog = "https://github.com/fish-shell/fish-shell/releases/tag/${version}";
-      license = licenses.gpl2;
+      license = licenses.gpl2Only;
       platforms = platforms.unix;
       maintainers = with maintainers; [ adamcstephens cole-h winter ];
       mainProgram = "fish";
diff --git a/pkgs/shells/fish/plugins/bobthefish.nix b/pkgs/shells/fish/plugins/bobthefish.nix
index 417ac87257a74..ea57eb546655d 100644
--- a/pkgs/shells/fish/plugins/bobthefish.nix
+++ b/pkgs/shells/fish/plugins/bobthefish.nix
@@ -15,7 +15,7 @@ buildFishPlugin {
   };
 
   meta = with lib; {
-    description = "A Powerline-style, Git-aware fish theme optimized for awesome";
+    description = "Powerline-style, Git-aware fish theme optimized for awesome";
     homepage = "https://github.com/oh-my-fish/theme-bobthefish";
     license = licenses.mit;
     maintainers = with maintainers; [ Scrumplex ];
diff --git a/pkgs/shells/fish/plugins/bobthefisher.nix b/pkgs/shells/fish/plugins/bobthefisher.nix
index 56d179cd24b53..20c79ffcdd5a4 100644
--- a/pkgs/shells/fish/plugins/bobthefisher.nix
+++ b/pkgs/shells/fish/plugins/bobthefisher.nix
@@ -15,7 +15,7 @@ buildFishPlugin {
   };
 
   meta = with lib; {
-    description = "A Powerline-style, Git-aware fish theme optimized for awesome (fork of bobthefish)";
+    description = "Powerline-style, Git-aware fish theme optimized for awesome (fork of bobthefish)";
     homepage = "https://github.com/Scrumplex/bobthefisher";
     license = licenses.mit;
     maintainers = with maintainers; [ Scrumplex ];
diff --git a/pkgs/shells/fish/plugins/foreign-env/default.nix b/pkgs/shells/fish/plugins/foreign-env/default.nix
index d0b5b77a03b1c..fd5c38682995b 100644
--- a/pkgs/shells/fish/plugins/foreign-env/default.nix
+++ b/pkgs/shells/fish/plugins/foreign-env/default.nix
@@ -21,7 +21,7 @@ buildFishPlugin {
   '';
 
   meta = with lib; {
-    description = "A foreign environment interface for Fish shell";
+    description = "Foreign environment interface for Fish shell";
     license = licenses.mit;
     maintainers = with maintainers; [ jgillich ];
     platforms = with platforms; unix;
diff --git a/pkgs/shells/fish/plugins/forgit.nix b/pkgs/shells/fish/plugins/forgit.nix
index 01e297b4225a1..463e45f68bec4 100644
--- a/pkgs/shells/fish/plugins/forgit.nix
+++ b/pkgs/shells/fish/plugins/forgit.nix
@@ -2,13 +2,13 @@
 
 buildFishPlugin rec {
   pname = "forgit";
-  version = "24.05.0";
+  version = "24.06.0";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = "forgit";
     rev = version;
-    hash = "sha256-XZeLF0YwUl8N8j8tRRU1QVd8tenTDorZyAHItCE4Jlw=";
+    hash = "sha256-odxdySx3Bzxs5RMXJ4nivwltQYIaM/UrPb+A0/pnDSk=";
   };
 
   postInstall = ''
@@ -16,7 +16,7 @@ buildFishPlugin rec {
   '';
 
   meta = with lib; {
-    description = "A utility tool powered by fzf for using git interactively.";
+    description = "Utility tool powered by fzf for using git interactively";
     homepage = "https://github.com/wfxr/forgit";
     license = licenses.mit;
     maintainers = with maintainers; [ happysalada ];
diff --git a/pkgs/shells/fish/plugins/gruvbox.nix b/pkgs/shells/fish/plugins/gruvbox.nix
index b4b85ae597b8b..50110116c89d0 100644
--- a/pkgs/shells/fish/plugins/gruvbox.nix
+++ b/pkgs/shells/fish/plugins/gruvbox.nix
@@ -9,7 +9,7 @@ buildFishPlugin {
     hash = "sha256-vL2/Nm9Z9cdaptx8sJqbX5AnRtfd68x4ZKWdQk5Cngo=";
   };
   meta = {
-    description = "Gruvbox theme for fish shell.";
+    description = "Gruvbox theme for fish shell";
     homepage = "https://github.com/Jomik/fish-gruvbox";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ msladecek ];
diff --git a/pkgs/shells/fish/plugins/tide.nix b/pkgs/shells/fish/plugins/tide.nix
index 95a3e150a5a32..74ab2e8a27a8d 100644
--- a/pkgs/shells/fish/plugins/tide.nix
+++ b/pkgs/shells/fish/plugins/tide.nix
@@ -19,7 +19,7 @@ buildFishPlugin rec {
   '';
 
   meta = with lib; {
-    description = "The ultimate Fish prompt";
+    description = "Ultimate Fish prompt";
     homepage = "https://github.com/IlanCosman/tide";
     license = licenses.mit;
     maintainers = [ maintainers.jocelynthode ];
diff --git a/pkgs/shells/fish/plugins/wakatime-fish.nix b/pkgs/shells/fish/plugins/wakatime-fish.nix
index c265c8020d061..c434ab7175982 100644
--- a/pkgs/shells/fish/plugins/wakatime-fish.nix
+++ b/pkgs/shells/fish/plugins/wakatime-fish.nix
@@ -1,5 +1,5 @@
 { lib
-, wakatime
+, wakatime-cli
 , buildFishPlugin
 , fetchFromGitHub
 }:
@@ -17,12 +17,12 @@ buildFishPlugin rec {
 
   preFixup = ''
     substituteInPlace $out/share/fish/vendor_conf.d/wakatime.fish \
-      --replace "if type -p wakatime" "if type -p ${lib.getExe wakatime}" \
-      --replace "(type -p wakatime)" "${lib.getExe wakatime}"
+      --replace-fail "if type -p wakatime" "if type -p ${lib.getExe wakatime-cli}" \
+      --replace-fail "(type -p wakatime)" "${lib.getExe wakatime-cli}"
   '';
 
   meta = with lib; {
-    description = "A fish plugin for wakatime";
+    description = "Fish plugin for wakatime";
     homepage = "https://github.com/ik11235/wakatime.fish";
     license = licenses.mit;
     maintainers = with maintainers; [ ocfox ];
diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix
index 17bc851ac771b..0ab72550b3f72 100644
--- a/pkgs/shells/hilbish/default.nix
+++ b/pkgs/shells/hilbish/default.nix
@@ -32,7 +32,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "An interactive Unix-like shell written in Go";
+    description = "Interactive Unix-like shell written in Go";
     mainProgram = "hilbish";
     changelog = "https://github.com/Rosettea/Hilbish/releases/tag/v${version}";
     homepage = "https://github.com/Rosettea/Hilbish";
diff --git a/pkgs/shells/hishtory/default.nix b/pkgs/shells/hishtory/default.nix
index 5bdf3a1b5992d..83b902c2e9262 100644
--- a/pkgs/shells/hishtory/default.nix
+++ b/pkgs/shells/hishtory/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "hishtory";
-  version = "0.294";
+  version = "0.295";
 
   src = fetchFromGitHub {
     owner = "ddworken";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-vwjzJTBgD4XzZekxGk02WW9/A7wLlLBsIUyvt0VCkOg=";
+    hash = "sha256-f9iVKHrgq6whE1s5Q2NXSf1qYsV5WUq4frHUoX94cMs=";
   };
 
   vendorHash = "sha256-zTwZ/sMhQdlf7RYfR2/K/m08U1Il0VQmYFyNNiYsWhc=";
diff --git a/pkgs/shells/jush/default.nix b/pkgs/shells/jush/default.nix
deleted file mode 100644
index 42e8e13cceae6..0000000000000
--- a/pkgs/shells/jush/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, editline }:
-
-stdenv.mkDerivation rec {
-  pname = "jush";
-  version = "0.1";
-
-  src = fetchFromGitHub {
-    owner = "troglobit";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1azvghrh31gawd798a254ml4id642qvbva64zzg30pjszh1087n8";
-  };
-
-  strictDeps = true;
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-
-  buildInputs = [ editline ];
-
-  passthru.shellPath = "/bin/jush";
-
-  meta = with lib; {
-    description = "just a useless shell";
-    mainProgram = "jush";
-    homepage = "https://github.com/troglobit/jush";
-    license = licenses.isc;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ dtzWill ];
-  };
-}
diff --git a/pkgs/shells/liquidprompt/default.nix b/pkgs/shells/liquidprompt/default.nix
index acb34377d28de..bdb7bbe6548e6 100644
--- a/pkgs/shells/liquidprompt/default.nix
+++ b/pkgs/shells/liquidprompt/default.nix
@@ -1,31 +1,50 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib, stdenv, fetchFromGitHub, gitUpdater }:
 
 stdenv.mkDerivation rec {
   pname = "liquidprompt";
-  version = "2.1.2";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
-    owner = "nojhan";
+    owner = "liquidprompt";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7mnrXLqnCdOuS2aRs4tVLfO8SRFrqZHNM40gWE/CVFI=";
+    hash = "sha256-ra+uJg9E2Cr1k0Ni1+xG9yKFF9iMInJFB5oAFnc52lc=";
   };
 
   strictDeps = true;
+
+  postPatch = ''
+    patchShebangs tools/*.sh
+  '';
+
   installPhase = ''
+    runHook preInstall
+
     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
+
+    # generate default config file
+    mkdir -p $out/share/doc/liquidprompt
+    tools/config-from-doc.sh --verbose > $out/share/doc/liquidprompt/liquidpromptrc-dist
+
+    mkdir -p $out/share/liquidprompt
+    cp -a themes $out/share/liquidprompt/
+
+    mkdir -p $out/share/liquidprompt/contrib
+    cp -a contrib/presets $out/share/liquidprompt/contrib/
+
+    runHook postInstall
   '';
 
+  passthru.updateScript = gitUpdater { };
+
   meta = with lib; {
-    description = "A full-featured & carefully designed adaptive prompt for Bash & Zsh";
-    homepage = "https://github.com/nojhan/liquidprompt";
+    description = "Full-featured & carefully designed adaptive prompt for Bash & Zsh";
+    homepage = "https://github.com/liquidprompt/liquidprompt";
     license = licenses.agpl3Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ gerschtli ];
diff --git a/pkgs/shells/mrsh/default.nix b/pkgs/shells/mrsh/default.nix
index 3bb76cb04df8c..bff6956e97bd1 100644
--- a/pkgs/shells/mrsh/default.nix
+++ b/pkgs/shells/mrsh/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    description = "A minimal POSIX shell";
+    description = "Minimal POSIX shell";
     mainProgram = "mrsh";
     homepage = "https://mrsh.sh";
     license = licenses.mit;
diff --git a/pkgs/shells/murex/default.nix b/pkgs/shells/murex/default.nix
index 4e44b6bd7ecf3..b6a802b8c8c5a 100644
--- a/pkgs/shells/murex/default.nix
+++ b/pkgs/shells/murex/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
     description = "Bash-like shell and scripting environment with advanced features designed for safety and productivity";
     mainProgram = "murex";
     homepage = "https://murex.rocks";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ dit7ya kashw2 ];
   };
 }
diff --git a/pkgs/shells/nix-your-shell/default.nix b/pkgs/shells/nix-your-shell/default.nix
index f40f7d43cc325..35f63309f20f4 100644
--- a/pkgs/shells/nix-your-shell/default.nix
+++ b/pkgs/shells/nix-your-shell/default.nix
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     mainProgram = "nix-your-shell";
-    description = "A `nix` and `nix-shell` wrapper for shells other than `bash`";
+    description = "`nix` and `nix-shell` wrapper for shells other than `bash`";
     homepage = "https://github.com/MercuryTechnologies/nix-your-shell";
     license = [ licenses.mit ];
     maintainers = [ maintainers._9999years ];
diff --git a/pkgs/shells/nsh/default.nix b/pkgs/shells/nsh/default.nix
index 365c14bc5c6d8..43938e1e90eba 100644
--- a/pkgs/shells/nsh/default.nix
+++ b/pkgs/shells/nsh/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A command-line shell like fish, but POSIX compatible";
+    description = "Command-line shell like fish, but POSIX compatible";
     mainProgram = "nsh";
     homepage = "https://github.com/nuta/nsh";
     changelog = "https://github.com/nuta/nsh/raw/v${version}/docs/changelog.md";
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index dd64a4775a579..e0a6994381773 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -24,7 +24,7 @@
 }:
 
 let
-  version = "0.93.0";
+  version = "0.94.1";
 in
 
 rustPlatform.buildRustPackage {
@@ -35,10 +35,10 @@ rustPlatform.buildRustPackage {
     owner = "nushell";
     repo = "nushell";
     rev = version;
-    hash = "sha256-s/aJVk+45Ietegb9Cn19/U3NlNMHQh2GezHkoIRxRrk=";
+    hash = "sha256-uwtmSyNJJUtaFrBd9W89ZQpWzBOswOLWTevkPlg6Ano=";
   };
 
-  cargoHash = "sha256-0xwo3M5uog6v0VcT9IhNZ22/xIhUShVNt6Vkp3GpsNI=";
+  cargoHash = "sha256-4caqvbNxXRZksQrySydPlzn9S6gr2xPLFLSEcAEGnI8=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (withDefaultFeatures && stdenv.isLinux) [ python3 ]
@@ -70,7 +70,7 @@ rustPlatform.buildRustPackage {
   };
 
   meta = with lib; {
-    description = "A modern shell written in Rust";
+    description = "Modern shell written in Rust";
     homepage = "https://www.nushell.sh/";
     license = licenses.mit;
     maintainers = with maintainers; [ Br1ght0ne johntitor joaquintrinanes ];
diff --git a/pkgs/shells/nushell/nu_scripts/default.nix b/pkgs/shells/nushell/nu_scripts/default.nix
index 972b3131cdf10..47d29b44ac23d 100644
--- a/pkgs/shells/nushell/nu_scripts/default.nix
+++ b/pkgs/shells/nushell/nu_scripts/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nu_scripts";
-  version = "0-unstable-2024-05-19";
+  version = "0-unstable-2024-06-16";
 
   src = fetchFromGitHub {
     owner = "nushell";
     repo = pname;
-    rev = "66c76a9dbd41ea4fb07fde0eb8474a3ae941db12";
-    hash = "sha256-X/epUJkS3qppjjmmMZ+gfK8DNkt6brZQocbFyKXzVTA=";
+    rev = "92f20ff2827b1afb3d06011bc0609a0212c53993";
+    hash = "sha256-ZYrlX8Kg9VD5/eUctesAXQlBcVPiOZ3W9WCpBkByrpA=";
   };
 
   installPhase = ''
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation rec {
   passthru.updateScript = unstableGitUpdater { };
 
   meta = {
-    description = "A place to share Nushell scripts with each other";
+    description = "Place to share Nushell scripts with each other";
     homepage = "https://github.com/nushell/nu_scripts";
     license = lib.licenses.free;
 
diff --git a/pkgs/shells/nushell/plugins/default.nix b/pkgs/shells/nushell/plugins/default.nix
index eb8bbe14c2815..cdc35b15773b4 100644
--- a/pkgs/shells/nushell/plugins/default.nix
+++ b/pkgs/shells/nushell/plugins/default.nix
@@ -3,6 +3,7 @@
 lib.makeScope newScope (self: with self; {
   gstat = callPackage ./gstat.nix { inherit Security; };
   formats = callPackage ./formats.nix { inherit IOKit Foundation; };
+  polars = callPackage ./polars.nix { inherit IOKit Foundation; };
   query = callPackage ./query.nix { inherit IOKit CoreFoundation; };
   regex = throw "`nu_plugin_regex` is no longer compatible with the current Nushell release.";
   net = callPackage ./net.nix { inherit IOKit CoreFoundation; };
diff --git a/pkgs/shells/nushell/plugins/formats.nix b/pkgs/shells/nushell/plugins/formats.nix
index 7cca0840f47af..80d29c4dcadcb 100644
--- a/pkgs/shells/nushell/plugins/formats.nix
+++ b/pkgs/shells/nushell/plugins/formats.nix
@@ -11,7 +11,7 @@
 rustPlatform.buildRustPackage rec {
   pname = "nushell_plugin_formats";
   inherit (nushell) version src;
-  cargoHash = "sha256-+DTsBh3+nLjuwuk0rnxZeSQ+lM55PAhj+8e9L2bQdXU=";
+  cargoHash = "sha256-r5r+LdG6isZiKzwaZM/RIzQnZwrVBDCbdM1SMbvVU0E=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
@@ -28,10 +28,10 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A formats plugin for Nushell";
+    description = "Formats plugin for Nushell";
     mainProgram = "nu_plugin_formats";
     homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_formats";
-    license = licenses.mpl20;
+    license = licenses.mit;
     maintainers = with maintainers; [ viraptor aidalgol ];
     platforms = with platforms; all;
   };
diff --git a/pkgs/shells/nushell/plugins/gstat.nix b/pkgs/shells/nushell/plugins/gstat.nix
index b05a000d57852..7a937b33aa464 100644
--- a/pkgs/shells/nushell/plugins/gstat.nix
+++ b/pkgs/shells/nushell/plugins/gstat.nix
@@ -11,7 +11,7 @@
 rustPlatform.buildRustPackage rec {
   pname = "nushell_plugin_gstat";
   inherit (nushell) version src;
-  cargoHash = "sha256-0pzQrUKMfYZdUzJgm6WYIrTUkF2arYGDCuASgmDpvmc=";
+  cargoHash = "sha256-ENDDkEpUp+3a0Numb7+McVP04VtSZaU4pbu4uEFT9Jc=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
@@ -28,10 +28,10 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A git status plugin for Nushell";
+    description = "Git status plugin for Nushell";
     mainProgram = "nu_plugin_gstat";
     homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_gstat";
-    license = licenses.mpl20;
+    license = licenses.mit;
     maintainers = with maintainers; [ mrkkrp aidalgol ];
     platforms = with platforms; all;
   };
diff --git a/pkgs/shells/nushell/plugins/net.nix b/pkgs/shells/nushell/plugins/net.nix
index 23729360e83a6..2bb2b56168b82 100644
--- a/pkgs/shells/nushell/plugins/net.nix
+++ b/pkgs/shells/nushell/plugins/net.nix
@@ -1,10 +1,11 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, stdenv
-, IOKit
-, CoreFoundation
-, unstableGitUpdater
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  stdenv,
+  IOKit,
+  CoreFoundation,
+  unstableGitUpdater,
 }:
 
 rustPlatform.buildRustPackage {
@@ -14,15 +15,13 @@ rustPlatform.buildRustPackage {
   src = fetchFromGitHub {
     owner = "fennewald";
     repo = "nu_plugin_net";
-    rev = "a84d72290f513397a359581b9447a4e638ce60c9";
-    hash = "sha256-uKLYTRR2tThSvwWbvEePOLZ9ehNPfCYruZxTKSIxpEA=";
+    rev = "60d315afb19c3c673409db796a4cc7a240058605";
+    hash = "sha256-izIxV2rFxZ1Om6NNaofNpc5prtN/lsw8dC4DyKEQ+v8=";
   };
 
-  cargoHash = "sha256-BsCOej31vfTf+Wca4+AjxkhXz6wpMRFJmGBsUqOj2U0=";
+  cargoHash = "sha256-nBxcxADyvPgGrfkW8eBq/wmB2Slq+YGJV2IlxuuCgCg=";
 
-  nativeBuildInputs = [
-    rustPlatform.bindgenHook
-  ];
+  nativeBuildInputs = [ rustPlatform.bindgenHook ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreFoundation
@@ -32,10 +31,10 @@ rustPlatform.buildRustPackage {
   passthru.updateScript = unstableGitUpdater { };
 
   meta = with lib; {
-    description = "A nushell plugin to list system network interfaces";
+    description = "Nushell plugin to list system network interfaces";
     homepage = "https://github.com/fennewald/nu_plugin_net";
     license = licenses.mit;
     maintainers = with maintainers; [ happysalada ];
-    mainProgram = "nu-plugin-net";
+    mainProgram = "nu_plugin_net";
   };
 }
diff --git a/pkgs/shells/nushell/plugins/polars.nix b/pkgs/shells/nushell/plugins/polars.nix
new file mode 100644
index 0000000000000..d1bda99acafb4
--- /dev/null
+++ b/pkgs/shells/nushell/plugins/polars.nix
@@ -0,0 +1,45 @@
+{
+  stdenv,
+  lib,
+  rustPlatform,
+  openssl,
+  nushell,
+  pkg-config,
+  IOKit,
+  Foundation,
+  nix-update-script,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nushell_plugin_polars";
+  inherit (nushell) version src;
+
+  cargoHash = "sha256-GkVX12MEHFP4g183zUzOUn4MNeTEBEpB+D5s0OXa4nc=";
+
+  nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
+  buildInputs =
+    [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [
+      IOKit
+      Foundation
+    ];
+  cargoBuildFlags = [ "--package nu_plugin_polars" ];
+
+  checkPhase = ''
+    cargo test --manifest-path crates/nu_plugin_polars/Cargo.toml
+  '';
+
+  passthru.updateScript = nix-update-script {
+    # Skip the version check and only check the hash because we inherit version from nushell.
+    extraArgs = [ "--version=skip" ];
+  };
+
+  meta = with lib; {
+    description = "Nushell dataframe plugin commands based on polars";
+    mainProgram = "nu_plugin_polars";
+    homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_polars";
+    license = licenses.mit;
+    maintainers = with maintainers; [ joaquintrinanes ];
+    platforms = with platforms; all;
+  };
+}
diff --git a/pkgs/shells/nushell/plugins/query.nix b/pkgs/shells/nushell/plugins/query.nix
index b20af7bbd3b8f..0473b291aff31 100644
--- a/pkgs/shells/nushell/plugins/query.nix
+++ b/pkgs/shells/nushell/plugins/query.nix
@@ -10,7 +10,7 @@
 rustPlatform.buildRustPackage {
   pname = "nushell_plugin_query";
   inherit (nushell) version src;
-  cargoHash = "sha256-cu7gSEr5xOpBpkv++YpOMUf/UtvFYuQMDWrGphb6V/0=";
+  cargoHash = "sha256-l4fmO2LQpiSpGQVfuqJLcuYIryIlq/iYlPuI4FS+RlQ=";
 
   nativeBuildInputs = lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
   buildInputs = lib.optionals stdenv.isDarwin [ IOKit CoreFoundation ];
@@ -26,10 +26,10 @@ rustPlatform.buildRustPackage {
   };
 
   meta = with lib; {
-    description = "A Nushell plugin to query JSON, XML, and various web data";
+    description = "Nushell plugin to query JSON, XML, and various web data";
     mainProgram = "nu_plugin_query";
     homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_query";
-    license = licenses.mpl20;
+    license = licenses.mit;
     maintainers = with maintainers; [ happysalada aidalgol ];
     platforms = with platforms; all;
   };
diff --git a/pkgs/shells/oh/default.nix b/pkgs/shells/oh/default.nix
index d58de0b3f0d87..9a0308a70e75d 100644
--- a/pkgs/shells/oh/default.nix
+++ b/pkgs/shells/oh/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/michaelmacinnis/oh";
-    description = "A new Unix shell";
+    description = "New Unix shell";
     mainProgram = "oh";
     license = licenses.mit;
   };
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index a779534c2d63e..715f33bbbf816 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -29,7 +29,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "powershell";
-  version = "7.4.2";
+  version = "7.4.3";
 
   src = passthru.sources.${stdenv.hostPlatform.system}
     or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
@@ -84,19 +84,19 @@ stdenv.mkDerivation rec {
     sources = {
       aarch64-darwin = fetchurl {
         url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-arm64.tar.gz";
-        hash = "sha256-Gg1wXIw/x/s0dgCkycZ4fC4eK+zIoduHr8nHvBOPFm4=";
+        hash = "sha256-n1A17psyDWY/BtwvmQn3SjYqhX/C5xZJnq83aA3mUJk=";
       };
       aarch64-linux = fetchurl {
         url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-arm64.tar.gz";
-        hash = "sha256-AGAhaUqeDOliRX0jGJ48uIrgMIY7IhkH+PuJHflJeus=";
+        hash = "sha256-TuSjvi2aJz2jtwm4CRP99M4dhxzerTCdyOOI6FC8CN0=";
       };
       x86_64-darwin = fetchurl {
         url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-x64.tar.gz";
-        hash = "sha256-jH4XY/XjYljkVV4DlOq+f8lwWDcFGA7yaVFKgGUVz+I=";
+        hash = "sha256-bMOVJ8TT8Rh79rD+vSJP/gxjNHXQE39qASvLAc9P4D8=";
       };
       x86_64-linux = fetchurl {
         url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-x64.tar.gz";
-        hash = "sha256-NmBdw3l53lry4QeDv3DArYFQUh6B5tfJMiA267iX5/4=";
+        hash = "sha256-XPzCKK/T/85TbsRUGrr+l8Ypr81tyFyaIHEolLv2Wts=";
       };
     };
     tests.version = testers.testVersion {
@@ -114,8 +114,7 @@ stdenv.mkDerivation rec {
       fi
 
       for platform in ${lib.escapeShellArgs meta.platforms}; do
-        update-source-version "powershell" "0" "${lib.fakeHash}" --source-key="sources.$platform"
-        update-source-version "powershell" "$NEW_VERSION" --source-key="sources.$platform"
+        update-source-version "powershell" "$NEW_VERSION" --ignore-same-version --source-key="sources.$platform"
       done
     '';
   };
diff --git a/pkgs/shells/rc-9front/default.nix b/pkgs/shells/rc-9front/default.nix
index ff265dbec8716..cd6e18064b365 100644
--- a/pkgs/shells/rc-9front/default.nix
+++ b/pkgs/shells/rc-9front/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
   };
 
   meta = with lib; {
-    description = "The 9front shell";
+    description = "9front shell";
     longDescription = "unix port of 9front rc";
     homepage = "http://shithub.us/cinap_lenrek/rc/HEAD/info.html";
     license = licenses.mit;
diff --git a/pkgs/shells/scponly/default.nix b/pkgs/shells/scponly/default.nix
index 41a09adf9e7c6..11cfee7b2d919 100644
--- a/pkgs/shells/scponly/default.nix
+++ b/pkgs/shells/scponly/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
   passthru.shellPath = "/bin/scponly";
 
   meta = with lib; {
-    description = "A shell that only permits scp and sftp-server";
+    description = "Shell that only permits scp and sftp-server";
     mainProgram = "scponly";
     homepage = "https://github.com/scponly/scponly";
     license = with licenses; [ bsd2 ];
diff --git a/pkgs/shells/zsh/agdsn-zsh-config/default.nix b/pkgs/shells/zsh/agdsn-zsh-config/default.nix
index 9ff6c464bbe2f..8dae2edf21b6f 100644
--- a/pkgs/shells/zsh/agdsn-zsh-config/default.nix
+++ b/pkgs/shells/zsh/agdsn-zsh-config/default.nix
@@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A modified version of the Grml Zsh configuration specialised for the needs of system administration";
+    description = "Modified version of the Grml Zsh configuration specialised for the needs of system administration";
     homepage = "https://github.com/agdsn/agdsn-zsh-config";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
diff --git a/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix b/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix
index 21f265e846459..9d87f3b7385f1 100644
--- a/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix
+++ b/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix
@@ -23,7 +23,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A fast, asynchronous Zsh prompt";
+    description = "Fast, asynchronous Zsh prompt";
     homepage = "https://github.com/agkozak/agkozak-zsh-prompt";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/shells/zsh/antibody/default.nix b/pkgs/shells/zsh/antibody/default.nix
index 02f872730a743..fe32821dd6110 100644
--- a/pkgs/shells/zsh/antibody/default.nix
+++ b/pkgs/shells/zsh/antibody/default.nix
@@ -18,7 +18,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
-    description = "The fastest shell plugin manager";
+    description = "Fastest shell plugin manager";
     mainProgram = "antibody";
     homepage = "https://github.com/getantibody/antibody";
     license = licenses.mit;
diff --git a/pkgs/shells/zsh/antidote/default.nix b/pkgs/shells/zsh/antidote/default.nix
index f570c813e5965..f9838da927320 100644
--- a/pkgs/shells/zsh/antidote/default.nix
+++ b/pkgs/shells/zsh/antidote/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   meta = {
-    description = "A zsh plugin manager made from the ground up thinking about performance";
+    description = "Zsh plugin manager made from the ground up thinking about performance";
     homepage = "https://getantidote.github.io/";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.hitsmaxft ];
diff --git a/pkgs/shells/zsh/antigen/default.nix b/pkgs/shells/zsh/antigen/default.nix
index ca5fbee6e3687..1b2795ee971ef 100644
--- a/pkgs/shells/zsh/antigen/default.nix
+++ b/pkgs/shells/zsh/antigen/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "The plugin manager for zsh";
+    description = "Plugin manager for zsh";
     homepage = "https://antigen.sharats.me/";
     license = lib.licenses.mit;
   };
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 5af94223ec83c..c04d4d4bd6724 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
     "--enable-pcre"
     "--enable-zshenv=${placeholder "out"}/etc/zshenv"
     "--disable-site-fndir"
-    "--enable-function-subdirs"
+    # --enable-function-subdirs is not enabled due to it being slow at runtime in some cases
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform && !stdenv.hostPlatform.isStatic) [
     # Also see: https://github.com/buildroot/buildroot/commit/2f32e668aa880c2d4a2cce6c789b7ca7ed6221ba
     "zsh_cv_shared_environ=yes"
@@ -127,7 +127,7 @@ EOF
   '';
 
   meta = {
-    description = "The Z shell";
+    description = "Z shell";
     longDescription = ''
       Zsh is a UNIX command interpreter (shell) usable as an interactive login
       shell and as a shell script command processor.  Of the standard shells,
diff --git a/pkgs/shells/zsh/grml-zsh-config/default.nix b/pkgs/shells/zsh/grml-zsh-config/default.nix
index cff5a814bd131..ed7e81fd88d60 100644
--- a/pkgs/shells/zsh/grml-zsh-config/default.nix
+++ b/pkgs/shells/zsh/grml-zsh-config/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "grml's zsh setup";
     homepage = "https://grml.org/zsh/";
-    license = licenses.gpl2;
+    license = with licenses; [ gpl2Plus gpl2Only ];
     platforms = platforms.unix;
     maintainers = with maintainers; [ msteen rvolosatovs ];
   };
diff --git a/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix b/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
index f64f96a60aa74..1673b86c637f6 100644
--- a/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
+++ b/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "A ZSH theme optimized for people who use Git & Unicode-compatible fonts and terminals";
+    description = "ZSH theme optimized for people who use Git & Unicode-compatible fonts and terminals";
     homepage = "https://github.com/halfo/lambda-mod-zsh-theme/";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 1820e370a8921..790884579ee39 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,14 +5,14 @@
 , git, nix, nixfmt-classic, jq, coreutils, gnused, curl, cacert, bash }:
 
 stdenv.mkDerivation rec {
-  version = "2024-05-03";
+  version = "2024-06-20";
   pname = "oh-my-zsh";
 
   src = fetchFromGitHub {
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    rev = "668ca3a32dae5ff5d164fc3be565f1e2ece248db";
-    sha256 = "sha256-Rpqfwfs2MxNtSI5rX7XNx0oXExDgf7RAGR7nN8JAayY=";
+    rev = "a87e9c715b2d3249681f9cc8f8d9718030674d50";
+    sha256 = "sha256-5eE3tBYBw8nkmmSR32SM8z0I01MSQAtIP2pEkE3bgRs=";
   };
 
   strictDeps = true;
@@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A framework for managing your zsh configuration";
+    description = "Framework for managing your zsh configuration";
     longDescription = ''
       Oh My Zsh is a framework for managing your zsh configuration.
 
diff --git a/pkgs/shells/zsh/spaceship-prompt/default.nix b/pkgs/shells/zsh/spaceship-prompt/default.nix
index a9c6cb60df413..2a58427710e71 100644
--- a/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "spaceship-prompt";
-  version = "4.15.2";
+  version = "4.15.3";
 
   src = fetchFromGitHub {
     owner = "denysdovhan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-T5tilMwRc0vbj6Cq3xSf9Q77UfX2aQ+Y1RdkYtzD0k8=";
+    sha256 = "sha256-2Z9NUC1TR0lYBQux+Tkac0oFVnYIxsMkdWNGKQIz9IU=";
   };
 
   strictDeps = true;
diff --git a/pkgs/shells/zsh/zi/default.nix b/pkgs/shells/zsh/zi/default.nix
index b1adbe8d66162..1649a6a7fe88f 100644
--- a/pkgs/shells/zsh/zi/default.nix
+++ b/pkgs/shells/zsh/zi/default.nix
@@ -23,7 +23,7 @@ stdenvNoCC.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/z-shell/zi";
-    description = "A Swiss Army Knife for Zsh - Unix Shell";
+    description = "Swiss Army Knife for Zsh - Unix Shell";
     license = licenses.mit;
     maintainers = with maintainers; [ sei40kr ];
   };
diff --git a/pkgs/shells/zsh/zplug/default.nix b/pkgs/shells/zsh/zplug/default.nix
index 7fdc682387d70..4f6231d141103 100644
--- a/pkgs/shells/zsh/zplug/default.nix
+++ b/pkgs/shells/zsh/zplug/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A next-generation plugin manager for zsh";
+    description = "Next-generation plugin manager for zsh";
     homepage = "https://github.com/zplug/zplug";
     license = licenses.mit;
     maintainers = [ maintainers.s1341 ];
diff --git a/pkgs/shells/zsh/zsh-abbr/default.nix b/pkgs/shells/zsh/zsh-abbr/default.nix
index 20e9dcdb64729..795410a8329fe 100644
--- a/pkgs/shells/zsh/zsh-abbr/default.nix
+++ b/pkgs/shells/zsh/zsh-abbr/default.nix
@@ -5,24 +5,27 @@
 }:
 stdenv.mkDerivation rec {
   pname = "zsh-abbr";
-  version = "5.7.1";
+  version = "5.8.0";
 
   src = fetchFromGitHub {
     owner = "olets";
     repo = "zsh-abbr";
     rev = "v${version}";
-    hash = "sha256-2Uwo1gV732ZsSmJ6XU895Uqb5QOAQ2J1z85vufBv7nI=";
+    hash = "sha256-bsacP1f1daSYfgMvXduWQ64JJXnrFiLYURENKSMA9LM=";
   };
 
   strictDeps = true;
 
   installPhase = ''
     install -D zsh-abbr.zsh $out/share/zsh/${pname}/abbr.plugin.zsh
+    # Needed so that `man` can find the manpage, since it looks via PATH
+    mkdir -p $out/bin
+    mv man $out/share/man
   '';
 
   meta = with lib; {
     homepage = "https://github.com/olets/zsh-abbr";
-    description = "The zsh manager for auto-expanding abbreviations, inspired by fish shell";
+    description = "Zsh manager for auto-expanding abbreviations, inspired by fish shell";
     license = with licenses; [cc-by-nc-nd-40 hl3];
     maintainers = with maintainers; [icy-thought];
     platforms = platforms.all;
diff --git a/pkgs/shells/zsh/zsh-autopair/default.nix b/pkgs/shells/zsh/zsh-autopair/default.nix
index 73b70c00405ae..e950eadbcf401 100644
--- a/pkgs/shells/zsh/zsh-autopair/default.nix
+++ b/pkgs/shells/zsh/zsh-autopair/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/hlissner/zsh-autopair";
-    description = "A plugin that auto-closes, deletes and skips over matching delimiters in zsh intelligently";
+    description = "Plugin that auto-closes, deletes and skips over matching delimiters in zsh intelligently";
     license = licenses.mit;
     maintainers = with maintainers; [ _0qq ];
     platforms = platforms.all;
diff --git a/pkgs/shells/zsh/zsh-completions/default.nix b/pkgs/shells/zsh/zsh-completions/default.nix
index 1873c38fb9a16..a32d56bedd1f3 100644
--- a/pkgs/shells/zsh/zsh-completions/default.nix
+++ b/pkgs/shells/zsh/zsh-completions/default.nix
@@ -22,8 +22,13 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Additional completion definitions for zsh";
     homepage = "https://github.com/zsh-users/zsh-completions";
-    license = lib.licenses.free;
-
+    license = with lib.licenses; [
+      asl20
+      bsd3
+      isc
+      mit
+      zsh
+    ];
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.olejorgenb ];
   };
diff --git a/pkgs/shells/zsh/zsh-edit/default.nix b/pkgs/shells/zsh/zsh-edit/default.nix
index 9c734c928c24e..b1ca81e30ce85 100644
--- a/pkgs/shells/zsh/zsh-edit/default.nix
+++ b/pkgs/shells/zsh/zsh-edit/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/marlonrichert/zsh-edit";
-    description = "A set of powerful extensions to the Zsh command line editor";
+    description = "Set of powerful extensions to the Zsh command line editor";
     license = licenses.mit;
     maintainers = with maintainers; [ deejayem ];
     platforms = platforms.all;
diff --git a/pkgs/shells/zsh/zsh-forgit/default.nix b/pkgs/shells/zsh/zsh-forgit/default.nix
index 08f31a995aebc..13038e05c7092 100644
--- a/pkgs/shells/zsh/zsh-forgit/default.nix
+++ b/pkgs/shells/zsh/zsh-forgit/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/wfxr/forgit";
-    description = "A utility tool powered by fzf for using git interactively";
+    description = "Utility tool powered by fzf for using git interactively";
     mainProgram = "git-forgit";
     license = licenses.mit;
     maintainers = with maintainers; [ deejayem ];
diff --git a/pkgs/shells/zsh/zsh-fzf-history-search/default.nix b/pkgs/shells/zsh/zsh-fzf-history-search/default.nix
index c6d32f8d76120..67111738bd5d3 100644
--- a/pkgs/shells/zsh/zsh-fzf-history-search/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-history-search/default.nix
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation {
   '';
 
   meta = {
-    description = "A simple zsh plugin that replaces Ctrl+R with an fzf-driven select which includes date/times";
+    description = "Simple zsh plugin that replaces Ctrl+R with an fzf-driven select which includes date/times";
     homepage = "https://github.com/joshskidmore/zsh-fzf-history-search";
     license = lib.licenses.mit;
     platforms = lib.platforms.unix;
diff --git a/pkgs/shells/zsh/zsh-history/default.nix b/pkgs/shells/zsh/zsh-history/default.nix
index 6693f466216c2..146014e2c974c 100644
--- a/pkgs/shells/zsh/zsh-history/default.nix
+++ b/pkgs/shells/zsh/zsh-history/default.nix
@@ -28,7 +28,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A CLI to provide enhanced history for your ZSH shell";
+    description = "CLI to provide enhanced history for your ZSH shell";
     homepage = "https://github.com/b4b4r07/history";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
index 328360aa482ec..c9f610471f575 100644
--- a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
+++ b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     changelog = "https://github.com/romkatv/powerlevel10k/releases/tag/v${version}";
-    description = "A fast reimplementation of Powerlevel9k ZSH theme";
+    description = "Fast reimplementation of Powerlevel9k ZSH theme";
     longDescription = ''
       To make use of this derivation, use
       `programs.zsh.promptInit = "source ''${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";`
diff --git a/pkgs/shells/zsh/zsh-powerlevel9k/default.nix b/pkgs/shells/zsh/zsh-powerlevel9k/default.nix
index 35d5aa48b0c1c..4a0b0bd02dd68 100644
--- a/pkgs/shells/zsh/zsh-powerlevel9k/default.nix
+++ b/pkgs/shells/zsh/zsh-powerlevel9k/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A beautiful theme for zsh";
+    description = "Beautiful theme for zsh";
     longDescription = ''
       To make use of this derivation, use
       `programs.zsh.promptInit = "source ''${pkgs.zsh-powerlevel9k}/share/zsh-powerlevel9k/powerlevel9k.zsh-theme";`
diff --git a/pkgs/shells/zsh/zsh-prezto/default.nix b/pkgs/shells/zsh/zsh-prezto/default.nix
index e311bea156f11..ff79e8ea1a761 100644
--- a/pkgs/shells/zsh/zsh-prezto/default.nix
+++ b/pkgs/shells/zsh/zsh-prezto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-prezto";
-  version = "0-unstable-2024-04-15";
+  version = "0-unstable-2024-06-03";
 
   src = fetchFromGitHub {
     owner = "sorin-ionescu";
     repo = "prezto";
-    rev = "f5a8cb456b74d4d71caf46037a356d2deee27b50";
-    sha256 = "iikJ/U7amsmMgFIEYuIIIymNeWr4ag/QPeyQjBJ/lOY=";
+    rev = "9195b66161b196238cbd52a8a4abd027bdaf5f73";
+    sha256 = "wN/86uFBahUWl9RnKvdf88zVxou7B8Kh7/s3JfMye0g=";
     fetchSubmodules = true;
   };
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   passthru.updateScript = unstableGitUpdater {};
 
   meta = with lib; {
-    description = "The configuration framework for Zsh";
+    description = "Configuration framework for Zsh";
     longDescription = ''
       Prezto is the configuration framework for Zsh; it enriches
       the command line interface environment with sane defaults,
diff --git a/pkgs/shells/zsh/zsh-system-clipboard/default.nix b/pkgs/shells/zsh/zsh-system-clipboard/default.nix
index 6e875b6ee086e..10853b4dc0f1d 100644
--- a/pkgs/shells/zsh/zsh-system-clipboard/default.nix
+++ b/pkgs/shells/zsh/zsh-system-clipboard/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/kutsan/zsh-system-clipboard";
-    description = "A plugin that adds key bindings support for ZLE (Zsh Line Editor) clipboard operations for vi emulation keymaps";
+    description = "Plugin that adds key bindings support for ZLE (Zsh Line Editor) clipboard operations for vi emulation keymaps";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ _0qq ];
     platforms = platforms.all;
diff --git a/pkgs/shells/zsh/zsh-vi-mode/default.nix b/pkgs/shells/zsh/zsh-vi-mode/default.nix
index 42472625f13e8..b29dc4a344d17 100644
--- a/pkgs/shells/zsh/zsh-vi-mode/default.nix
+++ b/pkgs/shells/zsh/zsh-vi-mode/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/jeffreytse/zsh-vi-mode";
     license = licenses.mit;
-    description = "A better and friendly vi(vim) mode plugin for ZSH.";
+    description = "Better and friendly vi(vim) mode plugin for ZSH";
     maintainers = with maintainers; [ kyleondy ];
     platforms = platforms.all;
   };
diff --git a/pkgs/shells/zsh/zsh-you-should-use/default.nix b/pkgs/shells/zsh/zsh-you-should-use/default.nix
index be89f60d8927c..f6d6c8ecb147e 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.7.4";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "MichaelAquilina";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Jl3wZa/WIA+GtkUiCn0vKfd6N/GitOavwZ+uqfmzdps=";
+    sha256 = "sha256-fJX748lwVP1+GF/aIl1J3c6XAy/AtYCpEHsP8weUNo0=";
   };
 
   strictDeps = true;