diff --git a/manifest.dhall b/manifest.dhall
index 1bb052d1bbc81644436333cb303024daacf77a30..d8d7d0fbc7b70aa0e31a93e739d1ea3d7b6eaf6e 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -227,6 +227,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "finite-field" "0.10.0"
     , callHackage "first-class-families" "0.8.0.1"
     , callHackage "fin" "0.2.1"
+    , callHackage "fixed" "0.3"
     , callHackage "free" "5.1.9"
     , callHackage "fsnotify" "0.4.1.0"
     , callHackage "foldl" "1.4.12"
diff --git a/overlay.nix b/overlay.nix
index bfc3166efacadc5f83054e50ed26c9c44c108adf..69684ba36b754f7a067ea75e12ce63a61cccb4d2 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -257,6 +257,8 @@ self: with pkgs.haskell.lib; {
 
   first-class-families = self.callPackage (./pkgs/first-class-families.nix) { };
 
+  fixed = self.callPackage (./pkgs/fixed.nix) { };
+
   foldl = self.callPackage (./pkgs/foldl.nix) { };
 
   foundation = self.callPackage (./pkgs/foundation.nix) { };
diff --git a/pkgs/fixed.nix b/pkgs/fixed.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3cc0a32b125830d245cc597d9ffd1369b3a487b5
--- /dev/null
+++ b/pkgs/fixed.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "fixed";
+  version = "0.3";
+  sha256 = "9218ebd3af3f07335db8dcd148b3ce40acf984734c244cce5959f57402d48282";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/ekmett/fixed";
+  description = "Signed 15.16 precision fixed point arithmetic";
+  license = lib.licenses.bsd3;
+  broken = false;
+}