diff --git a/configuration.nix b/configuration.nix
index 667a18d8b21b1a6f4edac4a246948fb66f79a6be..8cb73b545765470b390b60450fd162177e5c1d3c 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -4,6 +4,8 @@ with pkgs.haskell.lib;
 
 final: prev: {
 
+  saltine = addPkgconfigDepend prev.saltine pkgs.libsodium;
+
   libsodium = prev.callPackage ./pkgs/libsodium.nix { inherit (pkgs) libsodium; };
 
 }
diff --git a/manifest.dhall b/manifest.dhall
index 702e8894d28bbfe4b08d982f5b9c86cc3c73802b..590847b6498f272105aa36302be5db7c362d4219 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -493,6 +493,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "safe-coloured-text-terminfo" "0.1.0.0"
     , callHackage "safe-coloured-text" "0.2.0.1"
     , callHackage "safe-exceptions" "0.1.7.3"
+    , callHackage "saltine" "0.2.0.1"
     , callHackage "scotty" "0.12"
     , callHackage "scientific" "0.3.7.0"
     , callHackage "sdl2" "2.5.3.3"
diff --git a/overlay.nix b/overlay.nix
index 9e9b0b541032ebcc7bb06dcb40b15b8be5ee11e8..e69e30cb4221d6c19ac3d5a787ed53197aa89694 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -691,6 +691,8 @@ final: prev: with pkgs.haskell.lib; {
 
   safe-exceptions = prev.callPackage (./pkgs/safe-exceptions.nix) { };
 
+  saltine = prev.callPackage (./pkgs/saltine.nix) { };
+
   scientific = prev.callPackage (./pkgs/scientific.nix) { };
 
   scotty = prev.callPackage (./pkgs/scotty.nix) { };
diff --git a/pkgs/saltine.nix b/pkgs/saltine.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f66679bb5d619e939522ecd1e21a5c4b6a887d8e
--- /dev/null
+++ b/pkgs/saltine.nix
@@ -0,0 +1,34 @@
+{ mkDerivation, base, bytestring, criterion, deepseq, hashable, lib
+, libsodium, profunctors, QuickCheck, semigroups, test-framework
+, test-framework-quickcheck2, text
+}:
+mkDerivation {
+  pname = "saltine";
+  version = "0.2.0.1";
+  sha256 = "ce6867a08a308bc5155cb4c5a146837cf6c5e056dd0d0151f9f0838b2eed2ea0";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base bytestring deepseq hashable profunctors text
+  ];
+  libraryPkgconfigDepends = [ libsodium ];
+  testHaskellDepends = [
+    base bytestring QuickCheck semigroups test-framework
+    test-framework-quickcheck2 text
+  ];
+  benchmarkHaskellDepends = [
+    base bytestring criterion deepseq text
+  ];
+  benchmarkSystemDepends = [ libsodium ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Cryptography that's easy to digest (NaCl/libsodium bindings)";
+  license = lib.licenses.mit;
+  broken = false;
+}
\ No newline at end of file