diff --git a/pkgs/tools/misc/neo-cowsay/default.nix b/pkgs/tools/misc/neo-cowsay/default.nix
new file mode 100644
index 000000000000..128d582e32e7
--- /dev/null
+++ b/pkgs/tools/misc/neo-cowsay/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "neo-cowsay";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "Code-Hex";
+    repo = "Neo-cowsay";
+    rev = "v${version}";
+    sha256 = "1in6kadczv05v62qhskqbdx7wppch0gwl0bshr5ihmi39k8l7v3z";
+  };
+
+  modSha256 = "063ds35dzv8m4bjk7v1q3f6jwyp7j5jrkrhrl41z1c1mbzzkagkq";
+
+  subPackages = [ "cmd/cowsay" "cmd/cowthink" ];
+
+  meta = with lib; {
+    description = "Cowsay reborn, written in Go";
+    homepage = "https://github.com/Code-Hex/Neo-cowsay";
+    license = with licenses; [artistic1 /* or */ gpl3];
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index daad27066247..a73d848676ab 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5102,6 +5102,8 @@ in
 
   nemiver = callPackage ../development/tools/nemiver { };
 
+  neo-cowsay = callPackage ../tools/misc/neo-cowsay { };
+
   neofetch = callPackage ../tools/misc/neofetch { };
 
   nerdfonts = callPackage ../data/fonts/nerdfonts { };