55 lines
1.2 KiB
Nix
55 lines
1.2 KiB
Nix
{ pkgs, ... }:
|
|
|
|
let
|
|
mpdConf = pkgs.writeText "mpd.conf" ''
|
|
music_directory "~/Music"
|
|
playlist_directory "~/.mpd/playlists"
|
|
db_file "~/.mpd/tag_cache"
|
|
state_file "~/.mpd/state"
|
|
sticker_file "~/.mpd/sticker.sql"
|
|
|
|
bind_to_address "127.0.0.1"
|
|
zeroconf_enabled "no"
|
|
|
|
restore_paused "yes"
|
|
replaygain "track"
|
|
auto_update "yes"
|
|
|
|
audio_output {
|
|
type "pulse"
|
|
name "pulse"
|
|
}
|
|
|
|
audio_output {
|
|
type "fifo"
|
|
name "fifo"
|
|
path "~/.mpd/fifo"
|
|
format "44100:16:2"
|
|
}
|
|
'';
|
|
in
|
|
{
|
|
imports = [
|
|
./pulseaudio.nix
|
|
];
|
|
|
|
systemd.user.services.mpd = {
|
|
after = [ "network.target" "sound.target" ];
|
|
description = "Music Player Daemon";
|
|
|
|
wantedBy = [ "default.target" ];
|
|
partOf = [ "default.target" ];
|
|
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon ${mpdConf}";
|
|
Type = "notify";
|
|
ExecStartPre = ''${pkgs.bash}/bin/bash -c "${pkgs.coreutils}/bin/mkdir -p ~/Music ~/.mpd/playlists"'';
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
mpc_cli
|
|
(pkgs.ncmpcpp.override { visualizerSupport = true; taglibSupport = false; })
|
|
];
|
|
}
|