diff --git a/flake.nix b/flake.nix
index 65e66a8d7f0469f5f391fd7b910abd137d22d4e2..ab183d5b5978a9dfe5aa0a4ad47516e55d45bb63 100644
--- a/flake.nix
+++ b/flake.nix
@@ -22,7 +22,7 @@
         hsPkgs = pkgs.callPackage (nixpkgs + /pkgs/development/haskell-modules) {
           buildHaskellPackages = pkgs.haskell.packages.ghc942;
           configurationCommon = import ./configuration.nix;
-          configurationNix = {pkgs, haskellLib}: self: super: { };
+          configurationNix = { pkgs, haskellLib }: self: super: { };
           ghc = pkgs.haskell.compiler.ghc942;
           haskellLib = pkgs.haskell.lib.compose;
           initialPackages = import ./overlay.nix;
diff --git a/manifest.dhall b/manifest.dhall
index 526e49ddadca3ce6a1b5c5baaf92fa1581e569ef..28d0112b92cfc1a79985f36531fc3524a07d032b 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -366,6 +366,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "hackage-db" "2.1.2"
     , callHackage "hackage-security" "0.6.2.2"
     , callHackage "haddock-library" "1.11.0"
+    , callHackage "half" "0.3.1"
     , callHackage "happy" "1.20.0"
     , callHackage "hashable" "1.4.1.0"
     , callHackage "hashing" "0.1.0.1"
diff --git a/overlay.nix b/overlay.nix
index a70b54651c1256e1557b76ca98c47f3ed08297d0..8543f752b5adf8ce13bbcb0be2f89ffb03ba34a3 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -537,6 +537,8 @@ self: with pkgs.haskell.lib; {
 
   haddock-library = self.callPackage (./pkgs/haddock-library.nix) { };
 
+  half = self.callPackage (./pkgs/half.nix) { };
+
   happy = self.callPackage (./pkgs/happy.nix) { };
 
   hashable = self.callPackage (./pkgs/hashable.nix) { };
diff --git a/pkgs/half.nix b/pkgs/half.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0fb876999bdcad4d1bc266575aff515c5c68173d
--- /dev/null
+++ b/pkgs/half.nix
@@ -0,0 +1,39 @@
+{ mkDerivation
+, base
+, binary
+, bytestring
+, deepseq
+, lib
+, QuickCheck
+, template-haskell
+, test-framework
+, test-framework-quickcheck2
+}:
+mkDerivation {
+  pname = "half";
+  version = "0.3.1";
+  sha256 = "e2afc32724e11bf5c695d797b9169d9d9b2dc62a530aed31284c8187af1615d1";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base binary deepseq template-haskell ];
+  testHaskellDepends = [
+    base
+    binary
+    bytestring
+    QuickCheck
+    test-framework
+    test-framework-quickcheck2
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/ekmett/half";
+  description = "Half-precision floating-point";
+  license = lib.licenses.bsd3;
+  broken = false;
+}