diff --git a/manifest.dhall b/manifest.dhall
index 7af11703a3fbf90fdb0355ba07c5f53b2670c234..fd61e373ea1794b3fbe77b4b6a558dc02562e3ed 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -244,6 +244,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "hie-compat" "0.3.0.0"
     , callHackage "hiedb" "0.4.2.0"
     , callHackage "hledger-lib" "1.27.1"
+    , callHackage "hledger" "1.27.1"
     , callHackage "hlint" "3.5"
     , callHackage "hourglass" "0.2.12"
     , callCabal2nix
diff --git a/overlay.nix b/overlay.nix
index 215f527d0c1c6517b4b7af998ae5e0a36b6e2f26..b9eeef90132b297def202e0aff54306340f0559b 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -273,6 +273,8 @@ final: prev: with pkgs.haskell.lib; {
 
     hiedb = prev.callPackage (./pkgs/hiedb.nix) { };
 
+    hledger = prev.callPackage (./pkgs/hledger.nix) { };
+
     hledger-lib = prev.callPackage (./pkgs/hledger-lib.nix) { };
 
     hlint = prev.callPackage (./pkgs/hlint.nix) { };
diff --git a/pkgs/hledger.nix b/pkgs/hledger.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f951a7a330a6538752ec98b0e0f56a03dba47871
--- /dev/null
+++ b/pkgs/hledger.nix
@@ -0,0 +1,47 @@
+{ mkDerivation, aeson, ansi-terminal, base, breakpoint, bytestring
+, cmdargs, containers, data-default, Decimal, Diff, directory
+, extra, filepath, githash, hashable, haskeline, hledger-lib, lib
+, lucid, math-functions, megaparsec, microlens, mtl, process
+, regex-tdfa, safe, shakespeare, split, tabular, tasty, temporary
+, terminfo, text, time, timeit, transformers, unordered-containers
+, utf8-string, utility-ht, wizards
+}:
+mkDerivation {
+  pname = "hledger";
+  version = "1.27.1";
+  sha256 = "0bb7f637c5dfe0deaf6ea463b68a23fc08c4d581e78a81319e5e687fea41af61";
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson ansi-terminal base breakpoint bytestring cmdargs containers
+    data-default Decimal Diff directory extra filepath githash hashable
+    haskeline hledger-lib lucid math-functions megaparsec microlens mtl
+    process regex-tdfa safe shakespeare split tabular tasty temporary
+    terminfo text time timeit transformers unordered-containers
+    utf8-string utility-ht wizards
+  ];
+  executableHaskellDepends = [
+    aeson ansi-terminal base breakpoint bytestring cmdargs containers
+    data-default Decimal directory extra filepath githash haskeline
+    hledger-lib math-functions megaparsec microlens mtl process
+    regex-tdfa safe shakespeare split tabular tasty temporary terminfo
+    text time timeit transformers unordered-containers utf8-string
+    utility-ht wizards
+  ];
+  testHaskellDepends = [
+    aeson ansi-terminal base breakpoint bytestring cmdargs containers
+    data-default Decimal directory extra filepath githash haskeline
+    hledger-lib math-functions megaparsec microlens mtl process
+    regex-tdfa safe shakespeare split tabular tasty temporary terminfo
+    text time timeit transformers unordered-containers utf8-string
+    utility-ht wizards
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "http://hledger.org";
+  description = "Command-line interface for the hledger accounting system";
+  license = lib.licenses.gpl3Only;
+  mainProgram = "hledger";
+}
\ No newline at end of file