kota's memex

https://wiki.archlinux.org/title/Music_Player_Daemon

ncmpcpp

Nice TUI client.

mpc

Cli client.

beet

Music organizer.

config

Make sure to actually create the directories referenced in your config. ~/.config/mpd/mpd.conf

music_directory	"~/music"
playlist_directory "~/.config/mpd/playlists"
db_file "~/.config/mpd/mpd.db"
pid_file "~/.config/mpd/mpd.pid"
state_file "~/.config/mpd/mpdstate"
audio_output {
	type		"pulse"
	name		"My Pulse Output"
}

user service

You can start mpd manually as a user, systemwide, or as a userservice. I start mine with xinitrc and I've used i3 in the past. Start it after pipewire if you're using it.

xinitrc

# start pipewire and pipewire-pulse
exec pipewire &
exec pipewire-pulse &

# start mpd
exec mpd &

systemd

sudo systemctl --user enable mpd

runit

I haven't bothered, but you can create a user service with runit once you've setup user services by creating a script at ~/.service/mpd/run

#!/bin/sh
exec mpd > /dev/null