diff --git a/manifest.dhall b/manifest.dhall
index 0de70b68fdc467232ed1385c5827c4fc05eb3527..31bbe62c895bf86d43cd500541496a132b544484 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -279,6 +279,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "lsp-types" "1.6.0.0"
     , callHackage "lsp" "1.6.0.0"
     , callHackage "lucid-alpine" "0.1.0.7"
+    , callHackage "lucid-svg" "0.7.1"
     , callHackage "lucid" "2.11.1"
     , callHackage "net-mqtt" "0.8.2.2"
     , callHackage "memory" "0.18.0"
diff --git a/overlay.nix b/overlay.nix
index d2a5f1948960e17d33aea1d8318721b43c029f74..63acedb3119686988c8f956dbdb361a2693b2899 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -323,6 +323,8 @@ final: prev: with pkgs.haskell.lib; {
 
     lucid-alpine = prev.callPackage (./pkgs/lucid-alpine.nix) { };
 
+    lucid-svg = prev.callPackage (./pkgs/lucid-svg.nix) { };
+
     memory = prev.callPackage (./pkgs/memory.nix) { };
 
     microstache = prev.callPackage (./pkgs/microstache.nix) { };
diff --git a/pkgs/lucid-svg.nix b/pkgs/lucid-svg.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a90a4ab8d018ab5851e1f58174c8a037802e6473
--- /dev/null
+++ b/pkgs/lucid-svg.nix
@@ -0,0 +1,17 @@
+{ mkDerivation, base, blaze-builder, lib, lucid, text, transformers
+}:
+mkDerivation {
+  pname = "lucid-svg";
+  version = "0.7.1";
+  sha256 = "16b89597d0d2ba99939f327309ff7dbac2e475784d18c94e646833057ec12eb3";
+  libraryHaskellDepends = [
+    base blaze-builder lucid text transformers
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/jeffreyrosenbluth/lucid-svg.git";
+  description = "DSL for SVG using lucid for HTML";
+  license = lib.licenses.bsd3;
+}
\ No newline at end of file