diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-01-08 22:02:58 +0100 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-01-08 22:02:58 +0100 |
| commit | 6da68a8d57dfe895dde13bc748f6e0d0cabef678 (patch) | |
| tree | 7d9b9cd94118083082dd93c0df5a139864ee759b /roles/pipewire | |
| parent | d9fb46a80f00e531dbb77d2403bde9aea13bfe75 (diff) | |
Add pipewire role
Diffstat (limited to 'roles/pipewire')
| -rw-r--r-- | roles/pipewire/meta/argument_specs.yml | 6 | ||||
| -rw-r--r-- | roles/pipewire/meta/main.yml | 18 | ||||
| -rw-r--r-- | roles/pipewire/tasks/install-archlinux.yml | 17 | ||||
| -rw-r--r-- | roles/pipewire/tasks/install-debian.yml | 18 | ||||
| -rw-r--r-- | roles/pipewire/tasks/main.yml | 18 |
5 files changed, 77 insertions, 0 deletions
diff --git a/roles/pipewire/meta/argument_specs.yml b/roles/pipewire/meta/argument_specs.yml new file mode 100644 index 00000000..d136c254 --- /dev/null +++ b/roles/pipewire/meta/argument_specs.yml @@ -0,0 +1,6 @@ +--- +argument_specs: + main: + short_description: "Install pipewire on Linux distribution" + description: "Install pipewire on Linux distribution" + options: {} diff --git a/roles/pipewire/meta/main.yml b/roles/pipewire/meta/main.yml new file mode 100644 index 00000000..26d3d93c --- /dev/null +++ b/roles/pipewire/meta/main.yml @@ -0,0 +1,18 @@ +--- +dependencies: + - role: "systemd" +galaxy_info: + author: "a14m" + description: "Install pipewire" + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" + - name: "Ubuntu" + versions: + - "noble" + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/pipewire/tasks/install-archlinux.yml b/roles/pipewire/tasks/install-archlinux.yml new file mode 100644 index 00000000..9f6adcae --- /dev/null +++ b/roles/pipewire/tasks/install-archlinux.yml @@ -0,0 +1,17 @@ +--- +- name: "Ensure pulseaudio is removed" + become: true + community.general.pacman: + name: "pulseaudio" + state: "absent" + extra_args: "--nosave --recursive" + +- name: "Ensure pipewire packages are installed" + become: true + community.general.pacman: + name: + - "pipewire" + - "wireplumber" + - "pipewire-pulse" + - "pipewire-alsa" + state: "present" diff --git a/roles/pipewire/tasks/install-debian.yml b/roles/pipewire/tasks/install-debian.yml new file mode 100644 index 00000000..e9c9b71b --- /dev/null +++ b/roles/pipewire/tasks/install-debian.yml @@ -0,0 +1,18 @@ +--- +- name: "Ensure pulseaudio is removed" + become: true + ansible.builtin.apt: + pkg: "pulseaudio" + state: "absent" + autoremove: true + purge: true + +- name: "Ensure pipewire packages are installed" + become: true + ansible.builtin.apt: + pkg: + - "pipewire" + - "wireplumber" + - "pipewire-pulse" + - "pipewire-alsa" + state: "present" diff --git a/roles/pipewire/tasks/main.yml b/roles/pipewire/tasks/main.yml new file mode 100644 index 00000000..870ec6f3 --- /dev/null +++ b/roles/pipewire/tasks/main.yml @@ -0,0 +1,18 @@ +--- +- name: "Include OS-specific tasks" + ansible.builtin.include_tasks: "install-{{ ansible_os_family | lower }}.yml" + +- name: "Ensure pipewire services are restarted" + ansible.builtin.systemd_service: + name: "{{ item }}" + enabled: "true" + state: "restarted" + scope: "user" + loop: + - "pipewire" + - "pipewire-pulse" + - "wireplumber" + tags: + # Since this is the recommended way for ensuring the services are started + # must be ignored from idempotence testing because it always reports changed + - molecule-idempotence-notest |
