diff options
Diffstat (limited to 'modules/by-name/mp/mpd')
| -rw-r--r-- | modules/by-name/mp/mpd/module.nix | 17 | ||||
| -rw-r--r-- | modules/by-name/mp/mpd/mpc.nix | 44 | ||||
| -rw-r--r-- | modules/by-name/mp/mpd/mpdconf.example.license | 9 |
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>. |
