diff --git a/horizon.dhall b/horizon.dhall
index 221db069e8e76a525768e462956e4385f98b120c..d319fbf3502d4561c321242e298c43bce98ff382 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -548,6 +548,7 @@ let packages =
       , 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-lens = H.callHackage "horizon-spec-lens" "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..80a6d305e581523e99ffba19e8175d935af34c34 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -839,6 +839,8 @@ self: with pkgs.haskell.lib; {
 
   horizon-spec = self.callPackage (./pkgs/horizon-spec.nix) { };
 
+  horizon-spec-lens = self.callPackage (./pkgs/horizon-spec-lens.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;
+}