diff --git a/horizon.dhall b/horizon.dhall
index 20cba83d51973e078c465d02ba21f3f310068f2e..0ec3df218051f4f4486c2b5fd89769abfe1e9e17 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -651,6 +651,7 @@ let packages =
       , monad-par-extras = H.callHackage "monad-par-extras" "0.3.3"
       , monad-par = H.callHackage "monad-par" "0.3.5"
       , monad-peel = H.callHackage "monad-peel" "0.2.1.2"
+      , monad-primitive = H.callHackage "monad-primitive" "0.1"
       , mono-traversable = H.callHackage "mono-traversable" "1.0.15.3"
       , monoidal-containers = H.callHackage "monoidal-containers" "0.6.3.0"
       , monoid-subclasses = H.callHackage "monoid-subclasses" "1.1.3"
diff --git a/initial-packages.nix b/initial-packages.nix
index 5318dc41dc35b7c13a1e4e07c7c39c97d14efdf4..10b410ec9b28b397aa4a362d31c5c5452c13f98e 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -1037,6 +1037,8 @@ self: with pkgs.haskell.lib; {
 
   monad-peel = self.callPackage (./pkgs/monad-peel.nix) { };
 
+  monad-primitive = self.callPackage (./pkgs/monad-primitive.nix) { };
+
   monad-time = self.callPackage (./pkgs/monad-time.nix) { };
 
   monads-tf = self.callPackage (./pkgs/monads-tf.nix) { };
diff --git a/pkgs/monad-primitive.nix b/pkgs/monad-primitive.nix
new file mode 100644
index 0000000000000000000000000000000000000000..6b222747dd76909393b1a2f85debbf3d80c80434
--- /dev/null
+++ b/pkgs/monad-primitive.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib, primitive, transformers }:
+mkDerivation {
+  pname = "monad-primitive";
+  version = "0.1";
+  sha256 = "3dc032536e87ca77d9e802d581f036ebbf2e29064fb98a0ede05fb068b7926ee";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base primitive transformers ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://bitbucket.org/Shimuuar/monad-primitive";
+  description = "Type class for monad transformers stack with pirimitive base monad";
+  license = lib.licenses.bsd3;
+  broken = false;
+}