diff --git a/manifest.dhall b/manifest.dhall
index 848d7c1617f08688547e4fbe7a8a441223b78e95..16c1eaef006816f777508680cefd698809d31003 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -372,6 +372,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "unicode-collation" "0.1.3.2"
     , callHackage "unicode-data" "0.4.0"
     , callHackage "unicode-transforms" "0.4.0.1"
+    , callHackage "universe-base" "1.1.3"
     , callHackage "unordered-containers" "0.2.19.1"
     , callHackage "validity" "0.12.0.1"
     , callHackage "validity-aeson" "0.2.0.5"
diff --git a/overlay.nix b/overlay.nix
index 560e2fe1e37d6fa604a0bb4fcd24495664f213c6..4bb60fa83e329cc21d8468c766ab581f4a0fd45a 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -481,6 +481,8 @@ final: prev: with pkgs.haskell.lib; {
 
     unicode-transforms = prev.callPackage (./pkgs/unicode-transforms.nix) { };
 
+    universe-base = prev.callPackage (./pkgs/universe-base.nix) { };
+
     unordered-containers = prev.callPackage (./pkgs/unordered-containers.nix) { };
 
     validity = prev.callPackage (./pkgs/validity.nix) { };
diff --git a/pkgs/universe-base.nix b/pkgs/universe-base.nix
new file mode 100644
index 0000000000000000000000000000000000000000..90451507185300f38fd6a27233ae55d4a2d66c2d
--- /dev/null
+++ b/pkgs/universe-base.nix
@@ -0,0 +1,19 @@
+{ mkDerivation, base, containers, lib, QuickCheck, tagged
+, transformers
+}:
+mkDerivation {
+  pname = "universe-base";
+  version = "1.1.3";
+  sha256 = "c59dfe99b76435d13483eff888e020a282ae8451b7b692dc98f348dcec95db52";
+  revision = "3";
+  editedCabalFile = "0hnd5vxsncwyjsindfmsvp9jbixanhmzczhrmd8s8g6imgb0mzyk";
+  libraryHaskellDepends = [ base containers tagged transformers ];
+  testHaskellDepends = [ base containers QuickCheck ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/dmwit/universe";
+  description = "A class for finite and recursively enumerable types";
+  license = lib.licenses.bsd3;
+}
\ No newline at end of file