# Note that pulsaudio should be removed by installing pipewire-pulse manually - name: remove previous configurations file: path: '{{ item }}' state: absent loop: - '{{ xdg_config_dir }}/systemd/user/pipewire-pulse.service.d/' - '{{ xdg_script_dir }}/pulse-script' - name: create pipewire configuration dir file: state: directory path: '{{ xdg_config_dir }}/pipewire' - name: copy pipewire-pulse configuration template: src: 'templates/{{ platform }}/pipewire-pulse.j2' dest: '{{ xdg_config_dir }}/pipewire/pipewire-pulse.conf' notify: restart pipewire-pulse - name: gather the package facts package_facts: manager: pacman - name: replace pipewire-media-session become: true pacman: name: wireplumber state: present extra_args: --noconfirm --ask=4 when: "'pipewire-media-session' in ansible_facts.packages or not 'wireplumber' in ansible_facts.packages" notify: restart pipewire-pulse - name: start pipewire socket systemd: name: pipewire.socket state: started enabled: true scope: user