diff --git a/manifest.dhall b/manifest.dhall
index 710e19783f037c7c07b1bc93d1acc6444a9b6520..e67d117be2dbd63d631f32d9e092effcc87d4e6e 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -490,6 +490,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "slugify" "0.1.0.1"
     , callHackage "skylighting-core" "0.13.1.1"
     , callHackage "skylighting-format-ansi" "0.1"
+    , callHackage "skylighting-format-latex" "0.1"
     , callHackage "socks" "0.6.1"
     , callHackage "some" "1.0.4"
     , callHackage "sop-core" "0.5.0.1"
diff --git a/overlay.nix b/overlay.nix
index b9643ff8e98fb236384768de31bb32beae599ba3..3363c5e523081cdbbad73493014a52d8fef15538 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -633,6 +633,8 @@ final: prev: with pkgs.haskell.lib; {
 
   skylighting-format-ansi = prev.callPackage (./pkgs/skylighting-format-ansi.nix) { };
 
+  skylighting-format-latex = prev.callPackage (./pkgs/skylighting-format-latex.nix) { };
+
   slugify = prev.callPackage (./pkgs/slugify.nix) { };
 
   socks = prev.callPackage (./pkgs/socks.nix) { };
diff --git a/pkgs/skylighting-format-latex.nix b/pkgs/skylighting-format-latex.nix
new file mode 100644
index 0000000000000000000000000000000000000000..bea53d0ab7b13bea033087aaecc60c8cc3547767
--- /dev/null
+++ b/pkgs/skylighting-format-latex.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, containers, lib, skylighting-core, text }:
+mkDerivation {
+  pname = "skylighting-format-latex";
+  version = "0.1";
+  sha256 = "97b66c9ab60451e41a94aa80a684e792fbe69816835f735224222beea22afb78";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base containers skylighting-core text ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/jgm/skylighting";
+  description = "LaTeX formatter for skylighting syntax highlighting library";
+  license = lib.licenses.bsd3;
+  broken = false;
+}