diff --git a/flake.nix b/flake.nix
index c34d9fbba635bf3f15b71ba1875797275edd30c0..3e4c9e05c7fd145c3fa1abb492f67bca50a9063a 100644
--- a/flake.nix
+++ b/flake.nix
@@ -81,7 +81,7 @@
 
           checks = with lint-utils.linters.${system}; {
             dhall-format = dhall-format { src = self; };
-            nixpkgs-fmt = nixpkgs-fmt { src = self; };
+            nixpkgs-fmt = nixpkgs-fmt { src = self; find = "flake.nix"; };
             stylish-haskell = stylish-haskell { src = self; };
           };
 
diff --git a/horizon.dhall b/horizon.dhall
index 24b73d18c62fb59e902f453c7c4b5a01ba30d640..29a070ff4535025ef4655fab727130ec00965df3 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -4,7 +4,7 @@ let H =
 let packages =
       { BNFC = H.callHackage "BNFC" "2.9.4.1"
       , Boolean = H.callHackage "Boolean" "0.2.4"
-      , Cabal = H.callHackage "Cabal" "3.8.1.0"
+      , Cabal = H.callHackage "Cabal" "3.10.1.0"
       , Cabal-QuickCheck =
           H.callGit
             "https://gitlab.haskell.org/ghc/packages/Cabal"
@@ -15,16 +15,12 @@ let packages =
             "https://gitlab.haskell.org/ghc/packages/Cabal"
             "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff"
             (Some "Cabal-described/")
-      , Cabal-syntax =
-          H.callGit
-            "https://gitlab.haskell.org/ghc/packages/Cabal"
-            "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff"
-            (Some "Cabal-syntax/")
       , Cabal-tree-diff =
           H.callGit
             "https://gitlab.haskell.org/ghc/packages/Cabal"
             "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff"
             (Some "Cabal-tree-diff/")
+      , Cabal-syntax = H.callHackage "Cabal-syntax" "3.10.1.0"
       , Chart = H.callHackage "Chart" "1.9.4"
       , Chart-diagrams = H.callHackage "Chart-diagrams" "1.9.4"
       , ChasingBottoms = H.callHackage "ChasingBottoms" "1.3.1.12"
@@ -80,7 +76,7 @@ let packages =
       , asn1-encoding = H.callHackage "asn1-encoding" "0.9.6"
       , asn1-parse = H.callHackage "asn1-parse" "0.9.5"
       , asn1-types = H.callHackage "asn1-types" "0.3.4"
-      , assoc = H.callHackage "assoc" "1.0.2"
+      , assoc = H.callHackage "assoc" "1.1"
       , async = H.callHackage "async" "2.2.4"
       , async-timer = H.callHackage "async-timer" "0.2.0.0"
       , atomic-primops = H.callHackage "atomic-primops" "0.8.4"
@@ -129,7 +125,7 @@ let packages =
             (Some "beam-sqlite/")
       , bech32 = H.callHackage "bech32" "1.1.2"
       , bech32-th = H.callHackage "bech32-th" "1.1.1"
-      , bifunctors = H.callHackage "bifunctors" "5.5.13"
+      , bifunctors = H.callHackage "bifunctors" "5.6.1"
       , bimap = H.callHackage "bimap" "0.5.0"
       , bin = H.callHackage "bin" "0.1.2"
       , binary-orphans = H.callHackage "binary-orphans" "1.0.3"
@@ -149,8 +145,8 @@ let packages =
       , bytestring-builder = H.callHackage "bytestring-builder" "0.10.8.2.0"
       , c2hs = H.callHackage "c2hs" "0.28.8"
       , cabal-doctest = H.callHackage "cabal-doctest" "1.0.9"
-      , cabal-install = H.callHackage "cabal-install" "3.8.1.0"
-      , cabal-install-solver = H.callHackage "cabal-install-solver" "3.8.1.0"
+      , cabal-install = H.callHackage "cabal-install" "3.10.1.0"
+      , cabal-install-solver = H.callHackage "cabal-install-solver" "3.10.1.0"
       , cabal2nix = H.callHackage "cabal2nix" "2.19.1"
       , cache = H.callHackage "cache" "0.1.3.0"
       , call-stack = H.callHackage "call-stack" "0.4.0"
@@ -299,11 +295,7 @@ let packages =
       , dns = H.callHackage "dns" "4.1.0"
       , doclayout = H.callHackage "doclayout" "0.4"
       , doctemplates = H.callHackage "doctemplates" "0.10.0.2"
-      , doctest =
-          H.callGit
-            "https://github.com/sol/doctest"
-            "4eb97c213acf7abe965a3a1b67397199ed155f3c"
-            (None H.Subdir)
+      , doctest = H.callHackage "doctest" "0.21.1"
       , doctest-discover = H.callHackage "doctest-discover" "0.2.0.0"
       , doctest-exitcode-stdio = H.callHackage "doctest-exitcode-stdio" "0.0"
       , doctest-lib = H.callHackage "doctest-lib" "0.1"
@@ -355,7 +347,7 @@ let packages =
       , extensible-exceptions = H.callHackage "extensible-exceptions" "0.1.1.4"
       , extra = H.callHackage "extra" "1.7.12"
       , fail = H.callHackage "fail" "4.9.0.0"
-      , fast-logger = H.callHackage "fast-logger" "3.1.1"
+      , fast-logger = H.callHackage "fast-logger" "3.2.1"
       , fast-math = H.callHackage "fast-math" "1.0.2"
       , fcf-containers = H.callHackage "fcf-containers" "0.7.1"
       , feedback = H.callHackage "feedback" "0.1.0.1"
@@ -380,6 +372,8 @@ let packages =
       , fmlist = H.callHackage "fmlist" "0.9.4"
       , fmt = H.callHackage "fmt" "0.6.3.0"
       , focus = H.callHackage "focus" "1.0.3"
+      , foldable1-classes-compat =
+          H.callHackage "foldable1-classes-compat" "0.1"
       , foldl = H.callHackage "foldl" "1.4.12"
       , force-layout = H.callHackage "force-layout" "0.4.0.6"
       , foreign-store = H.callHackage "foreign-store" "0.2"
@@ -467,11 +461,11 @@ let packages =
       , groups = H.callHackage "groups" "0.5.3"
       , gtk2hs-buildtools = H.callHackage "gtk2hs-buildtools" "0.13.8.3"
       , hackage-db = H.callHackage "hackage-db" "2.1.2"
-      , hackage-security = H.callHackage "hackage-security" "0.6.2.2"
+      , hackage-security = H.callHackage "hackage-security" "0.6.2.3"
       , haddock-library = H.callHackage "haddock-library" "1.11.0"
       , hakyll = H.callHackage "hakyll" "4.15.1.1"
       , half = H.callHackage "half" "0.3.1"
-      , happy = H.callHackage "happy" "1.20.0"
+      , happy = H.callHackage "happy" "1.20.1.1"
       , hashable = H.callHackage "hashable" "1.4.1.0"
       , hashing = H.callHackage "hashing" "0.1.0.1"
       , hashmap = H.callHackage "hashmap" "1.3.3"
@@ -778,7 +772,11 @@ let packages =
       , mono-traversable = H.callHackage "mono-traversable" "1.0.15.3"
       , monoid-extras = H.callHackage "monoid-extras" "0.6.2"
       , monoid-subclasses = H.callHackage "monoid-subclasses" "1.1.3"
-      , monoidal-containers = H.callHackage "monoidal-containers" "0.6.3.0"
+      , monoidal-containers =
+          H.callGit
+            "https://github.com/locallycompact/monoidal-containers"
+            "977140aed7f850ca4e73090475b0f7ff02a7a92e"
+            (None H.Subdir)
       , mtl-compat = H.callHackage "mtl-compat" "0.2.2"
       , mtl-prelude = H.callHackage "mtl-prelude" "2.0.3.1"
       , multiset = H.callHackage "multiset" "0.3.4.3"
@@ -1104,7 +1102,7 @@ let packages =
       , system-fileio = H.callHackage "system-fileio" "0.3.16.4"
       , system-filepath = H.callHackage "system-filepath" "0.4.14"
       , tabular = H.callHackage "tabular" "0.2.2.8"
-      , tagged = H.callHackage "tagged" "0.8.6.1"
+      , tagged = H.callHackage "tagged" "0.8.7"
       , tagsoup = H.callHackage "tagsoup" "0.14.8"
       , tar =
           H.callGit
@@ -1168,7 +1166,7 @@ let packages =
       , th-orphans = H.callHackage "th-orphans" "0.13.14"
       , th-reify-many = H.callHackage "th-reify-many" "0.1.10"
       , th-utilities = H.callHackage "th-utilities" "0.2.5.0"
-      , these = H.callHackage "these" "1.1.1.1"
+      , these = H.callHackage "these" "1.2"
       , these-skinny = H.callHackage "these-skinny" "0.7.5"
       , threads = H.callHackage "threads" "0.5.1.7"
       , tidal = H.callHackage "tidal" "1.8.1"
@@ -1210,7 +1208,11 @@ let packages =
       , universe-reverse-instances =
           H.callHackage "universe-reverse-instances" "1.1.1"
       , unix-bytestring = H.callHackage "unix-bytestring" "0.3.7.8"
-      , unix-compat = H.callHackage "unix-compat" "0.6"
+      , unix-compat =
+          H.callGit
+            "https://github.com/mitchellwrosen/fork--unix-compat"
+            "f28060acd449643d267954647c1bb7c748c35fa9"
+            (None H.Subdir)
       , unix-memory = H.callHackage "unix-memory" "0.1.2"
       , unix-time = H.callHackage "unix-time" "0.4.8"
       , unliftio = H.callHackage "unliftio" "0.2.23.0"
diff --git a/initial-packages.nix b/initial-packages.nix
index ffd3a68ac507ac5953aa7fb5badfaafe08ef2796..f3e2819ea9c25571f4fb213874e0c158295f0d32 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -595,6 +595,8 @@ self: with pkgs.haskell.lib; {
 
   focus = self.callPackage (./pkgs/focus.nix) { };
 
+  foldable1-classes-compat = self.callPackage (./pkgs/foldable1-classes-compat.nix) { };
+
   foldl = self.callPackage (./pkgs/foldl.nix) { };
 
   force-layout = self.callPackage (./pkgs/force-layout.nix) { };
diff --git a/pkgs/Cabal-syntax.nix b/pkgs/Cabal-syntax.nix
index 1853ccbbc05fe8165f304548d2f1888b111a222b..e5dbabac277accddbb78587bd72c88c219e28277 100644
--- a/pkgs/Cabal-syntax.nix
+++ b/pkgs/Cabal-syntax.nix
@@ -6,7 +6,6 @@
 , containers
 , deepseq
 , directory
-, fetchgit
 , filepath
 , lib
 , mtl
@@ -19,14 +18,8 @@
 }:
 mkDerivation {
   pname = "Cabal-syntax";
-  version = "3.9.0.0";
-  src = fetchgit {
-    url = "https://gitlab.haskell.org/ghc/packages/Cabal";
-    sha256 = "13prqza1wk1gc0az8lizrm97w6rwxv5lzvy5a4gahpr2wsliqjfg";
-    rev = "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff";
-    fetchSubmodules = true;
-  };
-  postUnpack = "sourceRoot+=/Cabal-syntax/; echo source root reset to $sourceRoot";
+  version = "3.10.1.0";
+  sha256 = "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/Cabal.nix b/pkgs/Cabal.nix
index bc1d0ef9bb36ab29a4d3053b76eb7bb3d4f316dc..b1a2005d2bb5e92f419510ec0b7a9b82b7e5eec7 100644
--- a/pkgs/Cabal.nix
+++ b/pkgs/Cabal.nix
@@ -19,8 +19,8 @@
 }:
 mkDerivation {
   pname = "Cabal";
-  version = "3.8.1.0";
-  sha256 = "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608";
+  version = "3.10.1.0";
+  sha256 = "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/assoc.nix b/pkgs/assoc.nix
index 0e45c158659790f36b507ecfce13c7a4fc11688a..63bbd1c6b91a4e13be81eae7b04a1e462c9c8692 100644
--- a/pkgs/assoc.nix
+++ b/pkgs/assoc.nix
@@ -1,14 +1,12 @@
-{ mkDerivation, base, bifunctors, lib, tagged }:
+{ mkDerivation, base, lib, tagged }:
 mkDerivation {
   pname = "assoc";
-  version = "1.0.2";
-  sha256 = "d8988dc6e8718c7a3456515b769c9336aeeec730cf86fc5175247969ff8f144f";
-  revision = "3";
-  editedCabalFile = "0mrb12dx316q4gxyn68x2rl8jq0gd77zffd12r8j1r41l0xd9f4k";
+  version = "1.1";
+  sha256 = "7aa2e6548b3d9d49a286ac20639479aaf6c47a1446113ed784d98737c5f60df4";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
-  libraryHaskellDepends = [ base bifunctors tagged ];
+  libraryHaskellDepends = [ base tagged ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
   doHaddock = false;
diff --git a/pkgs/bifunctors.nix b/pkgs/bifunctors.nix
index 34db1afef4c4aaf27c22713afa60b3655fed922a..4b07406b37d4c6588b2d87194784d838173543a4 100644
--- a/pkgs/bifunctors.nix
+++ b/pkgs/bifunctors.nix
@@ -1,9 +1,10 @@
 { mkDerivation
 , QuickCheck
+, assoc
 , base
-, base-orphans
 , comonad
 , containers
+, foldable1-classes-compat
 , hspec
 , hspec-discover
 , lib
@@ -15,16 +16,17 @@
 }:
 mkDerivation {
   pname = "bifunctors";
-  version = "5.5.13";
-  sha256 = "26cc27ade3796cf03bd680f98ebb7b8c0d7fd1b67c1894dc3635f734fba7dbd7";
+  version = "5.6.1";
+  sha256 = "06381471b5be16516a1b2c4b21a5101a3d991038bface8e0cad144c0044d57fc";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
   libraryHaskellDepends = [
+    assoc
     base
-    base-orphans
     comonad
     containers
+    foldable1-classes-compat
     tagged
     template-haskell
     th-abstraction
diff --git a/pkgs/cabal-install-solver.nix b/pkgs/cabal-install-solver.nix
index a91fba579dcff4c59ca0ca0bd5d358f74be1dff0..bd9c82e1889815975cc29fe832ae0f6f42b28018 100644
--- a/pkgs/cabal-install-solver.nix
+++ b/pkgs/cabal-install-solver.nix
@@ -17,10 +17,8 @@
 }:
 mkDerivation {
   pname = "cabal-install-solver";
-  version = "3.8.1.0";
-  sha256 = "df2369f6c37517a3b2625bc19057d9e206bbb40386bcb607f17dc7d2e588ffe7";
-  revision = "1";
-  editedCabalFile = "1g487j20pj03pc10yaha18v73wh3ackxjgfpfqaj7xznqcbm5xwm";
+  version = "3.10.1.0";
+  sha256 = "2c0d9edd4ccd746e9bf8ab4f92b1ecffe2f56eae29395c67ef5ca091a6f49f37";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/cabal-install.nix b/pkgs/cabal-install.nix
index bb3e83ec1e7003b1d252607c175c3f2193ffde5a..6e59fed316181ed93259e171910e662914a7c337 100644
--- a/pkgs/cabal-install.nix
+++ b/pkgs/cabal-install.nix
@@ -51,10 +51,8 @@
 }:
 mkDerivation {
   pname = "cabal-install";
-  version = "3.8.1.0";
-  sha256 = "61ce436f2e14e12bf07ea1c81402362f46275014cd841a76566f0766d0ea67e6";
-  revision = "2";
-  editedCabalFile = "1l2lvljkr1ibnr3py7xfp2csxyb3rzlhy7jlpx8gkamq9cjmi6p2";
+  version = "3.10.1.0";
+  sha256 = "995de368555449230e0762b259377ed720798717f4dd26a4fa711e8e41c7838d";
   isLibrary = true;
   isExecutable = true;
   enableSeparateDataOutput = false;
diff --git a/pkgs/doctest.nix b/pkgs/doctest.nix
index 48e74655ddc84f0da7eb20d08ec37e2c626ca221..1f95240cb2f0864852561a0e7d1824f96a87e8e6 100644
--- a/pkgs/doctest.nix
+++ b/pkgs/doctest.nix
@@ -1,89 +1,27 @@
-{ mkDerivation
-, HUnit
-, QuickCheck
-, base
-, base-compat
-, code-page
-, deepseq
-, directory
-, exceptions
-, fetchgit
-, filepath
-, ghc
-, ghc-paths
-, hspec
-, hspec-core
-, hspec-discover
-, lib
-, mockery
-, process
-, setenv
-, silently
-, stringbuilder
-, syb
-, transformers
+{ mkDerivation, HUnit, QuickCheck, base, base-compat, code-page
+, deepseq, directory, exceptions, filepath, ghc, ghc-paths, hspec
+, hspec-core, hspec-discover, lib, mockery, process, setenv
+, silently, stringbuilder, syb, transformers
 }:
 mkDerivation {
   pname = "doctest";
-  version = "0.20.0";
-  src = fetchgit {
-    url = "https://github.com/sol/doctest";
-    sha256 = "1i29zi7qgbkjz7cg4s1qdgjblfvb601kcc7jizlh2vghskjmxi77";
-    rev = "4eb97c213acf7abe965a3a1b67397199ed155f3c";
-    fetchSubmodules = true;
-  };
+  version = "0.21.1";
+  sha256 = "6336aa457c541561151b1768ce1ad428bc800dc277bed02caf42aa686e42f46d";
   isLibrary = true;
   isExecutable = true;
   enableSeparateDataOutput = false;
   libraryHaskellDepends = [
-    base
-    base-compat
-    code-page
-    deepseq
-    directory
-    exceptions
-    filepath
-    ghc
-    ghc-paths
-    process
-    syb
-    transformers
+    base base-compat code-page deepseq directory exceptions filepath
+    ghc ghc-paths process syb transformers
   ];
   executableHaskellDepends = [
-    base
-    base-compat
-    code-page
-    deepseq
-    directory
-    exceptions
-    filepath
-    ghc
-    ghc-paths
-    process
-    syb
-    transformers
+    base base-compat code-page deepseq directory exceptions filepath
+    ghc ghc-paths process syb transformers
   ];
   testHaskellDepends = [
-    base
-    base-compat
-    code-page
-    deepseq
-    directory
-    exceptions
-    filepath
-    ghc
-    ghc-paths
-    hspec
-    hspec-core
-    HUnit
-    mockery
-    process
-    QuickCheck
-    setenv
-    silently
-    stringbuilder
-    syb
-    transformers
+    base base-compat code-page deepseq directory exceptions filepath
+    ghc ghc-paths hspec hspec-core HUnit mockery process QuickCheck
+    setenv silently stringbuilder syb transformers
   ];
   testToolDepends = [ hspec-discover ];
   enableLibraryProfiling = true;
@@ -97,4 +35,4 @@ mkDerivation {
   description = "Test interactive Haskell examples";
   license = lib.licenses.mit;
   broken = false;
-}
+}
\ No newline at end of file
diff --git a/pkgs/foldable1-classes-compat.nix b/pkgs/foldable1-classes-compat.nix
new file mode 100644
index 0000000000000000000000000000000000000000..71c964ef7dc78cb9dc57f24fb6b601afc8488c08
--- /dev/null
+++ b/pkgs/foldable1-classes-compat.nix
@@ -0,0 +1,58 @@
+{ mkDerivation
+, QuickCheck
+, base
+, containers
+, criterion
+, deepseq
+, ghc-prim
+, lib
+, quickcheck-instances
+, tagged
+, test-framework
+, test-framework-quickcheck2
+, transformers
+}:
+mkDerivation {
+  pname = "foldable1-classes-compat";
+  version = "0.1";
+  sha256 = "d057c3f358e1a6b72c73519bc64ba6aa959f066c08fed69f73258555ef95ff12";
+  revision = "2";
+  editedCabalFile = "05sdpi0c503xgrgg2cg4922r5ja5154lfwzi9mgcmxncsk02a4l5";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    ghc-prim
+    tagged
+    transformers
+  ];
+  testHaskellDepends = [
+    base
+    containers
+    QuickCheck
+    quickcheck-instances
+    test-framework
+    test-framework-quickcheck2
+    transformers
+  ];
+  benchmarkHaskellDepends = [
+    base
+    containers
+    criterion
+    deepseq
+    transformers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell-compat/foldable1-classes-compat";
+  description = "Compatibility package for the Foldable1 and Bifoldable1 type classes";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/hackage-security.nix b/pkgs/hackage-security.nix
index 4957f4e84af06f5ca37fd854b261ec167f553988..10d727b875ae58248f43aa146fe6de9db25fa80b 100644
--- a/pkgs/hackage-security.nix
+++ b/pkgs/hackage-security.nix
@@ -1,91 +1,29 @@
-{ mkDerivation
-, Cabal
-, Cabal-syntax
-, QuickCheck
-, aeson
-, base
-, base16-bytestring
-, base64-bytestring
-, bytestring
-, containers
-, cryptohash-sha256
-, directory
-, ed25519
-, filepath
-, ghc-prim
-, lib
-, lukko
-, mtl
-, network
-, network-uri
-, parsec
-, pretty
-, tar
-, tasty
-, tasty-hunit
-, tasty-quickcheck
-, template-haskell
-, temporary
-, text
-, time
-, transformers
-, unordered-containers
-, vector
-, zlib
+{ mkDerivation, Cabal, Cabal-syntax, QuickCheck, aeson, base
+, base16-bytestring, base64-bytestring, bytestring, containers
+, cryptohash-sha256, directory, ed25519, filepath, ghc-prim, lib
+, lukko, mtl, network, network-uri, parsec, pretty, tar, tasty
+, tasty-hunit, tasty-quickcheck, template-haskell, temporary, text
+, time, transformers, unordered-containers, vector, zlib
 }:
 mkDerivation {
   pname = "hackage-security";
-  version = "0.6.2.2";
-  sha256 = "a833a31610220506557e96fb6e3e8b05a2e1db8e7ebc06e91bbb699ddde0b276";
+  version = "0.6.2.3";
+  sha256 = "52ee0576971955571d846b8e6c09638f89f4f7881f4a95173e44ccc0d856a066";
   revision = "2";
-  editedCabalFile = "12mrnjyl5z5ng1w4748xi6l8iyq3wcs94qq42kx9hx09d4qklsq0";
+  editedCabalFile = "07i8f4sappqphh39jj9268a6ci7l972qi33p4zydsdrvh5s58h0q";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
   libraryHaskellDepends = [
-    base
-    base16-bytestring
-    base64-bytestring
-    bytestring
-    Cabal
-    Cabal-syntax
-    containers
-    cryptohash-sha256
-    directory
-    ed25519
-    filepath
-    ghc-prim
-    lukko
-    mtl
-    network
-    network-uri
-    parsec
-    pretty
-    tar
-    template-haskell
-    time
-    transformers
-    zlib
+    base base16-bytestring base64-bytestring bytestring Cabal
+    Cabal-syntax containers cryptohash-sha256 directory ed25519
+    filepath ghc-prim lukko mtl network network-uri parsec pretty tar
+    template-haskell time transformers zlib
   ];
   testHaskellDepends = [
-    aeson
-    base
-    bytestring
-    Cabal
-    Cabal-syntax
-    containers
-    network-uri
-    QuickCheck
-    tar
-    tasty
-    tasty-hunit
-    tasty-quickcheck
-    temporary
-    text
-    time
-    unordered-containers
-    vector
-    zlib
+    aeson base bytestring Cabal Cabal-syntax containers network-uri
+    QuickCheck tar tasty tasty-hunit tasty-quickcheck temporary text
+    time unordered-containers vector zlib
   ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
@@ -98,4 +36,4 @@ mkDerivation {
   description = "Hackage security library";
   license = lib.licenses.bsd3;
   broken = false;
-}
+}
\ No newline at end of file
diff --git a/pkgs/happy.nix b/pkgs/happy.nix
index 938ff5218dbb5f72320a9d507c0eb0c459ca8ea8..a4831a3f0b7a66be7059970477d6b924bc1050e6 100644
--- a/pkgs/happy.nix
+++ b/pkgs/happy.nix
@@ -1,10 +1,8 @@
 { mkDerivation, array, base, containers, lib, mtl, process }:
 mkDerivation {
   pname = "happy";
-  version = "1.20.0";
-  sha256 = "3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c";
-  revision = "1";
-  editedCabalFile = "16dy1cv942rizxp8slnnbwi5l24ggsmy38madbin9scz38idqisx";
+  version = "1.20.1.1";
+  sha256 = "8b4e7dc5a6c5fd666f8f7163232931ab28746d0d17da8fa1cbd68be9e878881b";
   isLibrary = false;
   isExecutable = true;
   enableSeparateDataOutput = true;
@@ -21,4 +19,4 @@ mkDerivation {
   description = "Happy is a parser generator for Haskell";
   license = lib.licenses.bsd2;
   broken = false;
-}
+}
\ No newline at end of file
diff --git a/pkgs/monoidal-containers.nix b/pkgs/monoidal-containers.nix
index 21856c6d352c93d7ffa1023ecac644895e150adc..2720e18dc2acd33f6c889c1a125a19e4f556b788 100644
--- a/pkgs/monoidal-containers.nix
+++ b/pkgs/monoidal-containers.nix
@@ -1,36 +1,22 @@
-{ mkDerivation
-, aeson
-, base
-, containers
-, deepseq
-, hashable
-, lens
-, lib
-, newtype
-, semialign
-, these
-, unordered-containers
-, witherable
+{ mkDerivation, aeson, base, containers, deepseq, fetchgit
+, hashable, lens, lib, newtype, semialign, these
+, unordered-containers, witherable
 }:
 mkDerivation {
   pname = "monoidal-containers";
   version = "0.6.3.0";
-  sha256 = "047e86f1d31c56c8aee60eaff340b57340b1aa9a29f9ecf64679cb9141f98154";
+  src = fetchgit {
+    url = "https://github.com/locallycompact/monoidal-containers";
+    sha256 = "19093cl6v8wlpmmxmk2s88pr0fz51pvhbci4i42frnlfxgqaw0b1";
+    rev = "977140aed7f850ca4e73090475b0f7ff02a7a92e";
+    fetchSubmodules = true;
+  };
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
   libraryHaskellDepends = [
-    aeson
-    base
-    containers
-    deepseq
-    hashable
-    lens
-    newtype
-    semialign
-    these
-    unordered-containers
-    witherable
+    aeson base containers deepseq hashable lens newtype semialign these
+    unordered-containers witherable
   ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
@@ -43,4 +29,4 @@ mkDerivation {
   description = "Containers with monoidal accumulation";
   license = lib.licenses.bsd3;
   broken = false;
-}
+}
\ No newline at end of file
diff --git a/pkgs/strict.nix b/pkgs/strict.nix
index df076cd92810316d92d3704a1e34a19c7f9cd0c0..b2d5a5e39476a9137ab1839c205ba7664ca86778 100644
--- a/pkgs/strict.nix
+++ b/pkgs/strict.nix
@@ -4,6 +4,7 @@
 , binary
 , bytestring
 , deepseq
+, fetchgit
 , ghc-prim
 , hashable
 , lib
@@ -13,10 +14,14 @@
 }:
 mkDerivation {
   pname = "strict";
-  version = "0.4.0.1";
-  sha256 = "dff6abc08ad637e51891bb8b475778c40926c51219eda60fd64f0d9680226241";
-  revision = "4";
-  editedCabalFile = "0pdzqhy7z70m8gxcr54jf04qhncl1jbvwybigb8lrnxqirs5l86n";
+  version = "0.5";
+  src = fetchgit {
+    url = "https://github.com/haskellari/strict";
+    sha256 = "0rh7jh54mz225dvmlwn8ynh5zrl94ssq44qp8096rsd6q5sbs5ib";
+    rev = "68876e95b4dbdca76bf4f5bd7164a35abf3bdcb7";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/strict/; echo source root reset to $sourceRoot";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/tagged.nix b/pkgs/tagged.nix
index cd3de0c9b3475973c21559361da1bf689c3aafd0..89d5f69b8c118ac27af6f795ff2583ad46dd716a 100644
--- a/pkgs/tagged.nix
+++ b/pkgs/tagged.nix
@@ -7,10 +7,8 @@
 }:
 mkDerivation {
   pname = "tagged";
-  version = "0.8.6.1";
-  sha256 = "f5e0fcf95f0bb4aa63f428f2c01955a41ea1a42cfcf39145ed631f59a9616c02";
-  revision = "3";
-  editedCabalFile = "19klgkhkca9qgq2ylc41z85x7piagjh8wranriy48dcfkgraw94a";
+  version = "0.8.7";
+  sha256 = "6414eeac27a1633f49e2f78199ced99ce8ce3d70b658cf6d55b1d81ff60cb961";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/these.nix b/pkgs/these.nix
index 0adc0f87e35680426f5ea7bad2db7196edaed60b..41a5eab5e57fde298c3434c77b2bf91fa4af91a9 100644
--- a/pkgs/these.nix
+++ b/pkgs/these.nix
@@ -1,14 +1,27 @@
-{ mkDerivation, assoc, base, binary, deepseq, hashable, lib }:
+{ mkDerivation
+, assoc
+, base
+, binary
+, deepseq
+, foldable1-classes-compat
+, hashable
+, lib
+}:
 mkDerivation {
   pname = "these";
-  version = "1.1.1.1";
-  sha256 = "d798c9f56e17def441e8f51e54cc11afdb3e76c6a9d1e9ee154e9a78da0bf508";
-  revision = "6";
-  editedCabalFile = "12ll5l8m482qkb8zn79vx51bqlwc89fgixf8jv33a32b4qzc3499";
+  version = "1.2";
+  sha256 = "a8ed7174b7f790764360f48aab72fea382a6093ed369c7bc6881fae1abacd4b8";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
-  libraryHaskellDepends = [ assoc base binary deepseq hashable ];
+  libraryHaskellDepends = [
+    assoc
+    base
+    binary
+    deepseq
+    foldable1-classes-compat
+    hashable
+  ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
   doHaddock = false;
diff --git a/pkgs/unix-compat.nix b/pkgs/unix-compat.nix
index b478535369a129e1a86b7eda2cd3b2ebc38c8fbc..7f6c859fa73caa9b87925eb0bea351f7a4f3d03e 100644
--- a/pkgs/unix-compat.nix
+++ b/pkgs/unix-compat.nix
@@ -3,6 +3,7 @@
 , base
 , directory
 , extra
+, fetchgit
 , hspec
 , lib
 , monad-parallel
@@ -11,10 +12,13 @@
 }:
 mkDerivation {
   pname = "unix-compat";
-  version = "0.6";
-  sha256 = "b4cd823a6543ad3aca8e740ecf5f44aabde60f1452b5a55655db5c8b7a44d5f8";
-  revision = "1";
-  editedCabalFile = "0g5mi6rh977idajgxnnlsd7dp28vf4xwiiwpsc4pj1rqv0lhjp8g";
+  version = "0.7";
+  src = fetchgit {
+    url = "https://github.com/mitchellwrosen/fork--unix-compat";
+    sha256 = "05bnsbaswlsjgb8hrvabwdxzj4ii0kabj8mk47iczlwks6rimlgl";
+    rev = "f28060acd449643d267954647c1bb7c748c35fa9";
+    fetchSubmodules = true;
+  };
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;