trying to get mpd working

This commit is contained in:
Vali 2024-07-13 22:08:21 +02:00
commit f70e14fb32
11 changed files with 333 additions and 22 deletions

View file

@ -1 +1 @@
_: {imports = [./pipewire.nix ./ssh.nix ./greetd.nix ./dunst.nix];}
_: {imports = [./pipewire.nix ./ssh.nix ./greetd.nix ./dunst.nix ./mpd.nix];}

61
modules/services/mpd.nix Normal file
View file

@ -0,0 +1,61 @@
{
config,
lib,
...
}: let
cfg = config.modules.services.mpd;
inherit (config.modules.other.system) username;
inherit (lib) mkEnableOption mkIf mkOption;
inherit (lib.types) str;
in {
options.modules.services.mpd = {
enable = mkEnableOption "mpd";
musicDirectory = mkOption {
description = "music directory for mpd";
type = str;
};
};
config = mkIf cfg.enable {
home-manager.users.${username} = {
services = {
mpd = {
enable = true;
inherit (cfg) musicDirectory;
extraConfig = ''
user "${username}"
restore_paused "yes"
follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
audio_output {
type "pipewire"
name "PipeWire Sound Server"
}
audio_output {
type "fifo"
name "FIFO"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
'';
};
mpd-mpris = {
enable = true;
mpd = {
host = "127.0.0.1";
network = "unix";
port = 6600;
useLocal = true;
};
};
playerctld = {
enable = true;
};
};
};
};
}