diff --git a/manifest.dhall b/manifest.dhall
index 516059c10094bbb829773c28fa5c6ce4436413bf..4ce4d71f4f358447a942f590f6297179c25b5373 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -117,6 +117,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "bsb-http-chunked" "0.0.0.4"
     , callHackage "breakpoint" "0.1.1.1"
     , callHackage "brick" "1.3"
+    , callHackage "byteable" "0.1.1"
     , callHackage "bytes" "0.17.2"
     , callHackage "cabal-doctest" "1.0.9"
     , callHackage "cabal-install" "3.8.1.0"
diff --git a/overlay.nix b/overlay.nix
index 64a8935239fdbeac1346d88338857480952f91c2..f4c6919d4f2392af0e9fe48fa444ac12b83c6f5a 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -117,6 +117,8 @@ self: with pkgs.haskell.lib; {
 
   bsb-http-chunked = self.callPackage (./pkgs/bsb-http-chunked.nix) { };
 
+  byteable = self.callPackage (./pkgs/byteable.nix) { };
+
   bytes = self.callPackage (./pkgs/bytes.nix) { };
 
   cabal-doctest = self.callPackage (./pkgs/cabal-doctest.nix) { };
diff --git a/pkgs/byteable.nix b/pkgs/byteable.nix
new file mode 100644
index 0000000000000000000000000000000000000000..6af473107171d201e438c178d65e70a8fcfc661c
--- /dev/null
+++ b/pkgs/byteable.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, bytestring, lib }:
+mkDerivation {
+  pname = "byteable";
+  version = "0.1.1";
+  sha256 = "243b34a1b5b64b39e39fe58f75c18f6cad5b668b10cabcd86816cbde27783fe2";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = true;
+  libraryHaskellDepends = [ base bytestring ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/vincenthz/hs-byteable";
+  description = "Type class for sequence of bytes";
+  license = lib.licenses.bsd3;
+  broken = false;
+}