system/roles/pipewire/tasks/main.yaml
Marty Oehme afac310f21
ref(roles): All roles use desired package state
By setting the `desired_package_state` variable we can change if ansible
should only ensure that the packages exist on the system (`present`) or
that they are also updated to their latest version (`latest`).
2025-03-13 11:24:14 +01:00

49 lines
1.4 KiB
YAML

- name: Ensure user group for audio/video exists
ansible.builtin.group:
name: "{{ item }}"
state: "present"
loop: "{{ audio_groups }}"
- name: Put user in audio group
ansible.builtin.user:
name: "{{ user_name }}"
groups: "{{ audio_groups }}"
append: true
- name: Install pipewire
community.general.xbps:
name:
- pipewire
state: "{{ desired_package_state | default('present') }}"
tags: packages
- name: Install pipewire bluetooth
community.general.xbps:
name:
- libspa-bluetooth
state: "{{ desired_package_state | default('present') }}"
tags:
- packages
- bluetooth
- name: Set up wireplumber to auto start
ansible.builtin.file:
dest: "/etc/pipewire/pipewire.conf.d"
state: directory
# FIXME: Does not work automatically for some reason?
- name: Set up wireplumber to auto start
ansible.builtin.file:
force: "yes"
src: "/usr/share/examples/wireplumber/10-wireplumber.conf"
dest: "/etc/pipewire/pipewire.conf.d/10-wireplumber.conf"
state: link
- name: Enable pipewire-pulse interface
ansible.builtin.file:
force: "yes"
src: "/usr/share/examples/pipewire/20-pipewire-pulse.conf"
dest: "/etc/pipewire/pipewire.conf.d/20-pipewire-pulse.conf"
state: link
# TODO: Find way to install and enable pipewire-roc-sink module (and enable ~/.config/pipewire/pipewire.conf.d/roc-sink.conf)