diff --git a/horizon.dhall b/horizon.dhall
index 221db069e8e76a525768e462956e4385f98b120c..231ee171f47d3f0b58816255e7cf1a5becc486d9 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -547,7 +547,9 @@ let packages =
       , hls-test-utils = H.callHackage "hls-test-utils" "1.5.0.0"
       , hopenssl = H.callHackage "hopenssl" "2.2.4"
       , horizon-gen-nix = H.callHackage "horizon-gen-nix" "0.6"
-      , horizon-spec = H.callHackage "horizon-spec" "0.6.1"
+      , horizon-spec = H.callHackage "horizon-spec" "0.6.4"
+      , horizon-spec-lens = H.callHackage "horizon-spec-lens" "0.1"
+      , horizon-spec-pretty = H.callHackage "horizon-spec-pretty" "0.0.1"
       , hosc = H.callHackage "hosc" "0.19.1"
       , hostname = H.callHackage "hostname" "1.0"
       , hourglass = H.callHackage "hourglass" "0.2.12"
diff --git a/initial-packages.nix b/initial-packages.nix
index a0e67542d95aa42eb3d5726386ab83961bc4fcd7..6a41f1079d1fcbf87dde842b6d78a175f7bb0575 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -839,6 +839,10 @@ self: with pkgs.haskell.lib; {
 
   horizon-spec = self.callPackage (./pkgs/horizon-spec.nix) { };
 
+  horizon-spec-lens = self.callPackage (./pkgs/horizon-spec-lens.nix) { };
+
+  horizon-spec-pretty = self.callPackage (./pkgs/horizon-spec-pretty.nix) { };
+
   hosc = self.callPackage (./pkgs/hosc.nix) { };
 
   hostname = self.callPackage (./pkgs/hostname.nix) { };
diff --git a/pkgs/horizon-spec-lens.nix b/pkgs/horizon-spec-lens.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f6dfed03cf924a8a2824be1e2c9b0f5c40b41e3e
--- /dev/null
+++ b/pkgs/horizon-spec-lens.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, horizon-spec, lens, lib }:
+mkDerivation {
+  pname = "horizon-spec-lens";
+  version = "0.1";
+  sha256 = "b7db04f3e480eafba6c9c6ce5dc9758f5996dd5dede080313e48393b7c43b481";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base horizon-spec lens ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://horizon-haskell.net";
+  description = "Horizon Stable Package Set Lenses";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/horizon-spec-pretty.nix b/pkgs/horizon-spec-pretty.nix
new file mode 100644
index 0000000000000000000000000000000000000000..6393bb4d24b080f9943cb4d6d34202048b6435df
--- /dev/null
+++ b/pkgs/horizon-spec-pretty.nix
@@ -0,0 +1,40 @@
+{ mkDerivation
+, base
+, bytestring
+, containers
+, dhall
+, horizon-spec
+, lens
+, lib
+, path
+, text
+}:
+mkDerivation {
+  pname = "horizon-spec-pretty";
+  version = "0.0.1";
+  sha256 = "8edf0b0aaeab131627ef277c223b6311a7cdf441ed0118355b0092f77a62f633";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    containers
+    dhall
+    horizon-spec
+    lens
+    path
+    text
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://horizon-haskell.net";
+  description = "Horizon Stable Package Set Pretty Printer";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/horizon-spec.nix b/pkgs/horizon-spec.nix
index 00087fe6a40a45a3540f285b197cdab7f4dc80f9..cea22c252d0688ffe8ca03b38303bb6f2a5161a4 100644
--- a/pkgs/horizon-spec.nix
+++ b/pkgs/horizon-spec.nix
@@ -7,12 +7,14 @@
 , path-dhall-instance
 , prettyprinter
 , sydtest
+, template-haskell
 , text
+, th-lift
 }:
 mkDerivation {
   pname = "horizon-spec";
-  version = "0.6.1";
-  sha256 = "97840918baa16cc175560645d1cd3bf762f7b6133d9c44f1c4da152431f65ada";
+  version = "0.6.4";
+  sha256 = "092aff7d396d331dbe45414e40fa5a142e8c47a4df8f141aa493cce5437fb72f";
   isLibrary = true;
   isExecutable = true;
   enableSeparateDataOutput = false;
@@ -22,7 +24,9 @@ mkDerivation {
     dhall
     path
     path-dhall-instance
+    template-haskell
     text
+    th-lift
   ];
   executableHaskellDepends = [
     base