diff --git a/manifest.dhall b/manifest.dhall
index 1b6138a0b17bafe8937621a7d7a7f6be52c0a394..d1c5d586ce4824262e810dfe174237f5ee96d52d 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -409,6 +409,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "memory" "0.18.0"
     , callHackage "mockery" "0.3.5"
     , callHackage "microlens-aeson" "2.5.0"
+    , callHackage "microlens" "0.4.13.0"
     , callHackage "microstache" "1.0.2.2"
     , callHackage "mod" "0.1.2.2"
     , callHackage "monad-control" "1.0.3.1"
diff --git a/overlay.nix b/overlay.nix
index 65a95b286d7ddcae2a74467afd79061ffbfff3e9..6b9ef8181fffebe16a444b22001eaada8e460eda 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -549,6 +549,8 @@ self: with pkgs.haskell.lib; {
 
   memory = self.callPackage (./pkgs/memory.nix) { };
 
+  microlens = self.callPackage (./pkgs/microlens.nix) { };
+
   microlens-aeson = self.callPackage (./pkgs/microlens-aeson.nix) { };
 
   microstache = self.callPackage (./pkgs/microstache.nix) { };
diff --git a/pkgs/microlens.nix b/pkgs/microlens.nix
new file mode 100644
index 0000000000000000000000000000000000000000..2a58444f0489beb2d968af324c213653e0303069
--- /dev/null
+++ b/pkgs/microlens.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "microlens";
+  version = "0.4.13.0";
+  sha256 = "fc21d0f0ea30a3c73c681c2a2f5093dbebea8f3075243dcf2b8d234aacb210a3";
+  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/monadfix/microlens";
+  description = "A tiny lens library with no dependencies";
+  license = lib.licenses.bsd3;
+  broken = false;
+}