niksos/modules/services/mpd.nix

55 lines
1.4 KiB
Nix
Raw Normal View History

2023-10-13 21:04:24 +02:00
{
config,
lib,
...
2024-05-05 12:38:40 +02:00
}: let
2023-10-13 21:04:24 +02:00
cfg = config.myOptions.services.mpd;
2024-04-14 18:49:29 +02:00
inherit (config.myOptions.other.system) username;
2024-05-05 12:38:40 +02:00
2024-07-25 11:45:44 +02:00
inherit (lib.modules) mkIf;
inherit (lib.options) mkEnableOption mkOption;
2024-05-05 12:38:40 +02:00
inherit (lib.types) str;
2023-10-13 21:04:24 +02:00
in {
options.myOptions.services.mpd = {
enable = mkEnableOption "mpd";
musicDirectory = mkOption {
description = "music directory for mpd";
2024-05-05 12:38:40 +02:00
type = str;
};
};
2023-10-03 19:22:24 +02:00
2023-10-13 21:04:24 +02:00
config = mkIf cfg.enable {
home-manager.users.${username} = {
2023-10-13 21:04:24 +02:00
services = {
mpd = {
enable = true;
inherit (cfg) musicDirectory;
2023-10-13 21:04:24 +02:00
extraConfig = ''
audio_output {
type "pipewire"
name "PipeWire Sound Server"
}
2023-09-08 16:10:15 +02:00
2023-10-13 21:04:24 +02:00
follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
'';
};
2023-10-03 19:22:24 +02:00
2023-10-13 21:04:24 +02:00
mpd-mpris = {
enable = true;
mpd = {
host = "127.0.0.1";
network = "unix";
port = 6600;
useLocal = true;
};
};
playerctld = {
enable = true;
};
};
2023-10-03 19:22:24 +02:00
};
2023-09-08 16:10:15 +02:00
};
}