diff options
author | Dariqq <dariqq@posteo.net> | 2024-05-08 18:33:30 +0000 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2024-05-14 07:09:00 +0200 |
commit | 37719d3ec8db7f2380903c2ac6e4efb2e4639cc7 (patch) | |
tree | 0382645b2156f4bdd4f5fe974c502d3b8ee40434 | |
parent | 8cf823c17b4b3ef38d08ecee07f5e6b224a3d22c (diff) | |
download | guix-37719d3ec8db7f2380903c2ac6e4efb2e4639cc7.tar.gz guix-37719d3ec8db7f2380903c2ac6e4efb2e4639cc7.zip |
gnu: gnome-shell: Wrap screencast service.
Adjust screencast such that GI_TYPELIB_PATH and GST_PLUGIN_SYSTEM_PATH refer
to all required typelibs and GStreamer plugins. This alone is not enough to
make the screencast function however -- a running pipewire service (e.g.
via Guix Home) is also needed.
* gnu/packages/gnome.scm (gnome-shell):
[inputs]: Add gst-plugins-good and pipewire.
[#:phases]<'wrap-programs>: Wrap org.gnome.Shell.Screencast.
Change-Id: I2c31bf1bd92e281b86c57b06988c6a3793a58d40
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
-rw-r--r-- | gnu/packages/gnome.scm | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 67049bc253..74f33c4d22 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9412,6 +9412,7 @@ properties, screen resolution, and other GNOME parameters.") (add-after 'install 'wrap-programs (lambda* (#:key inputs #:allow-other-keys) (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) (python-path (string-join (filter (lambda (item) @@ -9431,6 +9432,19 @@ properties, screen resolution, and other GNOME parameters.") "path => imports.gi.GIRepository.Repository." "prepend_search_path(path));\n" all))) + ;; Screencast requires a pipewire service running + ;; (i.e. as provided by home-pipewire-service-type) + (substitute* (string-append #$output "/share/gnome-shell/" + "org.gnome.Shell.Screencast") + (("imports\\.package\\.start" all) + (string-append "'" gi-typelib-path "'.split(':').forEach(" + "path => imports.gi.GIRepository.Repository." + "prepend_search_path(path));\n" + "imports.gi.GLib.setenv('GST_PLUGIN_SYSTEM_PATH'," + "[imports.gi.GLib.getenv('GST_PLUGIN_SYSTEM_PATH')," + "'" gst-plugin-path "'].filter(v => v).join(':')," + "true);\n" + all))) (for-each (lambda (prog) (wrap-program (string-append #$output "/bin/" prog) @@ -9496,6 +9510,7 @@ printf '~a is deprecated. Use the \"gnome-extensions\" CLI or \ gnome-settings-daemon graphene gst-plugins-base + gst-plugins-good ibus libcanberra libcroco @@ -9506,6 +9521,7 @@ printf '~a is deprecated. Use the \"gnome-extensions\" CLI or \ mesa-headers mutter network-manager-applet + pipewire polkit pulseaudio python-pygobject |