Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/profiles
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2022-01-02 16:36:50 +0100
committerAnton Hvornum <anton@hvornum.se>2022-01-02 16:38:02 +0100
commit240f688ccefa7bddb56efe5bc41a457c96792e42 (patch)
tree0f38ae348f008b08d002a5789fa48a97ed554478 /profiles
parent93aa4aa6cc88462cf2cf4797644086e6879724bf (diff)
Adding a Pipewire application profile (#821)
* Adding a Pipewire application profile This to better manage the pipewire setup process and minimize guided a bit. This also adds the concept of @archinstall.plugin decorators to add a plugin in run-time. Which pipewire uses to detect user creation and enable the pipewire-pulse service for new users. * Forgot to run .install() on pipewire Application() * Backwards compatible variable insertion for installation session
Diffstat (limited to 'profiles')
-rw-r--r--profiles/applications/pipewire.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/profiles/applications/pipewire.py b/profiles/applications/pipewire.py
new file mode 100644
index 00000000..38554000
--- /dev/null
+++ b/profiles/applications/pipewire.py
@@ -0,0 +1,14 @@
+import archinstall
+import logging
+
+# Define the package list in order for lib to source
+# which packages will be installed by this profile
+__packages__ = ["pipewire", "pipewire-alsa", "pipewire-jack", "pipewire-media-session", "pipewire-pulse", "gst-plugin-pipewire", "libpulse"]
+
+archinstall.log('Installing pipewire', level=logging.INFO)
+archinstall.storage['installation_session'].add_additional_packages(__packages__)
+
+@archinstall.plugin
+def on_user_created(installation :archinstall.Installer, user :str):
+ archinstall.log(f"Enabling pipewire-pulse for {user}", level=logging.INFO)
+ installation.chroot('systemctl enable --user pipewire-pulse.service', run_as=user) \ No newline at end of file