diff --git a/horizon.dhall b/horizon.dhall
index c77c137a0089e65bd86abb2ef736d96bae2bd8ba..ee6a3f6b87e0e15a01082f9b66244842bdd85078 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -84,8 +84,8 @@ let packages =
       , brick = H.callHackage "brick" "1.9"
       , bytes = H.callHackage "bytes" "0.17.2"
       , c2hs = H.callHackage "c2hs" "0.28.8"
-      , cabal-install = H.callHackage "cabal-install" "3.10.1.0"
-      , cabal-install-solver = H.callHackage "cabal-install-solver" "3.10.1.0"
+      , cabal-install = H.callHackage "cabal-install" "3.8.1.0"
+      , cabal-install-solver = H.callHackage "cabal-install-solver" "3.8.1.0"
       , cache = H.callHackage "cache" "0.1.3.0"
       , canonical-json = H.callHackage "canonical-json" "0.6.0.1"
       , casing = H.callHackage "casing" "0.1.4.1"
@@ -151,7 +151,6 @@ let packages =
             (Some "cursor-dirforest-gen/")
       , cursor-fuzzy-time = H.callHackage "cursor-fuzzy-time" "0.0.0.0"
       , cursor-gen = H.callHackage "cursor-gen" "0.4.0.0"
-      , daemons = H.callHackage "daemons" "0.3.0"
       , data-binary-ieee754 = H.callHackage "data-binary-ieee754" "0.4.4"
       , data-ordlist = H.callHackage "data-ordlist" "0.4.7.0"
       , data-sketches = H.callHackage "data-sketches" "0.3.1.0"
@@ -337,6 +336,7 @@ let packages =
           , H.CabalFlag.Disable "floskell"
           ]
       , haskell-src = H.callHackage "haskell-src" "1.0.4"
+      , hdaemonize = H.callHackage "hdaemonize" "0.5.6"
       , heaps = H.callHackage "heaps" "0.4"
       , hedgehog-extras = H.callHackage "hedgehog-extras" "0.4.5.1"
       , hedgehog-fn = H.callHackage "hedgehog-fn" "1.0"
@@ -352,7 +352,11 @@ let packages =
       , hie-compat = H.callHackage "hie-compat" "0.3.1.0"
       , hiedb = H.callHackage "hiedb" "0.4.3.0"
       , hinotify = H.callHackage "hinotify" "0.4.1"
-      , hint = H.callGit "https://github.com/haskell-hint/hint" "7803c34c8ae1d83c0f7c13fe6b30fcb3abd0ac51" (None H.Subdir)
+      , hint =
+          H.callGit
+            "https://github.com/haskell-hint/hint"
+            "7803c34c8ae1d83c0f7c13fe6b30fcb3abd0ac51"
+            (None H.Subdir)
       , hlint = H.callHackage "hlint" "3.5"
       , hls-alternate-number-format-plugin =
           H.callHackage "hls-alternate-number-format-plugin" "1.3.0.0"
@@ -566,7 +570,7 @@ let packages =
       , odd-jobs =
           H.callGit
             "https://github.com/saurabhnanda/odd-jobs"
-            "f6c7bbbcdb383d2eb487ad7fe427ec05a747c14f"
+            "60481132b229d22eda8efcd3392dd1df237bd968"
             (None H.Subdir)
       , one-liner = H.callHackage "one-liner" "2.1"
       , openapi3 = H.callHackage "openapi3" "3.2.3"
@@ -666,7 +670,7 @@ let packages =
       , replace-megaparsec = H.callHackage "replace-megaparsec" "1.4.5.0"
       , rerebase = H.callHackage "rerebase" "1.20"
       , resolv = H.callHackage "resolv" "0.1.2.0"
-      , resource-pool = H.callHackage "resource-pool" "0.4.0.0"
+      , resource-pool = H.callHackage "resource-pool" "0.3.1.0"
       , retrie = H.callHackage "retrie" "1.2.2"
       , retry = H.callHackage "retry" "0.9.3.1"
       , rope-utf16-splay = H.callHackage "rope-utf16-splay" "0.4.0.0"
diff --git a/horizon.lock b/horizon.lock
index b239e7a3524e6b6ec13c4b4f244aa17df206a8b2..2afeab9d2aad89c710dcca7a43ecbb5c4c4101af 100644
--- a/horizon.lock
+++ b/horizon.lock
@@ -260,11 +260,11 @@
   }
 , { mapKey = "cabal-install"
   , mapValue =
-      "4ab64ffdc186f5bb7a2b373d55379846962df7adbac7344a80d6e986cb50d0d7"
+      "fd2294df1599586608fc7dd0797a6095f473d35c91ab21d93503e28a99fa73c3"
   }
 , { mapKey = "cabal-install-solver"
   , mapValue =
-      "3e8e76bf69b3f8aae7fff83b7197fd0340c1a025d67439bb7c2840c09b9ae61a"
+      "83ab01d8bc94f20d343e44d059a87f5b104a998e8b4c44399e63a47372545418"
   }
 , { mapKey = "cache"
   , mapValue =
@@ -458,10 +458,6 @@
   , mapValue =
       "9b88cb29fa27e0d1223fbc7c3e9c0a21077c7d65b7d717618c6516ecb8a56236"
   }
-, { mapKey = "daemons"
-  , mapValue =
-      "63a120fbeccf398388e5d18ab216e0b1fcfeb7e450846fa13239953d81ab9bb1"
-  }
 , { mapKey = "data-binary-ieee754"
   , mapValue =
       "745e2aaa3c9cc4da276e72edfd6de1db38fb65737a59f09410715cf965a13e06"
@@ -1014,6 +1010,10 @@
   , mapValue =
       "dd3f1bdd1290b58fed3eeafeaaba3c4b63b7900cdb5065483fbb5cc9f479ad08"
   }
+, { mapKey = "hdaemonize"
+  , mapValue =
+      "ab4f90bf1de28057460801b3eb68e3785e2e5bba6227df52d511bf7c209905f1"
+  }
 , { mapKey = "heaps"
   , mapValue =
       "e042b769e4e44e7f41cbc5c52e1ef3ca3956fd922dcc8070ff55e9e9e6d3d24d"
@@ -1752,7 +1752,7 @@
   }
 , { mapKey = "odd-jobs"
   , mapValue =
-      "63a125646016dd066c0fb88d94901bcbc7fb54ead00cda68964dcffab32d0ad2"
+      "d7d651358d62761eabf0186a9dce78308d2af56504370ed223ba39333684ffba"
   }
 , { mapKey = "one-liner"
   , mapValue =
@@ -2120,7 +2120,7 @@
   }
 , { mapKey = "resource-pool"
   , mapValue =
-      "04416c9c464d59c6392a0cbf5b36702059bad320bf4b8cdba9f1fd780f20965d"
+      "17e94560c8817554b7841c7ad141ffb729343cc3084ae0d51484f912b337096a"
   }
 , { mapKey = "retrie"
   , mapValue =
diff --git a/overlay.nix b/overlay.nix
index 804d9da0bcee0d159c39cfc4dc2fa982e29299fe..9aea9ed6fe58836269fce98bc99894666b55f327 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -231,8 +231,6 @@ final: prev: with pkgs.haskell.lib; {
 
   cursor-gen = final.callPackage (./pkgs/cursor-gen.nix) { };
 
-  daemons = final.callPackage (./pkgs/daemons.nix) { };
-
   data-binary-ieee754 = final.callPackage (./pkgs/data-binary-ieee754.nix) { };
 
   data-ordlist = final.callPackage (./pkgs/data-ordlist.nix) { };
@@ -509,6 +507,8 @@ final: prev: with pkgs.haskell.lib; {
 
   haskell-src = final.callPackage (./pkgs/haskell-src.nix) { };
 
+  hdaemonize = final.callPackage (./pkgs/hdaemonize.nix) { };
+
   heaps = final.callPackage (./pkgs/heaps.nix) { };
 
   hedgehog-extras = final.callPackage (./pkgs/hedgehog-extras.nix) { };
diff --git a/pkgs/cabal-install-solver.nix b/pkgs/cabal-install-solver.nix
index ed39aad2e78d9ab77421ccec08dd2811543964db..7679bba07f4f8e2fee8d26af11d7b570afa05df9 100644
--- a/pkgs/cabal-install-solver.nix
+++ b/pkgs/cabal-install-solver.nix
@@ -4,8 +4,10 @@
 }:
 mkDerivation {
   pname = "cabal-install-solver";
-  version = "3.10.1.0";
-  sha256 = "2c0d9edd4ccd746e9bf8ab4f92b1ecffe2f56eae29395c67ef5ca091a6f49f37";
+  version = "3.8.1.0";
+  sha256 = "df2369f6c37517a3b2625bc19057d9e206bbb40386bcb607f17dc7d2e588ffe7";
+  revision = "1";
+  editedCabalFile = "1g487j20pj03pc10yaha18v73wh3ackxjgfpfqaj7xznqcbm5xwm";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/cabal-install.nix b/pkgs/cabal-install.nix
index eb57c04d07e6671b840184cf7d666aaeb5b8d354..76b4561150c5c8978b7ae71ec32c3a7a30f805d7 100644
--- a/pkgs/cabal-install.nix
+++ b/pkgs/cabal-install.nix
@@ -10,8 +10,10 @@
 }:
 mkDerivation {
   pname = "cabal-install";
-  version = "3.10.1.0";
-  sha256 = "995de368555449230e0762b259377ed720798717f4dd26a4fa711e8e41c7838d";
+  version = "3.8.1.0";
+  sha256 = "61ce436f2e14e12bf07ea1c81402362f46275014cd841a76566f0766d0ea67e6";
+  revision = "3";
+  editedCabalFile = "14l2jvyrzhgkmgkrkhmb6cb1vy4pgcg3q8dgyg8vszpm0mb1ws77";
   isLibrary = true;
   isExecutable = true;
   enableSeparateDataOutput = false;
diff --git a/pkgs/daemons.nix b/pkgs/daemons.nix
deleted file mode 100644
index 3f0313c3425a931ac22b798004b4ed3ca5bc9fe5..0000000000000000000000000000000000000000
--- a/pkgs/daemons.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ mkDerivation, HUnit, base, bytestring, cereal, containers
-, data-default, directory, filepath, ghc-prim, lib, network, pipes
-, test-framework, test-framework-hunit, transformers, unix
-}:
-mkDerivation {
-  pname = "daemons";
-  version = "0.3.0";
-  sha256 = "c36f4f13aaf7d114925a559748c935f42397094c2f82c6809956d130261e0016";
-  isLibrary = true;
-  isExecutable = true;
-  enableSeparateDataOutput = true;
-  libraryHaskellDepends = [
-    base bytestring cereal data-default directory filepath ghc-prim
-    network pipes transformers unix
-  ];
-  executableHaskellDepends = [
-    base bytestring cereal containers data-default ghc-prim network
-    pipes transformers
-  ];
-  testHaskellDepends = [
-    base data-default directory ghc-prim HUnit test-framework
-    test-framework-hunit unix
-  ];
-  enableLibraryProfiling = true;
-  enableExecutableProfiling = true;
-  doHaddock = false;
-  jailbreak = true;
-  doCheck = false;
-  doBenchmark = false;
-  hyperlinkSource = false;
-  homepage = "https://github.com/scvalex/daemons";
-  description = "Daemons in Haskell made fun and easy";
-  license = lib.licenses.gpl3Only;
-  broken = false;
-}
\ No newline at end of file
diff --git a/pkgs/hdaemonize.nix b/pkgs/hdaemonize.nix
new file mode 100644
index 0000000000000000000000000000000000000000..7d2196ae0a36ecd0046b93d4b8bbc5a32982b1e7
--- /dev/null
+++ b/pkgs/hdaemonize.nix
@@ -0,0 +1,25 @@
+{ mkDerivation, base, bytestring, extensible-exceptions, filepath
+, hsyslog, lib, mtl, unix
+}:
+mkDerivation {
+  pname = "hdaemonize";
+  version = "0.5.6";
+  sha256 = "ad6f302492a9c41e99ce62ca955a959b0cdca0ff328e66f31bfec5a99f7cee24";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base bytestring extensible-exceptions filepath hsyslog mtl unix
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/unprolix/hdaemonize";
+  description = "Library to handle the details of writing daemons for UNIX";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/odd-jobs.nix b/pkgs/odd-jobs.nix
index 5b2c486e404c942ce9ff9a68ca4fde7c84d5230c..9962518df0a387fc30e2e542cd829daeff4224dd 100644
--- a/pkgs/odd-jobs.nix
+++ b/pkgs/odd-jobs.nix
@@ -1,7 +1,7 @@
-{ mkDerivation, aeson, base, bytestring, containers, daemons
+{ mkDerivation, aeson, async, base, bytestring, containers
 , directory, either, fast-logger, fetchgit, filepath, foreign-store
-, friendly-time, generic-deriving, hedgehog, hostname, lib
-, lifted-async, lifted-base, lucid, mmorph, monad-control
+, friendly-time, generic-deriving, hdaemonize, hedgehog, hostname
+, lib, lifted-async, lifted-base, lucid, mmorph, monad-control
 , monad-logger, mtl, optparse-applicative, postgresql-simple
 , random, resource-pool, safe, servant, servant-lucid
 , servant-server, servant-static-th, string-conv, tasty
@@ -14,34 +14,34 @@ mkDerivation {
   version = "0.2.2";
   src = fetchgit {
     url = "https://github.com/saurabhnanda/odd-jobs";
-    sha256 = "0iiga6idcbsm2lgcx6ck3bn37950gzhicrqg0xw65dxsfyhma2p0";
-    rev = "f6c7bbbcdb383d2eb487ad7fe427ec05a747c14f";
+    sha256 = "0zpyzrq5648wz3l4gk3v3j9jii1dq8kp1wal3ny8ghhmy04k7n5d";
+    rev = "60481132b229d22eda8efcd3392dd1df237bd968";
     fetchSubmodules = true;
   };
   isLibrary = true;
   isExecutable = true;
   enableSeparateDataOutput = false;
   libraryHaskellDepends = [
-    aeson base bytestring daemons directory either fast-logger filepath
-    friendly-time generic-deriving hostname lucid monad-control
-    monad-logger mtl optparse-applicative postgresql-simple
-    resource-pool safe servant servant-lucid servant-server
-    servant-static-th string-conv text text-conversions time
-    timing-convenience unix unliftio unliftio-core unordered-containers
-    wai warp
+    aeson async base bytestring directory either fast-logger filepath
+    friendly-time generic-deriving hdaemonize hostname lucid
+    monad-control monad-logger mtl optparse-applicative
+    postgresql-simple resource-pool safe servant servant-lucid
+    servant-server servant-static-th string-conv text text-conversions
+    time timing-convenience unix unliftio unliftio-core
+    unordered-containers wai warp
   ];
   executableHaskellDepends = [
-    aeson base bytestring daemons directory either fast-logger filepath
-    foreign-store friendly-time generic-deriving hostname lucid
-    monad-control monad-logger mtl optparse-applicative
+    aeson async base bytestring directory either fast-logger filepath
+    foreign-store friendly-time generic-deriving hdaemonize hostname
+    lucid monad-control monad-logger mtl optparse-applicative
     postgresql-simple resource-pool safe servant servant-lucid
     servant-server servant-static-th string-conv text text-conversions
     time timing-convenience unix unliftio unliftio-core
     unordered-containers wai warp
   ];
   testHaskellDepends = [
-    aeson base bytestring containers daemons directory either
-    fast-logger filepath friendly-time generic-deriving hedgehog
+    aeson async base bytestring containers directory either fast-logger
+    filepath friendly-time generic-deriving hdaemonize hedgehog
     hostname lifted-async lifted-base lucid mmorph monad-control
     monad-logger mtl optparse-applicative postgresql-simple random
     resource-pool safe servant servant-lucid servant-server
diff --git a/pkgs/resource-pool.nix b/pkgs/resource-pool.nix
index 1d620cdf273d9087272adfc87db2a908b100ca2b..fb7dc13b14a6a51dd4ead94fad4a38cea43d9c02 100644
--- a/pkgs/resource-pool.nix
+++ b/pkgs/resource-pool.nix
@@ -1,12 +1,12 @@
-{ mkDerivation, base, hashable, lib, primitive, time }:
+{ mkDerivation, base, lib, primitive, time }:
 mkDerivation {
   pname = "resource-pool";
-  version = "0.4.0.0";
-  sha256 = "8c0d783e3e75788d65f79157309132999f1bbb70684bacc2ea5dd18f904ae9b1";
+  version = "0.3.1.0";
+  sha256 = "fe14a0f90526ff5e1629ff6bf19025ebb18354352718abc7814095d001f58c4e";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
-  libraryHaskellDepends = [ base hashable primitive time ];
+  libraryHaskellDepends = [ base primitive time ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
   doHaddock = false;