diff --git a/manifest.dhall b/manifest.dhall
index d7d47af1efe8f9ee03b651ffba68e33044e4a115..c57044df8c223d87f01dada765344221016dd8c4 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -142,6 +142,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "composite-dhall" "0.1.0.1"
     , callHackage "composite-lens-extra" "0.1.0.0"
     , callHackage "composite-tuple" "0.1.2.0"
+    , callHackage "concurrent-output" "1.10.16"
     , callHackage "conduit" "1.3.4.2"
     , callHackage "conduit-extra" "1.3.6"
     , callHackage "config-ini" "0.2.5.0"
diff --git a/overlay.nix b/overlay.nix
index 0bbd99fb0282f2c20f8802e4888aaf0d85d43a53..62e6cae61437ae68377ab72e625cb38568e25511 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -151,6 +151,8 @@ final: prev: with pkgs.haskell.lib; {
 
   composite-tuple = prev.callPackage (./pkgs/composite-tuple.nix) { };
 
+  concurrent-output = prev.callPackage (./pkgs/concurrent-output.nix) { };
+
   conduit = prev.callPackage (./pkgs/conduit.nix) { };
 
   conduit-extra = prev.callPackage (./pkgs/conduit-extra.nix) { };
diff --git a/pkgs/concurrent-output.nix b/pkgs/concurrent-output.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8a46550ecf1057e57b6c85566b5cdb5b24b4e3d7
--- /dev/null
+++ b/pkgs/concurrent-output.nix
@@ -0,0 +1,45 @@
+{ mkDerivation
+, ansi-terminal
+, async
+, base
+, directory
+, exceptions
+, lib
+, process
+, stm
+, terminal-size
+, text
+, transformers
+, unix
+}:
+mkDerivation {
+  pname = "concurrent-output";
+  version = "1.10.16";
+  sha256 = "b0aa45d8707f504623ed8abc67873bc139fefdb3e391e054c6adad82e7029350";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    ansi-terminal
+    async
+    base
+    directory
+    exceptions
+    process
+    stm
+    terminal-size
+    text
+    transformers
+    unix
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Ungarble output from several threads or commands";
+  license = lib.licenses.bsd2;
+  broken = false;
+}