diff --git a/manifest.dhall b/manifest.dhall
index cf06f6d2bab320f63c20d4058410e2db19d28a96..856372ff06aec97b4dcb621b3d19929e650b98dc 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -428,6 +428,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "jira-wiki-markup" "1.4.0"
     , callHackage "js-chart" "2.9.4.1"
     , callHackage "js-dgtable" "0.5.2"
+    , callHackage "js-flot" "0.8.3"
     , callHackage "js-jquery" "3.3.1"
     , callHackage "kan-extensions" "5.2.5"
     , callHackage "keys" "3.12.3"
diff --git a/overlay.nix b/overlay.nix
index 51c69bc93246c1e66d98a3cde389c5d38130e7df..5528ea4851f687cd5570b5e3ecc89e574c675e6b 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -645,6 +645,8 @@ self: with pkgs.haskell.lib; {
 
   js-dgtable = self.callPackage (./pkgs/js-dgtable.nix) { };
 
+  js-flot = self.callPackage (./pkgs/js-flot.nix) { };
+
   js-jquery = self.callPackage (./pkgs/js-jquery.nix) { };
 
   kan-extensions = self.callPackage (./pkgs/kan-extensions.nix) { };
diff --git a/pkgs/js-flot.nix b/pkgs/js-flot.nix
new file mode 100644
index 0000000000000000000000000000000000000000..6f150018781cfb4c0cb3e0ca01a1681f0b4b2e40
--- /dev/null
+++ b/pkgs/js-flot.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, HTTP, lib }:
+mkDerivation {
+  pname = "js-flot";
+  version = "0.8.3";
+  sha256 = "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = true;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [ base HTTP ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/ndmitchell/js-flot#readme";
+  description = "Obtain minified flot code";
+  license = lib.licenses.mit;
+  broken = false;
+}