diff --git a/pkgs/applications/misc/ctodo/default.nix b/pkgs/applications/misc/ctodo/default.nix
new file mode 100644
index 000000000000..3978a369d06f
--- /dev/null
+++ b/pkgs/applications/misc/ctodo/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, cmake, fetchurl, ncurses }:
+
+let
+  version = "1.1";
+in
+stdenv.mkDerivation {
+  name = "ctodo-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Acolarh/ctodo/archive/v1.1.tar.gz";
+    sha256 = "1sv5p1b08pp73qshakz4qy4pjglxz2pvx2cjfx52i3532hd3xcaf";
+  };
+
+  buildInputs = [ stdenv cmake ncurses ];
+
+  configurePhase = ''
+    cmake -DCMAKE_INSTALL_PREFIX=$out .
+  '';
+
+  meta = {
+    homepage = "http://ctodo.apakoh.dk/";
+    description = "A simple ncurses-based task list manager.";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b161bb73c7bd..b2d5f544dfbf 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4542,6 +4542,8 @@ let
     inherit pkgs ctags writeScriptBin;
   };
 
+  ctodo = callPackage ../applications/misc/ctodo { };
+
   cmake = callPackage ../development/tools/build-managers/cmake { };
 
   cmake-3_0 = callPackage ../development/tools/build-managers/cmake/3.0.nix { };