diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index b919fde0153..12afb7847db 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -86,6 +86,7 @@
   joelteon = "Joel Taylor <me@joelt.io>";
   jpbernardy = "Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>";
   jwiegley = "John Wiegley <johnw@newartisans.com>";
+  jzellner = "Jeff Zellner <jeffz@eml.cc>";
   kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
   koral = "Koral <koral@mailoo.org>";
   kragniz = "Louis Taylor <kragniz@gmail.com>";
diff --git a/pkgs/applications/audio/vimus/default.nix b/pkgs/applications/audio/vimus/default.nix
new file mode 100644
index 00000000000..7f8c4e89f7f
--- /dev/null
+++ b/pkgs/applications/audio/vimus/default.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, c2hs, dataDefault, deepseq, filepath, hspec
+, hspecExpectations, libmpd, mtl, ncurses, QuickCheck, time
+, transformers, utf8String, wcwidth
+}:
+
+cabal.mkDerivation (self: {
+  pname = "vimus";
+  version = "0.2.0";
+  sha256 = "0s7hfyil9rnr9rmjb08g1l1sxybx3qdkw2f59p433fkdjp2m140h";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    dataDefault deepseq filepath libmpd mtl time utf8String wcwidth
+  ];
+  testDepends = [
+    dataDefault hspec hspecExpectations mtl QuickCheck transformers
+    wcwidth
+  ];
+  buildTools = [ c2hs ];
+  extraLibraries = [ ncurses ];
+  meta = {
+    description = "An MPD client with vim-like key bindings";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ jzellner ];
+  };
+})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e310dccd621..7c0ee929439 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5869,7 +5869,7 @@ let
   libnatspec = callPackage ../development/libraries/libnatspec { };
 
   libndp = callPackage ../development/libraries/libndp { };
-  
+
   libnfc = callPackage ../development/libraries/libnfc { };
 
   libnfsidmap = callPackage ../development/libraries/libnfsidmap { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 76ce4db251c..ca9a32bdd24 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -2963,6 +2963,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   validation = callPackage ../development/libraries/haskell/validation {};
 
+  vimus = callPackage ../applications/audio/vimus {};
+
   xlsx = callPackage ../development/libraries/haskell/xlsx {};
 
   xmobar = callPackage ../applications/misc/xmobar {};