aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/mp/mpd
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name/mp/mpd')
-rw-r--r--modules/by-name/mp/mpd/module.nix17
-rw-r--r--modules/by-name/mp/mpd/mpc.nix44
-rw-r--r--modules/by-name/mp/mpd/mpdconf.example.license9
3 files changed, 55 insertions, 15 deletions
diff --git a/modules/by-name/mp/mpd/module.nix b/modules/by-name/mp/mpd/module.nix
index 6f045f9f..474d81c4 100644
--- a/modules/by-name/mp/mpd/module.nix
+++ b/modules/by-name/mp/mpd/module.nix
@@ -1,3 +1,12 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
{
config,
pkgs,
@@ -53,6 +62,11 @@ in {
services.mpd = {
enable = true;
+
+ package = pkgs.mpd.override {
+ ffmpeg = pkgs.ffmpeg-headless;
+ };
+
network = {
listenAddress = socketPath;
};
@@ -62,6 +76,7 @@ in {
extraConfig = ''
metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc,comment"
+
# Updated by the beets `mpdupdate` plugin
auto_update "no"
@@ -73,6 +88,8 @@ in {
replaygain "track"
replaygain_limit "yes"
+ sticker_file "${cfg.directories.data}/sticker.sql"
+
#database {
# plugin "simple"
# path "~/.local/share/mpd/db
diff --git a/modules/by-name/mp/mpd/mpc.nix b/modules/by-name/mp/mpd/mpc.nix
index 031465fe..5fbeddc5 100644
--- a/modules/by-name/mp/mpd/mpc.nix
+++ b/modules/by-name/mp/mpd/mpc.nix
@@ -1,3 +1,12 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
{
config,
lib,
@@ -5,11 +14,28 @@
...
}: let
cfg = config.soispha.services.mpd.mpc;
- parentCfg = config.soispha.services.mpd;
+
+ mpp = pkgs.mpp.override {
+ # Removes the currently playing song from the disk and storage
+ mpp-beetrm = pkgs.mpp-beetrm.override {
+ beets = cfg.beetsPkg;
+ };
+
+ # Works like normal `mpc searchadd` but uses the `beets` query syntax
+ mpp-searchadd = pkgs.mpp-searchadd.override {
+ beets = cfg.beetsPkg;
+ };
+ };
in {
options.soispha.services.mpd.mpc = {
enable = lib.mkEnableOption "mpc with extensions";
+ mppPackage = lib.mkOption {
+ type = lib.types.package;
+ description = "The package to use, when calling `mpp`";
+ default = mpp;
+ };
+
beetsPkg = lib.mkOption {
type = lib.types.package;
description = "The package to use, when calling `beet`";
@@ -18,20 +44,8 @@ in {
config = lib.mkIf cfg.enable {
home-manager.users.soispha.home.packages = [
- pkgs.mpp # Wrapper around `mpc` that allows the usage of `mpc-{beetsrm,lyrics,searchadd}` (below) without the `-`
-
- # Removes the currently playing song from the disk and storage
- (pkgs.mpp-beetrm.override {
- beets = cfg.beetsPkg;
- })
- # Works like normal `mpc searchadd` but uses the `beets` query syntax
- (pkgs.mpp-searchadd.override {
- beets = cfg.beetsPkg;
- })
- # Displays the lyrics of the currently playing song
- (pkgs.mpp-lyrics.override {
- mpd_music_dir = parentCfg.directories.music;
- })
+ # Wrapper around `mpc` that allows the usage of `mpc-{beetsrm,lyrics,searchadd}`
+ cfg.mppPackage
];
};
}
diff --git a/modules/by-name/mp/mpd/mpdconf.example.license b/modules/by-name/mp/mpd/mpdconf.example.license
new file mode 100644
index 00000000..eae6a84c
--- /dev/null
+++ b/modules/by-name/mp/mpd/mpdconf.example.license
@@ -0,0 +1,9 @@
+nixos-config - My current NixOS configuration
+
+Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+SPDX-License-Identifier: GPL-3.0-or-later
+
+This file is part of my nixos-config.
+
+You should have received a copy of the License along with this program.
+If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.