diff --git a/manifest.dhall b/manifest.dhall
index 7db777ddf4058c84bf59c5b715d810b1dcd0cde4..f3f3e201fcca0a39d738f4b7f73230e0047aaa5d 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -240,6 +240,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "effectful-core" "2.1.0.0"
     , callHackage "effectful-th" "1.0.0.0"
     , callHackage "effectful" "2.1.0.0"
+    , callHackage "emojis" "0.1.2"
     , callHackage "enclosed-exceptions" "1.0.3"
     , callHackage "extra" "1.7.12"
     , callHackage "expiring-cache-map" "0.0.6.1"
diff --git a/overlay.nix b/overlay.nix
index 70ef3015b289be9e9a14a6d6b9010b1e4ba25ffd..8bb5292392660a87adabfa9c80b8f367d84db61b 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -283,6 +283,8 @@ self: with pkgs.haskell.lib; {
 
   email-validate = self.callPackage (./pkgs/email-validate.nix) { };
 
+  emojis = self.callPackage (./pkgs/emojis.nix) { };
+
   enclosed-exceptions = self.callPackage (./pkgs/enclosed-exceptions.nix) { };
 
   expiring-cache-map = self.callPackage (./pkgs/expiring-cache-map.nix) { };
diff --git a/pkgs/emojis.nix b/pkgs/emojis.nix
new file mode 100644
index 0000000000000000000000000000000000000000..ee364a2f92aa25ef17b6e85f837cc8e48e429438
--- /dev/null
+++ b/pkgs/emojis.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, containers, HUnit, lib, text }:
+mkDerivation {
+  pname = "emojis";
+  version = "0.1.2";
+  sha256 = "3cfe9c2ea3efbbdb9b7fc24ee6707a839d272c1deee7e39319f17a7e6feea227";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base containers text ];
+  testHaskellDepends = [ base HUnit text ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/jgm/emojis#readme";
+  description = "Conversion between emoji characters and their names";
+  license = lib.licenses.bsd3;
+  broken = false;
+}