diff --git a/manifest.dhall b/manifest.dhall
index cb8e31ff00fbc8e767ccce7503e74fb50ae9dcd2..0475f66c3906ce7daff51366feafed65aa61e4a6 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -268,6 +268,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "emojis" "0.1.2"
     , callHackage "enclosed-exceptions" "1.0.3"
     , callHackage "entropy" "0.4.1.10"
+    , callHackage "envparse" "0.5.0"
     , callHackage "erf" "2.0.0.0"
     , callHackage "exact-pi" "0.5.0.2"
     , callHackage "extensible-effects" "5.0.0.1"
diff --git a/overlay.nix b/overlay.nix
index c1b490162438f1d28421576ca95cb9d340b66910..30b69af287fc7a519e30c6fd5261cb7f0ff97d95 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -349,6 +349,8 @@ self: with pkgs.haskell.lib; {
 
   entropy = self.callPackage (./pkgs/entropy.nix) { };
 
+  envparse = self.callPackage (./pkgs/envparse.nix) { };
+
   erf = self.callPackage (./pkgs/erf.nix) { };
 
   exact-pi = self.callPackage (./pkgs/exact-pi.nix) { };
diff --git a/pkgs/envparse.nix b/pkgs/envparse.nix
new file mode 100644
index 0000000000000000000000000000000000000000..84b919c9a0547e3d31c74d057f801da4550d42e9
--- /dev/null
+++ b/pkgs/envparse.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, containers, hspec, lib, text }:
+mkDerivation {
+  pname = "envparse";
+  version = "0.5.0";
+  sha256 = "adb54ae4ef48c8cd124e770bbf774632ff9382dc208eed33e3da44d20fc0db1d";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base containers ];
+  testHaskellDepends = [ base containers hspec text ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://supki.github.io/envparse";
+  description = "Parse environment variables";
+  license = lib.licenses.bsd3;
+  broken = false;
+}