diff --git a/manifest.dhall b/manifest.dhall
index 006b3157cabafe2c51a4bae619b376e51b40b1b8..0724591aa335dd6d77a1a3e10545069b60bd2366 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -294,6 +294,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "first-class-families" "0.8.0.1"
     , callHackage "fin" "0.2.1"
     , callHackage "fixed" "0.3"
+    , callHackage "fmlist" "0.9.4"
     , callHackage "foldl" "1.4.12"
     , callHackage "foreign-store" "0.2"
     , callHackage "formatting" "7.1.3"
diff --git a/overlay.nix b/overlay.nix
index ccf91dfdc4059b33a18db3f588c55c246ad61b46..15c4811fae5a88d07f88701ec6ff4bac47e28fcb 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -401,6 +401,8 @@ self: with pkgs.haskell.lib; {
 
   fixed = self.callPackage (./pkgs/fixed.nix) { };
 
+  fmlist = self.callPackage (./pkgs/fmlist.nix) { };
+
   foldl = self.callPackage (./pkgs/foldl.nix) { };
 
   foreign-store = self.callPackage (./pkgs/foreign-store.nix) { };
diff --git a/pkgs/fmlist.nix b/pkgs/fmlist.nix
new file mode 100644
index 0000000000000000000000000000000000000000..941b082f78b2bea8c7f5549e3b789b76e52984c8
--- /dev/null
+++ b/pkgs/fmlist.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "fmlist";
+  version = "0.9.4";
+  sha256 = "2dbdc1850e6768fd5f4e4c45d011ef6796d8b2d639ec200da7f4407ae02d09a6";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/sjoerdvisscher/fmlist";
+  description = "FoldMap lists";
+  license = lib.licenses.bsd3;
+  broken = false;
+}