diff --git a/horizon.dhall b/horizon.dhall
index c10eba92d5247df104be9b1555afd5e17d888828..2353ea5f0f9314a1f6769ea522eeb7b558ee89f9 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -375,7 +375,11 @@ let packages =
       , force-layout = H.callHackage "force-layout" "0.4.0.6"
       , foreign-store = H.callHackage "foreign-store" "0.2"
       , formatting = H.callHackage "formatting" "7.2.0"
-      , foundation = H.callHackage "foundation" "0.0.29"
+      , foundation =
+          H.callGit
+            "https://gitlab.rescue.horizon-haskell.net/hackage/foundation"
+            "d3136f4bb8b69e273535352620e53f2196941b35"
+            (Some "foundation/")
       , fourmolu = H.callHackage "fourmolu" "0.10.1.0"
       , free = H.callHackage "free" "5.2"
       , freer-simple = H.callHackage "freer-simple" "1.2.1.2"
@@ -494,7 +498,7 @@ let packages =
       , hex-text = H.callHackage "hex-text" "0.1.0.8"
       , hie-bios = H.callHackage "hie-bios" "0.11.0"
       , hie-compat = H.callHackage "hie-compat" "0.3.1.0"
-      , hiedb = H.callHackage "hiedb" "0.4.2.0"
+      , hiedb = H.callHackage "hiedb" "0.4.3.0"
       , hinotify = H.callHackage "hinotify" "0.4.1"
       , hlint = H.callHackage "hlint" "3.5"
       , hls-alternate-number-format-plugin =
@@ -950,7 +954,7 @@ let packages =
       , resolv = H.callHackage "resolv" "0.1.2.0"
       , resource-pool = H.callHackage "resource-pool" "0.4.0.0"
       , resourcet = H.callHackage "resourcet" "1.3.0"
-      , retrie = H.callHackage "retrie" "1.2.1.1"
+      , retrie = H.callHackage "retrie" "1.2.2"
       , retry = H.callHackage "retry" "0.9.3.0"
       , rope-utf16-splay = H.callHackage "rope-utf16-splay" "0.4.0.0"
       , row-types = H.callHackage "row-types" "1.0.1.2"
diff --git a/horizon.lock b/horizon.lock
index 51c2b51bd4dfbd468853d638dce49fbdcd1995e7..662cfa41cada05a18993ccd052aee096e77ffa8b 100644
--- a/horizon.lock
+++ b/horizon.lock
@@ -1208,7 +1208,7 @@
   }
 , { mapKey = "foundation"
   , mapValue =
-      "2ea0d484c16d8c494f53f025f45bb02f531cf8e3b582ada43107eb3207840059"
+      "7727c13ef6bcc86c712f04dfafd34ff86b71c162895ed6560ab688653e79dc77"
   }
 , { mapKey = "fourmolu"
   , mapValue =
@@ -1564,7 +1564,7 @@
   }
 , { mapKey = "hiedb"
   , mapValue =
-      "a5a9992671f0d0bd55a9a7f770aad884a6e9bfe7e0ed73ec06cd35e638b48065"
+      "4871ce6e67de933f5210ec42add8d66ade1f231f34d5fff2edbab0f091cef167"
   }
 , { mapKey = "hinotify"
   , mapValue =
@@ -3100,7 +3100,7 @@
   }
 , { mapKey = "retrie"
   , mapValue =
-      "9bf3de3718f7c5a9d91dc99593bc483f95fdb73e3743d22753a8e314a65236b0"
+      "b4b9646ad9540c7e2a9baefacab277722f7a6829540735b6be52b9c04d22c26a"
   }
 , { mapKey = "retry"
   , mapValue =
diff --git a/pkgs/foundation.nix b/pkgs/foundation.nix
index 8ae04cb99f032e719f52188ba334b5a1d13d6944..1023c5d91408ab7645be9d7c7f08f0cc0fc8d798 100644
--- a/pkgs/foundation.nix
+++ b/pkgs/foundation.nix
@@ -1,8 +1,14 @@
-{ mkDerivation, base, basement, gauge, ghc-prim, lib }:
+{ mkDerivation, base, basement, fetchgit, gauge, ghc-prim, lib }:
 mkDerivation {
   pname = "foundation";
   version = "0.0.29";
-  sha256 = "34839bab424ffd5aed228271d75b15a84ed94eab515e44be909a9b37948173c1";
+  src = fetchgit {
+    url = "https://gitlab.rescue.horizon-haskell.net/hackage/foundation";
+    sha256 = "1l1idylvv25xp40zxxb5iim4xarpxfycwh85rmgabb0mbz4gw5rb";
+    rev = "d3136f4bb8b69e273535352620e53f2196941b35";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/foundation/; echo source root reset to $sourceRoot";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/hiedb.nix b/pkgs/hiedb.nix
index 4bac5808a2d3ac8218848392c002ec8a687ae443..e47b1d213f784d7d60a204bbf522d840bdfdc6f6 100644
--- a/pkgs/hiedb.nix
+++ b/pkgs/hiedb.nix
@@ -6,8 +6,10 @@
 }:
 mkDerivation {
   pname = "hiedb";
-  version = "0.4.2.0";
-  sha256 = "9cca518eaa6a5d747c32ca7f50c7ba3c7454fb96239796bbbd6d2cc7cb61b908";
+  version = "0.4.3.0";
+  sha256 = "609c200782f79120dbb77d0dc26f6db0dda5e976ef1855d3d19024d23fbbbe06";
+  revision = "1";
+  editedCabalFile = "0yaxg7463625spx0dxg4znzyl8zq93mnb393wp6x11n29jd3l20r";
   isLibrary = true;
   isExecutable = true;
   enableSeparateDataOutput = false;
diff --git a/pkgs/retrie.nix b/pkgs/retrie.nix
index cdabfeee11240d3f70ccb97ba1e2c03daeccb5be..3967de163ed3229d473e158b8ee450cf691a5ba3 100644
--- a/pkgs/retrie.nix
+++ b/pkgs/retrie.nix
@@ -7,10 +7,8 @@
 }:
 mkDerivation {
   pname = "retrie";
-  version = "1.2.1.1";
-  sha256 = "74abc7b1968df4455cd104338a81a38f3db89ac963c8fd918f5c5273db14bfab";
-  revision = "1";
-  editedCabalFile = "1j5ppfzdcqbnik6cccqlwb62496z473y26r2ad763q0l5v6lhqfq";
+  version = "1.2.2";
+  sha256 = "8a9569eb4296a17584a47c65c5b5a27ab09f53614f0d64214f200ebdfb719b77";
   isLibrary = true;
   isExecutable = true;
   enableSeparateDataOutput = false;