about summary refs log tree commit diff
path: root/nixpkgs/pkgs/shells
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/shells')
-rw-r--r--nixpkgs/pkgs/shells/bash/5.nix3
-rw-r--r--nixpkgs/pkgs/shells/carapace/default.nix6
-rw-r--r--nixpkgs/pkgs/shells/fish/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/fish/plugins/done.nix4
-rw-r--r--nixpkgs/pkgs/shells/fish/plugins/tide.nix4
-rw-r--r--nixpkgs/pkgs/shells/fish/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/shells/hishtory/default.nix6
-rw-r--r--nixpkgs/pkgs/shells/murex/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/nix-your-shell/default.nix1
-rw-r--r--nixpkgs/pkgs/shells/nushell/nu_scripts/default.nix6
-rw-r--r--nixpkgs/pkgs/shells/nushell/plugins/default.nix1
-rw-r--r--nixpkgs/pkgs/shells/nushell/plugins/formats.nix29
-rw-r--r--nixpkgs/pkgs/shells/nushell/plugins/gstat.nix27
-rw-r--r--nixpkgs/pkgs/shells/nushell/plugins/query.nix22
-rw-r--r--nixpkgs/pkgs/shells/nushell/plugins/regex.nix32
-rw-r--r--nixpkgs/pkgs/shells/powershell/default.nix172
-rwxr-xr-xnixpkgs/pkgs/shells/powershell/getHashes.sh33
-rw-r--r--nixpkgs/pkgs/shells/zsh/antidote/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/default.nix7
-rw-r--r--nixpkgs/pkgs/shells/zsh/fzf-zsh/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/zimfw/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-f-sy-h/default.nix32
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix2
25 files changed, 255 insertions, 156 deletions
diff --git a/nixpkgs/pkgs/shells/bash/5.nix b/nixpkgs/pkgs/shells/bash/5.nix
index 3beb54b908e2..3c4fb83e3e4e 100644
--- a/nixpkgs/pkgs/shells/bash/5.nix
+++ b/nixpkgs/pkgs/shells/bash/5.nix
@@ -2,7 +2,6 @@
 , stdenv
 , buildPackages
 , fetchurl
-, binutils
 , bison
 , util-linux
 
@@ -95,7 +94,7 @@ stdenv.mkDerivation rec {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ bison ]
     ++ lib.optional withDocs texinfo
-    ++ lib.optional stdenv.hostPlatform.isDarwin binutils;
+    ++ lib.optional stdenv.hostPlatform.isDarwin stdenv.cc.bintools;
 
   buildInputs = lib.optional interactive readline;
 
diff --git a/nixpkgs/pkgs/shells/carapace/default.nix b/nixpkgs/pkgs/shells/carapace/default.nix
index ee5f254089c4..b94201c96d77 100644
--- a/nixpkgs/pkgs/shells/carapace/default.nix
+++ b/nixpkgs/pkgs/shells/carapace/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "carapace";
-  version = "0.27.0";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "rsteube";
     repo = "${pname}-bin";
     rev = "v${version}";
-    hash = "sha256-UcJbWOYkNUJEilJL/LG5o+I1ugqEOEGfs+uvKUMnTMU=";
+    hash = "sha256-0ubZt4KsjsoIcglo/lh9JDAZjuACBNdVLJazH0Csxl0=";
   };
 
-  vendorHash = "sha256-PN8ARsJQqRj333ervoy24PZoWkrCIYiGxOovzEhPNZQ=";
+  vendorHash = "sha256-35Gmye5NPOtUaW8zNkjK0cQ3FRB1fK7UyqT5c17rls4=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/shells/fish/default.nix b/nixpkgs/pkgs/shells/fish/default.nix
index 4df95a9ca6fe..bd816f9a8991 100644
--- a/nixpkgs/pkgs/shells/fish/default.nix
+++ b/nixpkgs/pkgs/shells/fish/default.nix
@@ -79,7 +79,7 @@ let
     # note that this is required:
     #   1. For all shells, not just login shells (mosh needs this as do some other command-line utilities)
     #   2. Before the shell is initialized, so that config snippets can find the commands they use on the PATH
-    builtin status --is-login
+    builtin status is-login
     or test -z "$__fish_nixos_env_preinit_sourced" -a -z "$ETC_PROFILE_SOURCED" -a -z "$ETC_ZSHENV_SOURCED"
     ${if fishEnvPreInit != null then ''
     and begin
diff --git a/nixpkgs/pkgs/shells/fish/plugins/done.nix b/nixpkgs/pkgs/shells/fish/plugins/done.nix
index ffbd8dfdaa03..ad16e257bf62 100644
--- a/nixpkgs/pkgs/shells/fish/plugins/done.nix
+++ b/nixpkgs/pkgs/shells/fish/plugins/done.nix
@@ -2,13 +2,13 @@
 
 buildFishPlugin rec {
   pname = "done";
-  version = "1.16.5";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = "franciscolourenco";
     repo = "done";
     rev = version;
-    sha256 = "E0wveeDw1VzEH2kzn63q9hy1xkccfxQHBV2gVpu2IdQ=";
+    hash = "sha256-aYKTkx5v7tB6k/UBcS0NOgA6SiRrjzn1lUTH/Xp5DFM=";
   };
 
   checkPlugins = [ fishtape ];
diff --git a/nixpkgs/pkgs/shells/fish/plugins/tide.nix b/nixpkgs/pkgs/shells/fish/plugins/tide.nix
index 94cbfaa6b8f9..39afd487afdb 100644
--- a/nixpkgs/pkgs/shells/fish/plugins/tide.nix
+++ b/nixpkgs/pkgs/shells/fish/plugins/tide.nix
@@ -4,13 +4,13 @@
 # Refer to the following comment to get you setup: https://github.com/NixOS/nixpkgs/pull/201646#issuecomment-1320893716
 buildFishPlugin rec {
   pname = "tide";
-  version = "5.6.0";
+  version = "6.0.1";
 
   src = fetchFromGitHub {
     owner = "IlanCosman";
     repo = "tide";
     rev = "v${version}";
-    hash = "sha256-cCI1FDpvajt1vVPUd/WvsjX/6BJm6X1yFPjqohmo1rI=";
+    hash = "sha256-oLD7gYFCIeIzBeAW1j62z5FnzWAp3xSfxxe7kBtTLgA=";
   };
 
   #buildFishplugin will only move the .fish files, but tide has a tide configure function
diff --git a/nixpkgs/pkgs/shells/fish/wrapper.nix b/nixpkgs/pkgs/shells/fish/wrapper.nix
index 75213809821f..62ae03ec9ef9 100644
--- a/nixpkgs/pkgs/shells/fish/wrapper.nix
+++ b/nixpkgs/pkgs/shells/fish/wrapper.nix
@@ -18,7 +18,7 @@ let
     name = "wrapfish.aliases.fish";
     destination = "/share/fish/vendor_conf.d/aliases.fish";
     text = ''
-      status --is-interactive; and begin
+      status is-interactive; and begin
         # Aliases
         ${aliasesStr}
       end
diff --git a/nixpkgs/pkgs/shells/hishtory/default.nix b/nixpkgs/pkgs/shells/hishtory/default.nix
index 818dd4b11281..1d5256e401ac 100644
--- a/nixpkgs/pkgs/shells/hishtory/default.nix
+++ b/nixpkgs/pkgs/shells/hishtory/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "hishtory";
-  version = "0.208";
+  version = "0.215";
 
   src = fetchFromGitHub {
     owner = "ddworken";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-TEto5lLH5nwqJ9PaYKrYCNW4/zrIICANQlGmqwDbOm4=";
+    hash = "sha256-XDxAzMQjtCfufWnEO5NXP8Zv823a85qYhkZcEZKxIXs=";
   };
 
-  vendorHash = "sha256-FodgIELV5JbqP3h/mIDDYARZcols9ZEtVREW1853EOI=";
+  vendorHash = "sha256-aXHqPk8iBMbe0NlsY3ZR7iozBGCAKlOOQ23FAD/5hL8=";
 
   ldflags = [ "-X github.com/ddworken/hishtory/client/lib.Version=${version}" ];
 
diff --git a/nixpkgs/pkgs/shells/murex/default.nix b/nixpkgs/pkgs/shells/murex/default.nix
index aa8ddafd4035..81b585b28fdf 100644
--- a/nixpkgs/pkgs/shells/murex/default.nix
+++ b/nixpkgs/pkgs/shells/murex/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "murex";
-  version = "5.0.9310";
+  version = "5.1.2210";
 
   src = fetchFromGitHub {
     owner = "lmorg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gwaNz4OgYs5mAMi/HtLOXoIJA/iHPKX+eiVBP2l2YFU=";
+    sha256 = "sha256-N0sWTWZJT4hjivTreYfG5VkxiWgTjlH+/9VZD6YKQXY=";
   };
 
   vendorHash = "sha256-PClKzvpztpry8xsYLfWB/9s/qI5k2m8qHBxkxY0AJqI=";
diff --git a/nixpkgs/pkgs/shells/nix-your-shell/default.nix b/nixpkgs/pkgs/shells/nix-your-shell/default.nix
index 87a3c0631291..8b2c36daf127 100644
--- a/nixpkgs/pkgs/shells/nix-your-shell/default.nix
+++ b/nixpkgs/pkgs/shells/nix-your-shell/default.nix
@@ -17,6 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-4Z/z4VgnJQd8Uc0tMDnx7sChzXtG5ZDL88jTlhPSonM=";
 
   meta = with lib; {
+    mainProgram = "nix-your-shell";
     description = "A `nix` and `nix-shell` wrapper for shells other than `bash`";
     homepage = "https://github.com/MercuryTechnologies/nix-your-shell";
     license = [ licenses.mit ];
diff --git a/nixpkgs/pkgs/shells/nushell/nu_scripts/default.nix b/nixpkgs/pkgs/shells/nushell/nu_scripts/default.nix
index 0abe1d4abfe9..8643faccd8ff 100644
--- a/nixpkgs/pkgs/shells/nushell/nu_scripts/default.nix
+++ b/nixpkgs/pkgs/shells/nushell/nu_scripts/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nu_scripts";
-  version = "unstable-2023-08-24";
+  version = "unstable-2023-10-07";
 
   src = fetchFromGitHub {
     owner = "nushell";
     repo = pname;
-    rev = "36a45f28a39ee1526a748b53f438a41ae939fc7c";
-    hash = "sha256-QhERyWomyOOk9aYRjm69ykzOR3G/uGM/A4Pr9PlB71w=";
+    rev = "85da8c2fb5967a7f575d8f63ebeb8d49d36fc139";
+    hash = "sha256-tT/BTnIXEgcMoyfujzWMFlOM7EclWT9LL/dt5jj7Y2M=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/shells/nushell/plugins/default.nix b/nixpkgs/pkgs/shells/nushell/plugins/default.nix
index 44b5b05a739f..dfe2a4062c89 100644
--- a/nixpkgs/pkgs/shells/nushell/plugins/default.nix
+++ b/nixpkgs/pkgs/shells/nushell/plugins/default.nix
@@ -4,4 +4,5 @@ lib.makeScope newScope (self: with self; {
   gstat = callPackage ./gstat.nix { inherit Security; };
   formats = callPackage ./formats.nix { inherit IOKit Foundation; };
   query = callPackage ./query.nix { inherit IOKit CoreFoundation; };
+  regex = callPackage ./regex.nix { };
 })
diff --git a/nixpkgs/pkgs/shells/nushell/plugins/formats.nix b/nixpkgs/pkgs/shells/nushell/plugins/formats.nix
index 8c511782e3de..5f75951b8c95 100644
--- a/nixpkgs/pkgs/shells/nushell/plugins/formats.nix
+++ b/nixpkgs/pkgs/shells/nushell/plugins/formats.nix
@@ -5,25 +5,32 @@
 , pkg-config
 , IOKit
 , Foundation
+, nix-update-script
 }:
 
-let
+rustPlatform.buildRustPackage rec {
   pname = "nushell_plugin_formats";
-in
-rustPlatform.buildRustPackage {
-  inherit pname;
-  version = "0.85.0";
-  src = nushell.src;
-  cargoHash = "sha256-OKtktjBOujvljAX260TbC2sQWZOiGgU+sXsbYRhGPRM=";
+  inherit (nushell) version src;
+  cargoHash = "sha256-WS8VRpJnn/VWS7GUkGowFf51ifUx0SbEZzcoTfx2dp0=";
+
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ IOKit Foundation ];
+  buildInputs = lib.optionals stdenv.isDarwin [ IOKit Foundation ];
   cargoBuildFlags = [ "--package nu_plugin_formats" ];
-  doCheck = false;
+
+  checkPhase = ''
+    cargo test --manifest-path crates/nu_plugin_formats/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 = "A formats plugin for Nushell";
-    homepage = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_formats";
+    homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_formats";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ viraptor ];
+    maintainers = with maintainers; [ viraptor aidalgol ];
     platforms = with platforms; all;
   };
 }
diff --git a/nixpkgs/pkgs/shells/nushell/plugins/gstat.nix b/nixpkgs/pkgs/shells/nushell/plugins/gstat.nix
index f7e912a6fdc6..bf788098a5eb 100644
--- a/nixpkgs/pkgs/shells/nushell/plugins/gstat.nix
+++ b/nixpkgs/pkgs/shells/nushell/plugins/gstat.nix
@@ -5,25 +5,32 @@
 , nushell
 , pkg-config
 , Security
+, nix-update-script
 }:
 
-let
+rustPlatform.buildRustPackage rec {
   pname = "nushell_plugin_gstat";
-in
-rustPlatform.buildRustPackage {
-  inherit pname;
-  version = "0.85.0";
-  src = nushell.src;
-  cargoHash = "sha256-Fj70uKYzEKxeZeNrqlwM7ZFJ+K1tz10RqLndrdY40CE=";
+  inherit (nushell) version src;
+  cargoHash = "sha256-6luY3SIRRd9vaY9KIJcj8Q974FW0LtAvRjVpdpzkdLo=";
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
   cargoBuildFlags = [ "--package nu_plugin_gstat" ];
-  doCheck = false; # some tests fail
+
+  checkPhase = ''
+    cargo test --manifest-path crates/nu_plugin_gstat/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 = "A git status plugin for Nushell";
-    homepage = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_gstat";
+    homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_gstat";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ mrkkrp ];
+    maintainers = with maintainers; [ mrkkrp aidalgol ];
     platforms = with platforms; all;
   };
 }
diff --git a/nixpkgs/pkgs/shells/nushell/plugins/query.nix b/nixpkgs/pkgs/shells/nushell/plugins/query.nix
index 51db91bec266..25097a5d6297 100644
--- a/nixpkgs/pkgs/shells/nushell/plugins/query.nix
+++ b/nixpkgs/pkgs/shells/nushell/plugins/query.nix
@@ -9,28 +9,26 @@
 
 rustPlatform.buildRustPackage {
   pname = "nushell_plugin_query";
-  version = "0.85.0";
-
-  src = nushell.src;
-
-  cargoHash = "sha256-8iUqOdGWm2kDW72ptlCBIqqe4zjckN09MOQD77kCf5Y=";
+  inherit (nushell) version src;
+  cargoHash = "sha256-xyty3GfI+zNkuHs7LYHBctqXUHZ4/MNNcnnfYvI18do=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ IOKit CoreFoundation ];
-
   cargoBuildFlags = [ "--package nu_plugin_query" ];
 
-  # compilation fails with a missing symbol
-  doCheck = false;
+  checkPhase = ''
+    cargo test --manifest-path crates/nu_plugin_query/Cargo.toml
+  '';
 
-  passthru = {
-    updateScript = nix-update-script { };
+  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 = "A Nushell plugin to query JSON, XML, and various web data";
-    homepage = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_query";
+    homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_query";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ happysalada ];
+    maintainers = with maintainers; [ happysalada aidalgol ];
     platforms = with platforms; all;
   };
 }
diff --git a/nixpkgs/pkgs/shells/nushell/plugins/regex.nix b/nixpkgs/pkgs/shells/nushell/plugins/regex.nix
new file mode 100644
index 000000000000..457c7170a5b3
--- /dev/null
+++ b/nixpkgs/pkgs/shells/nushell/plugins/regex.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, lib
+, rustPlatform
+, fetchFromGitHub
+, nix-update-script
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "nushell_plugin_regex";
+  version = "unstable-2023-10-08";
+
+  src = fetchFromGitHub {
+    owner = "fdncred";
+    repo = "nu_plugin_regex";
+    rev = "e1aa88e703f1f632ede685dd733472d34dd0c8e7";
+    hash = "sha256-GJgnsaeNDJoJjw8RPw6wpEq1mIult18Eh4frl8Plgxc=";
+  };
+
+  cargoHash = "sha256-AACpzSavY6MlYnl1lDYxVlfsEvEpNK0u8SzsoSZbqFc=";
+
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
+  meta = with lib; {
+    description = "A Nushell plugin to parse regular expressions";
+    homepage = "https://github.com/fdncred/nu_plugin_regex";
+    license = licenses.mit;
+    maintainers = with maintainers; [ aidalgol ];
+    platforms = with platforms; all;
+  };
+}
diff --git a/nixpkgs/pkgs/shells/powershell/default.nix b/nixpkgs/pkgs/shells/powershell/default.nix
index 2f7bc15c1b3c..b84cfb5be7a6 100644
--- a/nixpkgs/pkgs/shells/powershell/default.nix
+++ b/nixpkgs/pkgs/shells/powershell/default.nix
@@ -1,89 +1,139 @@
-{ stdenv, lib, autoPatchelfHook, fetchurl, libunwind, libuuid, icu, curl
-, darwin, makeWrapper, less, openssl, pam, lttng-ust }:
-
-let archString = if stdenv.isAarch64 then "arm64"
-                 else if stdenv.isx86_64 then "x64"
-                 else throw "unsupported platform";
-    platformString = if stdenv.isDarwin then "osx"
-                     else if stdenv.isLinux then "linux"
-                     else throw "unsupported platform";
-    platformHash = {
-      x86_64-darwin = "sha256-FX3OyVzwU+Ms2tgjpZ4dPdjeJx2H5541dQZAjhI3n1U=";
-      aarch64-darwin = "sha256-Dg7FRF5inRnzP6tjDhIgHTJ1J2EQXnegqimZPK574WQ=";
-      x86_64-linux = "sha256-6F1VROE6kk+LLEpdwtQ6vkbkZjP4no0TjTnAqurLmXY=";
-      aarch64-linux = "sha256-NO4E2TOUIYyUFJmi3zKJzOyP0/rTPTZgJZcebVNkSfk=";
-    }.${stdenv.hostPlatform.system} or (throw "unsupported platform");
-    platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH"
-                     else if stdenv.isLinux then "LD_LIBRARY_PATH"
-                     else throw "unsupported platform";
-                     libraries = [ libunwind libuuid icu curl openssl ] ++
-                       (if stdenv.isLinux then [ pam lttng-ust ] else [ darwin.Libsystem ]);
+{ lib
+, stdenv
+, fetchurl
+, less
+, makeWrapper
+, autoPatchelfHook
+, curl
+, icu
+, libuuid
+, libunwind
+, openssl
+, darwin
+, lttng-ust
+, pam
+, testers
+, powershell
+, writeShellScript
+, common-updater-scripts
+, gnused
+, jq
+}:
+
+let
+  ext = stdenv.hostPlatform.extensions.sharedLibrary;
+  platformLdLibraryPath = {
+    darwin = "DYLD_FALLBACK_LIBRARY_PATH";
+    linux = "LD_LIBRARY_PATH";
+  }.${stdenv.hostPlatform.parsed.kernel.name} or (throw "unsupported platform");
 in
 stdenv.mkDerivation rec {
   pname = "powershell";
-  version = "7.3.4";
+  version = "7.3.8";
 
-  src = fetchurl {
-    url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-${archString}.tar.gz";
-    hash = platformHash;
-  };
+  src = passthru.sources.${stdenv.hostPlatform.system}
+    or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   sourceRoot = ".";
 
   strictDeps = true;
-  buildInputs = [ less ] ++ libraries;
-  nativeBuildInputs = [ makeWrapper ]
-    ++ lib.optional stdenv.isLinux autoPatchelfHook;
 
-  installPhase =
-  let
-    ext = stdenv.hostPlatform.extensions.sharedLibrary;
-  in ''
-    pslibs=$out/share/powershell
-    mkdir -p $pslibs
+  nativeBuildInputs = [
+    less
+    makeWrapper
+  ] ++ lib.optionals stdenv.isLinux [
+    autoPatchelfHook
+  ];
+
+  buildInputs = [
+    curl
+    icu
+    libuuid
+    libunwind
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.Libsystem
+  ] ++ lib.optionals stdenv.isLinux [
+    lttng-ust
+    pam
+  ];
 
-    cp -r * $pslibs
+  installPhase = ''
+    runHook preInstall
 
-    # At least the 7.1.4-osx package does not have the executable bit set.
-    chmod a+x $pslibs/pwsh
+    mkdir -p $out/{bin,share/powershell}
+    cp -R * $out/share/powershell
+    chmod +x $out/share/powershell/pwsh
+    makeWrapper $out/share/powershell/pwsh $out/bin/pwsh \
+      --prefix ${platformLdLibraryPath} : "${lib.makeLibraryPath buildInputs}" \
+      --set TERM xterm \
+      --set POWERSHELL_TELEMETRY_OPTOUT 1 \
+      --set DOTNET_CLI_TELEMETRY_OPTOUT 1
 
   '' + lib.optionalString (stdenv.isLinux && stdenv.isx86_64) ''
-    patchelf --replace-needed libcrypto${ext}.1.0.0 libcrypto${ext} $pslibs/libmi.so
-    patchelf --replace-needed libssl${ext}.1.0.0 libssl${ext} $pslibs/libmi.so
-  '' + lib.optionalString stdenv.isLinux ''
-    patchelf --replace-needed liblttng-ust${ext}.0 liblttng-ust${ext}.1 $pslibs/libcoreclrtraceptprovider.so
-  '' + ''
+    patchelf --replace-needed libcrypto${ext}.1.0.0 libcrypto${ext} $out/share/powershell/libmi.so
+    patchelf --replace-needed libssl${ext}.1.0.0 libssl${ext} $out/share/powershell/libmi.so
 
-    mkdir -p $out/bin
+  '' + lib.optionalString stdenv.isLinux ''
+    patchelf --replace-needed liblttng-ust${ext}.0 liblttng-ust${ext}.1 $out/share/powershell/libcoreclrtraceptprovider.so
 
-    makeWrapper $pslibs/pwsh $out/bin/pwsh \
-      --prefix ${platformLdLibraryPath} : "${lib.makeLibraryPath libraries}" \
-      --set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1 --set DOTNET_CLI_TELEMETRY_OPTOUT 1
+  '' + ''
+    runHook postInstall
   '';
 
   dontStrip = true;
 
-  doInstallCheck = true;
-  installCheckPhase = ''
-    # May need a writable home, seen on Darwin.
-    HOME=$TMP $out/bin/pwsh --help > /dev/null
-  '';
+  passthru = {
+    shellPath = "/bin/pwsh";
+    sources = {
+      aarch64-darwin = fetchurl {
+        url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-arm64.tar.gz";
+        hash = "sha256-0FyTt+tn3mpr6LxC3oQvmULNO8+Jp7qsjISRdTesCCI=";
+      };
+      aarch64-linux = fetchurl {
+        url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-arm64.tar.gz";
+        hash = "sha256-BNf157sdXg7pV6Hfg9luw3Xi03fTekesBQCwDFeO8ZI=";
+      };
+      x86_64-darwin = fetchurl {
+        url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-x64.tar.gz";
+        hash = "sha256-Ts+nF6tPQZfYgJAvPtijvYBGSrg5mxCeNEa0X74/g4M=";
+      };
+      x86_64-linux = fetchurl {
+        url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-x64.tar.gz";
+        hash = "sha256-iELDoFTy/W6Wm0gNJmywwvp811WycjffBTMDRtrWdVU=";
+      };
+    };
+    tests.version = testers.testVersion {
+      package = powershell;
+      command = "HOME=$(mktemp -d) pwsh --version";
+    };
+    updateScript = writeShellScript "update-powershell" ''
+      set -o errexit
+      export PATH="${lib.makeBinPath [ common-updater-scripts curl gnused jq ]}"
+      NEW_VERSION=$(curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq .tag_name --raw-output | sed -e 's/v//')
+
+      if [[ "${version}" = "$NEW_VERSION" ]]; then
+        echo "The new version same as the old version."
+        exit 0
+      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"
+      done
+    '';
+  };
 
   meta = with lib; {
     description = "Powerful cross-platform (Windows, Linux, and macOS) shell and scripting language based on .NET";
-    homepage = "https://github.com/PowerShell/PowerShell";
+    homepage = "https://microsoft.com/PowerShell";
+    license = licenses.mit;
+    mainProgram = "pwsh";
+    maintainers = with maintainers; [ wegank ];
+    platforms = builtins.attrNames passthru.sources;
     sourceProvenance = with sourceTypes; [
       binaryBytecode
       binaryNativeCode
     ];
-    maintainers = with maintainers; [ yrashk srgom p3psi ];
-    mainProgram = "pwsh";
-    platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux" "aarch64-darwin" ];
-    license = with licenses; [ mit ];
   };
-
-  passthru = {
-    shellPath = "/bin/pwsh";
-  };
-
 }
diff --git a/nixpkgs/pkgs/shells/powershell/getHashes.sh b/nixpkgs/pkgs/shells/powershell/getHashes.sh
deleted file mode 100755
index 785ab264ebcc..000000000000
--- a/nixpkgs/pkgs/shells/powershell/getHashes.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p bash wget coreutils nix
-version=$1
-
-if [[ -z $version ]]
-then
-    echo "Pass the version to get hashes for as an argument"
-    exit 1
-fi
-
-allOutput=""
-
-dlDest=$(mktemp)
-
-trap 'rm $dlDest' EXIT
-
-for plat in osx linux; do
-    for arch in x64 arm64; do
-
-        URL="https://github.com/PowerShell/PowerShell/releases/download/v$version/powershell-$version-$plat-$arch.tar.gz"
-        wget $URL -O $dlDest >&2
-
-        hash=$(nix hash file $dlDest)
-
-        allOutput+="
-variant: $plat $arch
-hash: $hash
-"
-
-    done
-done
-
-echo "$allOutput"
diff --git a/nixpkgs/pkgs/shells/zsh/antidote/default.nix b/nixpkgs/pkgs/shells/zsh/antidote/default.nix
index a1bb818f6d8f..3506f0853f5f 100644
--- a/nixpkgs/pkgs/shells/zsh/antidote/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/antidote/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "1.9.1";
+  version = "1.9.2";
   pname = "antidote";
 
   src = fetchFromGitHub {
     owner = "mattmc3";
     repo = "antidote";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-wRLMjaBpzttQ6MUgl1AFC2SRlEEwjASdEnguGlP+XgU=";
+    hash = "sha256-h+Gay1InnOY6tc8Iir5QzCC7FQj9cVWSn5YViEAHraU=";
   };
 
   dontPatch = true;
diff --git a/nixpkgs/pkgs/shells/zsh/default.nix b/nixpkgs/pkgs/shells/zsh/default.nix
index 4a05ee9ead57..5af94223ec83 100644
--- a/nixpkgs/pkgs/shells/zsh/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/default.nix
@@ -11,7 +11,9 @@
 , ncurses
 , pcre
 , pkg-config
-, buildPackages }:
+, buildPackages
+, nixosTests
+}:
 
 let
   version = "5.9";
@@ -143,5 +145,8 @@ EOF
 
   passthru = {
     shellPath = "/bin/zsh";
+    tests = {
+      inherit (nixosTests) zsh-history oh-my-zsh;
+    };
   };
 }
diff --git a/nixpkgs/pkgs/shells/zsh/fzf-zsh/default.nix b/nixpkgs/pkgs/shells/zsh/fzf-zsh/default.nix
index aa5af013e43e..40c4edaff86e 100644
--- a/nixpkgs/pkgs/shells/zsh/fzf-zsh/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/fzf-zsh/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/wyntau/fzf-zsh";
     description = "wrap fzf to use in oh-my-zsh";
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix b/nixpkgs/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
index eae5f77904b5..f64f96a60aa7 100644
--- a/nixpkgs/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/halfo/lambda-mod-zsh-theme/";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
index 41935f75bddd..b7c7284e9f43 100644
--- a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "spaceship-prompt";
-  version = "4.14.0";
+  version = "4.14.1";
 
   src = fetchFromGitHub {
     owner = "denysdovhan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-aoifMAjJvv1WAlINNkMwCCop6znxyivoD3vQDo/ZbfQ=";
+    sha256 = "sha256-dl8Ao9Sg+wbFpp6LfWD6isEKou75UzfJkTjZrue4A0A=";
   };
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/shells/zsh/zimfw/default.nix b/nixpkgs/pkgs/shells/zsh/zimfw/default.nix
index 5f58d3d5e9f9..af452968fa63 100644
--- a/nixpkgs/pkgs/shells/zsh/zimfw/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zimfw/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "zimfw";
-  version = "1.12.0";
+  version = "1.12.1";
   src = fetchFromGitHub {
     owner = "zimfw";
     repo = "zimfw";
     rev = "v${version}";
     ## zim only needs this one file to be installed.
     sparseCheckout = [ "zimfw.zsh" ];
-    sha256 = "sha256-PwfPiga4KcOrkkObIu3RCUmO2ExoDQkbQx7S+Yncy6k=";
+    sha256 = "sha256-BoUNUdhRUWNi2ttxgWJxbjHw64K9k0rNjRi2L4V+gLk=";
   };
   strictDeps = true;
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-f-sy-h/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-f-sy-h/default.nix
new file mode 100644
index 000000000000..0e18eaa95838
--- /dev/null
+++ b/nixpkgs/pkgs/shells/zsh/zsh-f-sy-h/default.nix
@@ -0,0 +1,32 @@
+{ stdenvNoCC, lib, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "zsh-f-sy-h";
+  version = "1.67";
+
+  src = fetchFromGitHub {
+    owner = "z-shell";
+    repo = "F-Sy-H";
+    rev = "v${version}";
+    sha256 = "0bcsc4kgda577fs3bnvymmxdz3z5mf19pn8ngfqsklabnf79f5nf";
+  };
+
+  strictDeps = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    plugindir="$out/share/zsh/site-functions"
+
+    mkdir -p "$plugindir"
+    cp -r -- F-Sy-H.plugin.zsh chroma functions share themes "$plugindir"/
+  '';
+
+  meta = with lib; {
+    description = "Feature-rich Syntax Highlighting for Zsh";
+    homepage = "https://github.com/z-shell/F-Sy-H";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mrfreezeex ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix
index 95cdb3273c54..b3db825bbba6 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zsh-you-should-use/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/MichaelAquilina/zsh-you-should-use";
     license = licenses.gpl3;
     description = "ZSH plugin that reminds you to use existing aliases for commands you just typed";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }