diff --git a/manifest.dhall b/manifest.dhall
index e94addad3bc1ef44d3da3e7cfc032ee1a9e659d8..9440be61cf9b0690181112bed3c946c8e47efdbd 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -74,6 +74,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "apecs" "0.9.4"
     , callHackage "assoc" "1.0.2"
     , callHackage "async" "2.2.4"
+    , callHackage "autodocodec" "0.2.0.1"
     , callHackage "autodocodec-yaml" "0.2.0.2"
     , callHackage "basement" "0.0.15"
     , callHackage "base64" "0.4.2.4"
diff --git a/overlay.nix b/overlay.nix
index e71510b43b3be61c9ec213343ff70d6d1604834c..5e80069a52e3c57bb9ebaa1494925374e423daac 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -31,6 +31,8 @@ final: prev: with pkgs.haskell.lib; {
 
     async = prev.callPackage (./pkgs/async.nix) { };
 
+    autodocodec = prev.callPackage (./pkgs/autodocodec.nix) { };
+
     autodocodec-yaml = prev.callPackage (./pkgs/autodocodec-yaml.nix) { };
 
     base-compat = prev.callPackage (./pkgs/base-compat.nix) { };
diff --git a/pkgs/autodocodec.nix b/pkgs/autodocodec.nix
new file mode 100644
index 0000000000000000000000000000000000000000..037b3e9f2e70853e1f5aa7c810f7278acd53368c
--- /dev/null
+++ b/pkgs/autodocodec.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, aeson, base, bytestring, containers, hashable, lib
+, mtl, scientific, text, time, unordered-containers, validity
+, validity-scientific, vector
+}:
+mkDerivation {
+  pname = "autodocodec";
+  version = "0.2.0.1";
+  sha256 = "4f4e2c2c57608a7e3060247a0f1b86e3f1257c2ba15af3c4649b9d87a6155bde";
+  libraryHaskellDepends = [
+    aeson base bytestring containers hashable mtl scientific text time
+    unordered-containers validity validity-scientific vector
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/autodocodec#readme";
+  description = "Self-documenting encoder and decoder";
+  license = lib.licenses.mit;
+}
\ No newline at end of file