diff --git a/manifest.dhall b/manifest.dhall
index 2288cc659a8d852c63c847e320fa402cc1c5c99e..1e42f49ac4bd32f355bcc0795664b775d4b642d6 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -173,6 +173,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "ghc-lib-parser-ex" "9.4.0.0"
     , callHackage "ghc-paths" "0.1.0.12"
     , callHackage "ghc-tcplugins-extra" "0.4.3"
+    , callHackage "ghcid" "0.8.8"
     , callHackage "hackage-security" "0.6.2.2"
     , callHackage "hashable" "1.4.1.0"
     , callHackage "hashing" "0.1.0.1"
diff --git a/overlay.nix b/overlay.nix
index 0857d037d754a5b0bdf0ca743214ad768053e54e..ffafd9c0a2c3dd01ae7ae7b4b1dedd47b50155fd 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -181,6 +181,8 @@ final: prev: with pkgs.haskell.lib; {
 
     ghc-tcplugins-extra = prev.callPackage (./pkgs/ghc-tcplugins-extra.nix) { };
 
+    ghcid = prev.callPackage (./pkgs/ghcid.nix) { };
+
     hackage-security = prev.callPackage (./pkgs/hackage-security.nix) { };
 
     hashable = prev.callPackage (./pkgs/hashable.nix) { };
diff --git a/pkgs/ghcid.nix b/pkgs/ghcid.nix
new file mode 100644
index 0000000000000000000000000000000000000000..fbb1bf01671a12f6691afa1efd01579aa6f958e0
--- /dev/null
+++ b/pkgs/ghcid.nix
@@ -0,0 +1,30 @@
+{ mkDerivation, ansi-terminal, base, cmdargs, containers, directory
+, extra, filepath, fsnotify, lib, process, tasty, tasty-hunit
+, terminal-size, time, unix
+}:
+mkDerivation {
+  pname = "ghcid";
+  version = "0.8.8";
+  sha256 = "92c96e439dd1e0b760181d17ac2ff84f96d0d4871c2f03296a3278095ec858f8";
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    ansi-terminal base cmdargs directory extra filepath process time
+  ];
+  executableHaskellDepends = [
+    ansi-terminal base cmdargs containers directory extra filepath
+    fsnotify process terminal-size time unix
+  ];
+  testHaskellDepends = [
+    ansi-terminal base cmdargs containers directory extra filepath
+    fsnotify process tasty tasty-hunit terminal-size time unix
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/ndmitchell/ghcid#readme";
+  description = "GHCi based bare bones IDE";
+  license = lib.licenses.bsd3;
+  mainProgram = "ghcid";
+}
\ No newline at end of file