diff --git a/manifest.dhall b/manifest.dhall
index 2edbfb6f35aa411bb5750ad72a6b1fc26966e38c..50dc3419d34fa1248a03973bc13cceea1fba9801 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -341,6 +341,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "githash" "0.1.6.3"
     , callHackage "gitrev" "1.3.1"
     , callHackage "gridtables" "0.1.0.0"
+    , callHackage "groups" "0.5.3"
     , callHackage "hackage-db" "2.1.2"
     , callHackage "hackage-security" "0.6.2.2"
     , callHackage "haddock-library" "1.11.0"
diff --git a/overlay.nix b/overlay.nix
index a54b4b7602d531f491097981f8461d37fb2031de..b0be6671a95542f5269a7a53e440808215584824 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -487,6 +487,8 @@ self: with pkgs.haskell.lib; {
 
   gridtables = self.callPackage (./pkgs/gridtables.nix) { };
 
+  groups = self.callPackage (./pkgs/groups.nix) { };
+
   hackage-db = self.callPackage (./pkgs/hackage-db.nix) { };
 
   hackage-security = self.callPackage (./pkgs/hackage-security.nix) { };
diff --git a/pkgs/groups.nix b/pkgs/groups.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8c6f9472e893b03f5a9db51c51251abfc0ce36bd
--- /dev/null
+++ b/pkgs/groups.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "groups";
+  version = "0.5.3";
+  sha256 = "ce1e52a8be7effbd1f995eadf0ed34fa45c412656d372db8a38f9c955e43ac38";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Groups";
+  license = lib.licenses.bsd3;
+  broken = false;
+}