about summary refs log tree commit diff
path: root/pkgs/larbs-music/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/larbs-music/default.nix')
-rw-r--r--pkgs/larbs-music/default.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/larbs-music/default.nix b/pkgs/larbs-music/default.nix
new file mode 100644
index 0000000..8e9169c
--- /dev/null
+++ b/pkgs/larbs-music/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, buildEnv, makeWrapper, makeDesktopItem, callPackage, ncmpcpp, libnotify }:
+with stdenv.lib;
+
+let
+  pname = "larbs-music";
+  version = "1.0";
+  voidrice = callPackage ../voidrice.nix { };
+  config = "${voidrice}/.config/ncmpcpp/config";
+  bindings = "${voidrice}/.config/ncmpcpp/config";
+  vizNcmpcpp = ncmpcpp.override {
+    visualizerSupport = true;
+  };
+
+  ncmpcppWrapped = stdenv.mkDerivation {
+    inherit pname version;
+    unpackPhase = "true";
+
+    buildInputs = [ makeWrapper ];
+
+    installPhase = ''
+      makeWrapper ${vizNcmpcpp}/bin/ncmpcpp $out/bin/ncmpcpp \
+      --add-flags "-c ${config}" \
+      --add-flags "-b ${bindings}"
+    '';
+
+  };
+
+  desktopItem = makeDesktopItem {
+    name = pname;
+    genericName = "Music player";
+    comment = "Ncmpcpp music player configuration by Luke Smith";
+    exec = "${ncmpcppWrapped}/bin/ncmpcpp";
+    # icon =
+    desktopName = pname;
+    categories = "Audio;AudioVideo";
+    terminal = "true";
+  };
+
+in
+  buildEnv {
+    name = pname;
+
+    paths = [
+      ncmpcppWrapped
+      libnotify
+      desktopItem
+    ];
+
+    meta = {
+      homepage = "https://github.com/LukeSmithXYZ/voidrice";
+      description = "NCMPCPP music player with vim bindings";
+      license = licenses.gpl3;
+      platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    };
+  }