about summary refs log tree commit diff stats
path: root/pkgs/by-name/mp
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-23 13:26:22 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-23 13:26:22 +0200
commit204731c0a69136c9cebcb54f1afecf5145e26bbe (patch)
treefc9132e5dc74e4a8e1327cdd411839a90f9410aa /pkgs/by-name/mp
parentrefactor(sys): Modularize and move to `modules/system` or `pkgs` (diff)
downloadnixos-config-204731c0a69136c9cebcb54f1afecf5145e26bbe.zip
refactor(pkgs): Categorize into `by-name` shards
This might not be the perfect way to organize a package set --
especially if the set is not nearly the size of nixpkgs -- but it is
_at_ least a way of organization.
Diffstat (limited to 'pkgs/by-name/mp')
-rwxr-xr-xpkgs/by-name/mp/mpc-fav/mpc-fav.sh16
-rw-r--r--pkgs/by-name/mp/mpc-fav/package.nix13
-rwxr-xr-xpkgs/by-name/mp/mpc-rm/mpc-rm.sh10
-rw-r--r--pkgs/by-name/mp/mpc-rm/package.nix15
-rwxr-xr-xpkgs/by-name/mp/mpc/mpc.sh20
-rw-r--r--pkgs/by-name/mp/mpc/package.nix17
6 files changed, 91 insertions, 0 deletions
diff --git a/pkgs/by-name/mp/mpc-fav/mpc-fav.sh b/pkgs/by-name/mp/mpc-fav/mpc-fav.sh
new file mode 100755
index 00000000..795a4875
--- /dev/null
+++ b/pkgs/by-name/mp/mpc-fav/mpc-fav.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+FAV_DIR="$XDG_MUSIC_DIR/playlists/favourites"
+
+cd "$XDG_MUSIC_DIR" || die "No music dir!"
+
+[ -d "$FAV_DIR" ] || mkdir --parents "$FAV_DIR"
+
+ln -sr "$(mpc --format '%file%' current)" "$FAV_DIR/" || die "Link failed!"
+
+mpc update
+
+# vim: ft=sh
diff --git a/pkgs/by-name/mp/mpc-fav/package.nix b/pkgs/by-name/mp/mpc-fav/package.nix
new file mode 100644
index 00000000..2d3a8f3f
--- /dev/null
+++ b/pkgs/by-name/mp/mpc-fav/package.nix
@@ -0,0 +1,13 @@
+{
+  sysLib,
+  mpc-cli,
+}:
+sysLib.writeShellScript {
+  name = "mpc-fav";
+  src = ./mpc-fav.sh;
+  generateCompletions = false;
+  keepPath = false;
+  dependencies = [
+    mpc-cli
+  ];
+}
diff --git a/pkgs/by-name/mp/mpc-rm/mpc-rm.sh b/pkgs/by-name/mp/mpc-rm/mpc-rm.sh
new file mode 100755
index 00000000..94e0634b
--- /dev/null
+++ b/pkgs/by-name/mp/mpc-rm/mpc-rm.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+cd "$XDG_MUSIC_DIR" || die "No music dir!"
+trash-put "$(mpc --format '%file%' current)"
+mpc del 0
+
+# vim: ft=sh
diff --git a/pkgs/by-name/mp/mpc-rm/package.nix b/pkgs/by-name/mp/mpc-rm/package.nix
new file mode 100644
index 00000000..6b7e2ead
--- /dev/null
+++ b/pkgs/by-name/mp/mpc-rm/package.nix
@@ -0,0 +1,15 @@
+{
+  sysLib,
+  mpc-cli,
+  trash-cli,
+}:
+sysLib.writeShellScript {
+  name = "mpc-rm";
+  src = ./mpc-rm.sh;
+  generateCompletions = false;
+  keepPath = false;
+  dependencies = [
+    mpc-cli
+    trash-cli
+  ];
+}
diff --git a/pkgs/by-name/mp/mpc/mpc.sh b/pkgs/by-name/mp/mpc/mpc.sh
new file mode 100755
index 00000000..5aae5cdb
--- /dev/null
+++ b/pkgs/by-name/mp/mpc/mpc.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+case "$1" in
+"rm")
+    shift 1
+    mpc-rm "$@"
+    ;;
+"fav")
+    shift 1
+    mpc-fav "$@"
+    ;;
+*)
+    mpc "$@"
+    ;;
+esac
+
+# vim: ft=sh
diff --git a/pkgs/by-name/mp/mpc/package.nix b/pkgs/by-name/mp/mpc/package.nix
new file mode 100644
index 00000000..936aa990
--- /dev/null
+++ b/pkgs/by-name/mp/mpc/package.nix
@@ -0,0 +1,17 @@
+{
+  sysLib,
+  mpc-fav,
+  mpc-rm,
+  mpc-cli,
+}:
+sysLib.writeShellScript {
+  name = "mpc";
+  src = ./mpc.sh;
+  generateCompletions = false;
+  keepPath = false;
+  dependencies = [
+    mpc-fav
+    mpc-rm
+    mpc-cli
+  ];
+}