diff --git a/manifest.dhall b/manifest.dhall
index c0beee6e0ad5c6e3012c5d420d10200040cd3392..37dfb858c02bcf843a121a2eaf251c78574e04e0 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -384,6 +384,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "profunctors" "5.6.2"
     , callHackage "prometheus-proc" "0.1.4.0"
     , callHackage "proteaaudio-sdl" "0.9.2"
+    , callHackage "psqueues" "0.2.7.3"
     , callHackage "quickcheck-dynamic" "2.0.0"
     , callHackage "quickcheck-instances" "0.3.28"
     , callHackage "rebase" "1.16"
diff --git a/overlay.nix b/overlay.nix
index a2c98d91cce4e696eea4606ae90bb1bf2c1780ee..424d0795dc72ca7204d9f2ca44d25cad722da14d 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -475,6 +475,8 @@ final: prev: with pkgs.haskell.lib; {
 
   proteaaudio-sdl = prev.callPackage (./pkgs/proteaaudio-sdl.nix) { };
 
+  psqueues = prev.callPackage (./pkgs/psqueues.nix) { };
+
   quickcheck-dynamic = prev.callPackage (./pkgs/quickcheck-dynamic.nix) { };
 
   quickcheck-instances = prev.callPackage (./pkgs/quickcheck-instances.nix) { };
diff --git a/pkgs/psqueues.nix b/pkgs/psqueues.nix
new file mode 100644
index 0000000000000000000000000000000000000000..d5dd106b1589e565c8a233a2980f9b493ca23e40
--- /dev/null
+++ b/pkgs/psqueues.nix
@@ -0,0 +1,66 @@
+{ mkDerivation
+, array
+, base
+, containers
+, criterion
+, deepseq
+, fingertree-psqueue
+, ghc-prim
+, hashable
+, HUnit
+, lib
+, mtl
+, PSQueue
+, QuickCheck
+, random
+, tagged
+, tasty
+, tasty-hunit
+, tasty-quickcheck
+, unordered-containers
+}:
+mkDerivation {
+  pname = "psqueues";
+  version = "0.2.7.3";
+  sha256 = "d09750ba3578d905b54d0b3a60a7b468910a60b3165e5de98bf6f4efae3ebfb2";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base deepseq ghc-prim hashable ];
+  testHaskellDepends = [
+    array
+    base
+    deepseq
+    ghc-prim
+    hashable
+    HUnit
+    QuickCheck
+    tagged
+    tasty
+    tasty-hunit
+    tasty-quickcheck
+  ];
+  benchmarkHaskellDepends = [
+    base
+    containers
+    criterion
+    deepseq
+    fingertree-psqueue
+    ghc-prim
+    hashable
+    mtl
+    PSQueue
+    random
+    unordered-containers
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Pure priority search queues";
+  license = lib.licenses.bsd3;
+  broken = false;
+}