diff --git a/manifest.dhall b/manifest.dhall
index e7abfcf0d9f3c3cf7dcfab408688c7812d4bd335..7b92e4c1ed937507051d827ba6d6d92545f377d6 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -170,6 +170,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
         (Some "69e8ae036b047fae105c1fe990e175a7572a3eba")
         (Some "dirforest")
     , callHackage "distribution-nixpkgs" "1.7.0"
+    , callHackage "distributive" "0.6.2.1"
     , callCabal2nix
         "doctest"
         "https://github.com/sol/doctest"
diff --git a/overlay.nix b/overlay.nix
index 89025c613aa2c408b9b1e071255585e9b2d1e8f6..9fadc0481bd16460e50c6aab876ed77a2466632a 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -175,6 +175,8 @@ final: prev: with pkgs.haskell.lib; {
 
   distribution-nixpkgs = prev.callPackage (./pkgs/distribution-nixpkgs.nix) { };
 
+  distributive = prev.callPackage (./pkgs/distributive.nix) { };
+
   doctemplates = prev.callPackage (./pkgs/doctemplates.nix) { };
 
   doctest = prev.callPackage (./pkgs/doctest.nix) { };
diff --git a/pkgs/distributive.nix b/pkgs/distributive.nix
new file mode 100644
index 0000000000000000000000000000000000000000..fb5de511625620c83f14ebabbd3f424fb9f8fcbe
--- /dev/null
+++ b/pkgs/distributive.nix
@@ -0,0 +1,34 @@
+{ mkDerivation
+, base
+, base-orphans
+, generic-deriving
+, hspec
+, hspec-discover
+, lib
+, tagged
+, transformers
+}:
+mkDerivation {
+  pname = "distributive";
+  version = "0.6.2.1";
+  sha256 = "d7351392e078f58caa46630a4b9c643e1e2e9dddee45848c5c8358e7b1316b91";
+  revision = "1";
+  editedCabalFile = "033890dfyd23dh7g7px863l0hr1b881jnhv4kgwaq16a3iagb68g";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base base-orphans tagged transformers ];
+  testHaskellDepends = [ base generic-deriving hspec ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/ekmett/distributive/";
+  description = "Distributive functors -- Dual to Traversable";
+  license = lib.licenses.bsd3;
+  broken = false;
+}