diff --git a/manifest.dhall b/manifest.dhall
index 44767588bc3232bc19983629af736e1506c8a998..b0c6d856c5507d855541d71c3453c6c305a80548 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -243,6 +243,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "effectful" "2.1.0.0"
     , callHackage "emojis" "0.1.2"
     , callHackage "enclosed-exceptions" "1.0.3"
+    , callHackage "exact-pi" "0.5.0.2"
     , callHackage "extra" "1.7.12"
     , callHackage "expiring-cache-map" "0.0.6.1"
     , callHackage "fcf-containers" "0.7.1"
diff --git a/overlay.nix b/overlay.nix
index 540f8b078c54ed6c987137b4f67ac4d7f7e2f8f3..a0c786313773412d1865de19a256727833206947 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -299,6 +299,8 @@ self: with pkgs.haskell.lib; {
 
   enclosed-exceptions = self.callPackage (./pkgs/enclosed-exceptions.nix) { };
 
+  exact-pi = self.callPackage (./pkgs/exact-pi.nix) { };
+
   expiring-cache-map = self.callPackage (./pkgs/expiring-cache-map.nix) { };
 
   extra = self.callPackage (./pkgs/extra.nix) { };
diff --git a/pkgs/exact-pi.nix b/pkgs/exact-pi.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5645589939a6a01348fc8dee5030bb778e85d807
--- /dev/null
+++ b/pkgs/exact-pi.nix
@@ -0,0 +1,37 @@
+{ mkDerivation
+, base
+, lib
+, numtype-dk
+, QuickCheck
+, tasty
+, tasty-hunit
+, tasty-quickcheck
+}:
+mkDerivation {
+  pname = "exact-pi";
+  version = "0.5.0.2";
+  sha256 = "441dd2516902f13801c41310fa98ea82f7a946e8ddd2f775b19931f7e91eacf6";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base numtype-dk ];
+  testHaskellDepends = [
+    base
+    numtype-dk
+    QuickCheck
+    tasty
+    tasty-hunit
+    tasty-quickcheck
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/dmcclean/exact-pi/";
+  description = "Exact rational multiples of pi (and integer powers of pi)";
+  license = lib.licenses.mit;
+  broken = false;
+}