diff --git a/overlays/backports.nix b/overlays/backports.nix
index 036f4fd..0175948 100644
--- a/overlays/backports.nix
+++ b/overlays/backports.nix
@@ -25,7 +25,7 @@ let
   stripJavaArchivesHook = final.makeSetupHook {
     name = "strip-java-archives-hook";
     propagatedBuildInputs = [ final.strip-nondeterminism ];
-  } "${nixfiles.inputs.nixpkgs-unstable}/pkgs/build-support/setup-hooks/strip-java-archives.sh";
+  } ./strip-java-archives.sh;
 
 in {
   vesktop = backport' "vesktop";
diff --git a/overlays/strip-java-archives.sh b/overlays/strip-java-archives.sh
new file mode 100644
index 0000000..2232246
--- /dev/null
+++ b/overlays/strip-java-archives.sh
@@ -0,0 +1,16 @@
+# This setup hook makes the fixup phase to repack all java archives in a
+# deterministic fashion. The most important change being done is the resetting
+# of the modification times of the archive entries
+
+fixupOutputHooks+=('stripJavaArchivesIn $prefix')
+
+stripJavaArchivesIn() {
+    local dir="$1"
+    echo "stripping java archives in $dir"
+    find $dir -type f -regextype posix-egrep -regex ".*\.(jar|war|hpi|apk)$" -print0 |
+    while IFS= read -rd '' f; do
+        echo "stripping java archive $f"
+        strip-nondeterminism --type jar "$f"
+    done
+}
+