diff --git a/pkgs/applications/radio/aldo/default.nix b/pkgs/applications/radio/aldo/default.nix
new file mode 100644
index 00000000000..fc38f6be4cc
--- /dev/null
+++ b/pkgs/applications/radio/aldo/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, libao }:
+
+stdenv.mkDerivation rec {
+  pname = "aldo";
+  version = "0.7.7";
+
+  src = fetchurl {
+    url = "mirror://savannah/${pname}/${pname}-${version}.tar.bz2";
+    sha256 = "14lzgldqzbbzydsy1cai3wln3hpyj1yhj8ji3wygyzr616fq9f7i";
+  };
+
+  buildInputs = [ libao ];
+
+  meta = with stdenv.lib; {
+    description = "Morse code training program";
+    homepage = http://aldo.nongnu.org/;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2d89497e517..f8c6b4f1706 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -466,6 +466,8 @@ in
     inherit (darwin.apple_sdk.frameworks) AppKit CoreFoundation CoreGraphics CoreServices CoreText Foundation OpenGL;
   };
 
+  aldo = callPackage ../applications/radio/aldo { };
+
   amazon-ecs-cli = callPackage ../tools/virtualization/amazon-ecs-cli { };
 
   amazon-glacier-cmd-interface = callPackage ../tools/backup/amazon-glacier-cmd-interface { };