diff --git a/manifest.dhall b/manifest.dhall
index cbd3dd2ac51d263096a0f369cc78088ef097dfdc..b031c9ad8e366596012e15fdecdea850ac5d0d6f 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -202,6 +202,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "incipit-core" "0.3.0.0"
     , callHackage "indexed-traversable" "0.1.2"
     , callHackage "indexed-traversable-instances" "0.1.1.1"
+    , callHackage "infer-license" "0.2.0"
     , callHackage "integer-logarithms" "1.0.3.1"
     , callHackage "invariant" "0.6"
     , callHackage "iproute" "1.7.12"
diff --git a/overlay.nix b/overlay.nix
index 69253d4a0201027dfdfa52e5591db6b872b706c2..9b7b6a028aeed2f3dc7bd00b4256728b5fc5c755 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -231,6 +231,8 @@ final: prev: with pkgs.haskell.lib; {
 
     indexed-traversable-instances = prev.callPackage (./pkgs/indexed-traversable-instances.nix) { };
 
+    infer-license = prev.callPackage (./pkgs/infer-license.nix) { };
+
     integer-logarithms = prev.callPackage (./pkgs/integer-logarithms.nix) { };
 
     invariant = prev.callPackage (./pkgs/invariant.nix) { };
diff --git a/pkgs/infer-license.nix b/pkgs/infer-license.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3228cabbc2a97eef06ecf701c3f70820bbf31386
--- /dev/null
+++ b/pkgs/infer-license.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, directory, filepath, hspec, lib, text
+, text-metrics
+}:
+mkDerivation {
+  pname = "infer-license";
+  version = "0.2.0";
+  sha256 = "12e6fe616575159c03cf6fd4a4f30021ecf264a529ab4e4edd6e96e296a98e72";
+  libraryHaskellDepends = [
+    base directory filepath text text-metrics
+  ];
+  testHaskellDepends = [
+    base directory filepath hspec text text-metrics
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  description = "Infer software license from a given license file";
+  license = lib.licenses.mit;
+}
\ No newline at end of file