From 403504da5532e3fdc6bcfd7a4757b4a164c52c75 Mon Sep 17 00:00:00 2001
From: Ben Grande <ben.grande.b@gmail.com>
Date: Sun, 31 Dec 2023 07:48:29 +0100
Subject: [PATCH] fix: install missing packages to audio client

---
 salt/browser/install-common.sls   |  2 +-
 salt/media/install.sls            |  2 +-
 salt/signal/install.sls           |  2 +-
 salt/sys-audio/install-client.sls | 40 +++++++++++++++++++++++++++++++
 salt/sys-audio/install-client.top |  9 +++++++
 salt/sys-audio/install.sls        |  6 ++---
 6 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 salt/sys-audio/install-client.sls
 create mode 100644 salt/sys-audio/install-client.top

diff --git a/salt/browser/install-common.sls b/salt/browser/install-common.sls
index 67a6496..b823078 100644
--- a/salt/browser/install-common.sls
+++ b/salt/browser/install-common.sls
@@ -8,6 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
 
 include:
   - sys-usb.install-client-fido
+  - sys-audio.install-client
 
 "{{ slsdotpath }}-updated-common":
   pkg.uptodate:
@@ -25,6 +26,5 @@ include:
       - thunar
       - zenity
       - libgdk-pixbuf2.0-bin
-      - pipewire-qubes
 
 {% endif -%}
diff --git a/salt/media/install.sls b/salt/media/install.sls
index 21c4a3b..ef516a0 100644
--- a/salt/media/install.sls
+++ b/salt/media/install.sls
@@ -9,6 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
 
 include:
   - browser.install
+  - sys-audio.install-client
 
 "{{ slsdotpath }}-updated":
   pkg.uptodate:
@@ -21,7 +22,6 @@ include:
     - skip_suggestions: True
     - pkgs:
       - qubes-app-shutdown-idle
-      - pipewire-qubes
       - audacious
       - calibre
       - ffmpeg
diff --git a/salt/signal/install.sls b/salt/signal/install.sls
index 066c50e..52f5eff 100644
--- a/salt/signal/install.sls
+++ b/salt/signal/install.sls
@@ -11,6 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
 
 include:
   - dotfiles.copy-x11
+  - sys-audio.install-client
 
 "{{ slsdotpath }}-updated":
   pkg.uptodate:
@@ -26,7 +27,6 @@ include:
       - ca-certificates
       - qubes-core-agent-thunar
       - thunar
-      - pipewire-qubes
       - signal-desktop
       - zenity
       - dunst
diff --git a/salt/sys-audio/install-client.sls b/salt/sys-audio/install-client.sls
new file mode 100644
index 0000000..07e6e90
--- /dev/null
+++ b/salt/sys-audio/install-client.sls
@@ -0,0 +1,40 @@
+{#
+SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. <ben.grande.b@gmail.com>
+
+SPDX-License-Identifier: AGPL-3.0-or-later
+#}
+
+{% if grains['nodename'] != 'dom0' -%}
+
+"{{ slsdotpath }}-client-updated":
+  pkg.uptodate:
+    - refresh: True
+
+"{{ slsdotpath }}-client-installed":
+  pkg.installed:
+    - refresh: True
+    - install_recommends: False
+    - skip_suggestions: True
+    - pkgs:
+      - pipewire-qubes
+      - pipewire-pulse
+      - wireplumber
+      - rtkit
+
+{% set pkg = {
+    'Debian': {
+      'pkg': ['dbus-user-session', 'libpam-systemd'],
+    },
+    'RedHat': {
+      'pkg': ['dbus', 'systemd-pam'],
+    },
+}.get(grains.os_family) -%}
+
+"{{ slsdotpath }}-client-installed-os-specific":
+  pkg.installed:
+    - refresh: True
+    - install_recommends: False
+    - skip_suggestions: True
+    - pkgs: {{ pkg.pkg|sequence|yaml }}
+
+{% endif -%}
diff --git a/salt/sys-audio/install-client.top b/salt/sys-audio/install-client.top
new file mode 100644
index 0000000..c7ed56a
--- /dev/null
+++ b/salt/sys-audio/install-client.top
@@ -0,0 +1,9 @@
+{#
+SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. <ben.grande.b@gmail.com>
+
+SPDX-License-Identifier: AGPL-3.0-or-later
+#}
+
+base:
+  '*':
+    - sys-audio.install-client
diff --git a/salt/sys-audio/install.sls b/salt/sys-audio/install.sls
index 0f71825..3e3406b 100644
--- a/salt/sys-audio/install.sls
+++ b/salt/sys-audio/install.sls
@@ -8,6 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
 
 include:
   - sys-usb.install-client-proxy
+  - .install-client
 
 "{{ slsdotpath }}-updated":
   pkg.uptodate:
@@ -21,17 +22,16 @@ include:
     - pkgs:
       - qubes-core-admin-client
       - qubes-audio-daemon
-      - pipewire-qubes
       - alsa-utils
       - volumeicon-alsa
       - socat
 
 {% set pkg = {
     'Debian': {
-      'pkg': ['pipewire', 'libpam-systemd'],
+      'pkg': ['pipewire'],
     },
     'RedHat': {
-      'pkg': ['pipewire-utils', 'systemd-pam'],
+      'pkg': ['pipewire-utils'],
     },
 }.get(grains.os_family) -%}