arch-setup/tasks/mpd.yaml
2025-12-18 15:00:37 +01:00

72 lines
2.1 KiB
YAML

---
- name: Include mpd defaults
ansible.builtin.include_vars:
file: vars/mpd.yml
- name: Copy systemd configuration files
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
mode: "0644"
loop:
- src: "templates/mpd/service.j2"
dest: "{{ xdg_config_dir }}/systemd/user/mpd.service"
- src: "templates/mpd/socket.j2"
dest: "{{ xdg_config_dir }}/systemd/user/mpd.socket"
notify:
- stop mpd service
- restart mpd socket
- name: Create mpd files
ansible.builtin.file:
path: "{{ item.path }}"
state: "{{ item.state }}"
mode: "0755"
loop:
- path: "{{ mpd_configuration_dir }}"
state: "directory"
- path: "{{ ncmpc_configuration_dir }}"
state: "directory"
- path: "{{ ncmpcpp_configuration_dir }}"
state: "directory"
- path: "{{ mpd_configuration_dir }}/playlists"
state: "directory"
- path: "{{ mpd_configuration_dir }}/state"
state: "touch"
- name: Remove previous mpd files
ansible.builtin.file:
path: "{{ item.path }}"
state: "{{ item.state }}"
mode: "0755"
loop:
- path: "{{ mpd_configuration_dir }}/log"
state: "absent"
- path: "{{ mpd_configuration_dir }}/database"
state: "absent"
- path: "{{ mpd_configuration_dir }}/sticker.sql"
state: "absent"
- path: "{{ ncmpc_configuration_dir }}"
state: "absent"
- name: Copy configuration files
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
mode: "0755"
loop:
- src: "templates/mpd/mpd.conf.j2"
dest: "{{ mpd_configuration_dir }}/mpd.conf"
- src: "templates/mpd/ncmpcpp/config.j2"
dest: "{{ ncmpcpp_configuration_dir }}/config"
- src: "templates/mpd/ncmpcpp/bindings.j2"
dest: "{{ ncmpcpp_configuration_dir }}/bindings"
notify:
- stop mpd service
# TODO: install https://aur.archlinux.org/mpd-mpris-bin.git from AUR
# Use mpc to control local mpd server.
# Use $ mpc add http://{{ mpd_remote_address }}:{{ mpd_remote_stream_port }}
# to add the HTTP stream to the playlist.
# Use nmcpc to control remote mpd server.