diff --git a/manifest.dhall b/manifest.dhall
index df0370662c175eebb70f0b88c5bf3535142b9868..bf4d4712d5e88a9c0640926b86c8c1813c502e9a 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -636,6 +636,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "shake" "0.19.6"
     , callHackage "shelly" "1.10.0"
     , callHackage "silently" "1.2.5.3"
+    , callHackage "simple-reflect" "0.3.3"
     , callHackage "simple-sendfile" "0.2.30"
     , callHackage "singleton-bool" "0.1.6"
     , callHackage "singletons" "3.0.2"
diff --git a/overlay.nix b/overlay.nix
index daf19c62041373861f8db82b7d1d93a7261f3d76..784ac9846427af5098c5c15910d470be0c0fcab1 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -947,6 +947,8 @@ self: with pkgs.haskell.lib; {
 
   silently = self.callPackage (./pkgs/silently.nix) { };
 
+  simple-reflect = self.callPackage (./pkgs/simple-reflect.nix) { };
+
   simple-sendfile = self.callPackage (./pkgs/simple-sendfile.nix) { };
 
   singleton-bool = self.callPackage (./pkgs/singleton-bool.nix) { };
diff --git a/pkgs/simple-reflect.nix b/pkgs/simple-reflect.nix
new file mode 100644
index 0000000000000000000000000000000000000000..39f7f8a77ffd04f2e9608f7204423904230027cf
--- /dev/null
+++ b/pkgs/simple-reflect.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "simple-reflect";
+  version = "0.3.3";
+  sha256 = "07825ea04c135298008cf080133e3bfc8e04cbacd24719c46ac6a2ca4acfdb2b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions";
+  description = "Simple reflection of expressions containing variables";
+  license = lib.licenses.bsd3;
+  broken = false;
+}