diff --git a/flake.lock b/flake.lock
index 99d20048c52da0c8bef2476f4dccd4dcdc46fed0..3d7aebec89a262d71b7b64acdd167164f078e7f8 100644
--- a/flake.lock
+++ b/flake.lock
@@ -5,7 +5,7 @@
       "locked": {
         "lastModified": 1663002059,
         "narHash": "sha256-3GWQx7KL1y6aE129bPrKDhaNev/Fas55zwcMp533SFg=",
-        "ref": "refs/heads/master",
+        "ref": "master",
         "rev": "55b4ed9f6626613cfd965887bd16f3ffdca1aba6",
         "revCount": 13161,
         "type": "git",
@@ -19,11 +19,11 @@
     "all-cabal-hashes": {
       "flake": false,
       "locked": {
-        "lastModified": 1663139965,
-        "narHash": "sha256-dfUZxeTI/UTKr1YBijvLhuP54f3KFvqda0nsprGv/4c=",
+        "lastModified": 1663324354,
+        "narHash": "sha256-4YT7ZGwXweYFtc25v76Ug2FnCwtiYXparYa8Vqqz2MA=",
         "owner": "commercialhaskell",
         "repo": "all-cabal-hashes",
-        "rev": "aacbc0aac40d2e40a0ef12278a0f18fa87e84360",
+        "rev": "1b3ac7155ad16d61354e5e62ba9c02d0098950b2",
         "type": "github"
       },
       "original": {
@@ -137,7 +137,7 @@
       "locked": {
         "lastModified": 1662566127,
         "narHash": "sha256-0e9yAWm2VLyFNtgaC1+WpneARrTfWUqeN2Hv0OW42+U=",
-        "ref": "refs/heads/master",
+        "ref": "master",
         "rev": "faf8fe90aa1cd2492ea1e64c55f5c59fc0322210",
         "revCount": 2,
         "type": "git",
@@ -262,6 +262,23 @@
         "type": "github"
       }
     },
+    "hnix": {
+      "flake": false,
+      "locked": {
+        "lastModified": 1663319540,
+        "narHash": "sha256-dGedn32j4UHWq6Nv7XK23OC/9P1e2CTj5KwenP21rmw=",
+        "owner": "milloni",
+        "repo": "hnix",
+        "rev": "005568ee024eabee129d9cf4ca331c6da260610b",
+        "type": "github"
+      },
+      "original": {
+        "owner": "milloni",
+        "ref": "milloni/horizon",
+        "repo": "hnix",
+        "type": "github"
+      }
+    },
     "lint-utils": {
       "inputs": {
         "flake-utils": "flake-utils_2",
@@ -270,7 +287,7 @@
       "locked": {
         "lastModified": 1655192403,
         "narHash": "sha256-XyKDvRGDh8VXA6zN8DUTnDaTMrk0MxMKg70MaAX1A2Y=",
-        "ref": "refs/heads/master",
+        "ref": "master",
         "rev": "a7ae54afdc4c05a5aabf202d5a76d02705eb6147",
         "revCount": 28,
         "type": "git",
@@ -316,11 +333,11 @@
     },
     "nixpkgs_2": {
       "locked": {
-        "lastModified": 1662934689,
-        "narHash": "sha256-mXi8hmhiunOVTeHiuouWXb0vTqjzp9v9kshMmI561Us=",
+        "lastModified": 1663235518,
+        "narHash": "sha256-q8zLK6rK/CLXEguaPgm9yQJcY0VQtOBhAT9EV2UFK/A=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "a0b7e70db7a55088d3de0cc370a59f9fbcc906c3",
+        "rev": "2277e4c9010b0f27585eb0bed0a86d7cbc079354",
         "type": "github"
       },
       "original": {
@@ -380,6 +397,7 @@
         "haskell-src-meta": "haskell-src-meta",
         "hedgehog-golden": "hedgehog-golden",
         "hlint": "hlint",
+        "hnix": "hnix",
         "lint-utils": "lint-utils",
         "memory": "memory",
         "nixpkgs": "nixpkgs_2",
@@ -443,11 +461,11 @@
     "unicode-data": {
       "flake": false,
       "locked": {
-        "lastModified": 1663138830,
-        "narHash": "sha256-4XBzjt8INKs4oo2shD2I2dj4TlBf6LFCoRQgCPsaiDc=",
+        "lastModified": 1663145083,
+        "narHash": "sha256-S2kAEojs5d+3d04lapTCwfpKx+z6i9QMHOKMxLPGmIo=",
         "owner": "composewell",
         "repo": "unicode-data",
-        "rev": "19119adf2a12ef39ae72f59afdb8b3940dc229ed",
+        "rev": "05cadb0c034f30ae179d5af66288c138338ee9a4",
         "type": "github"
       },
       "original": {
diff --git a/flake.nix b/flake.nix
index 162d43b7f88be08e37abc6da31e91a58d4e7c372..70311cc62c6e854d6354060b08c099499d566024 100644
--- a/flake.nix
+++ b/flake.nix
@@ -54,6 +54,10 @@
       url = "github:ndmitchell/hlint";
       flake = false;
     };
+    hnix = {
+      url = "github:milloni/hnix?ref=milloni/horizon";
+      flake = false;
+    };
     lint-utils.url = "git+https://gitlab.homotopic.tech/nix/lint-utils";
     memory = {
       url = "github:parsonsmatt/hs-memory/0f760c8ba0b7d5aacf04a7294e87e5e4fff53f40";
diff --git a/overlay.nix b/overlay.nix
index e2ab5d93bc20623af93c8d9e64a0e3a46e6684ca..55e8289402f3a96a740aef5c3e202729a27405ba 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -161,6 +161,8 @@ final: prev: with pkgs.haskell.lib; {
 
   haskell-src-meta = prev.callCabal2nix "haskell-src-meta" (inputs.haskell-src-meta + /haskell-src-meta) { };
 
+  hashing = doJailbreak (prev.callHackage "hashing" "0.1.0.1" { });
+
   hashtables = doJailbreak (prev.callHackage "hashtables" "1.3" { });
 
   hedgehog = dontHaddock (prev.callHackage "hedgehog" "1.2" { });
@@ -175,6 +177,8 @@ final: prev: with pkgs.haskell.lib; {
 
   hlint = prev.callCabal2nix "hlint" inputs.hlint { };
 
+  hnix = doJailbreak (dontCheck (prev.callCabal2nix "hnix" inputs.hnix { }));
+
   hourglass = dontCheck (prev.callHackage "hourglass" "0.2.12" { });
 
   hslua-aeson = doJailbreak (prev.callHackage "hslua-aeson" "2.2.1" { });
@@ -213,6 +217,8 @@ final: prev: with pkgs.haskell.lib; {
 
   lens-aeson = prev.callHackage "lens-aeson" "1.2.1" { };
 
+  lens-family-th = doJailbreak (prev.callHackage "lens-family-th" "0.5.2.1" { });
+
   lifted-async = doJailbreak (prev.callHackage "lifted-async" "0.10.2.1" { });
 
   linear = doJailbreak (prev.callHackage "linear" "1.21.10" { });
@@ -295,6 +301,8 @@ final: prev: with pkgs.haskell.lib; {
 
   rope-utf16-splay = prev.callHackage "rope-utf16-splay" "0.4.0.0" { };
 
+  saltine = addPkgconfigDepend (doJailbreak (prev.callHackage "saltine" "0.1.1.1" { })) pkgs.libsodium;
+
   scotty = doJailbreak (prev.callHackage "scotty" "0.12" { });
 
   scientific = prev.callHackage "scientific" "0.3.7.0" { };