summary refs log tree commit diff
path: root/gnu/packages/gnome.scm
diff options
context:
space:
mode:
authorDariqq <dariqq@posteo.net>2024-02-20 19:58:48 +0000
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-02-23 23:23:57 +0100
commit57308dff6694fa52a3e1e58cbe43f9317712d8ed (patch)
tree0e2bada835270a0d8e50f243297b197472dbb5db /gnu/packages/gnome.scm
parent5d09104962e7b9e18c3cc2646d5e3d6be2749a52 (diff)
downloadguix-57308dff6694fa52a3e1e58cbe43f9317712d8ed.tar.gz
gnu: gdm: Wrap inputs to enable accessibility settings.
GDM needs the data directories of at-spi2-core for the accessibility
dbus, and dconf in order to change settings.  An icon is provided in
gnome-control-center, that could be put into gdm-service-type instead, but
let's wrap it here for good measure.

* gnu/packages/gnome.scm (gdm)[inputs]: Add at-spi2-core, dconf, and gnome-control-center.
[#:phases]: Add ‘wrap-accessibility-dependencies’.

Change-Id: Ibfe8f1aee9c8fe0c06f895de121f0f84defe4773
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r--gnu/packages/gnome.scm21
1 files changed, 19 insertions, 2 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 65f41ccb54..f428bfeb78 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -77,6 +77,7 @@
 ;;; Copyright © 2023 Juliana Sims <juli@incana.org>
 ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
 ;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2024 Dariqq <dariqq@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -9042,7 +9043,18 @@ logo='~a'~%" icon))))))
                   (for-each (lambda (desktop)
                               (symlink desktop (basename desktop)))
                             (find-files
-                             (string-append settings "/etc/xdg"))))))))))
+                             (string-append settings "/etc/xdg")))))))
+          ;; GDM needs some additional programs available via XDG_DATA_DIRS,
+          ;; to make accessibility settings and related services available.
+          (add-after 'install 'wrap-accessibility-dependencies
+            (lambda _
+              (wrap-program (string-append #$output "/bin/gdm")
+                `("XDG_DATA_DIRS" ":" prefix
+                  #$(map (lambda (input)
+                           (file-append (this-package-input input) "/share"))
+                         '("at-spi2-core"
+                           "dconf"
+                           "gnome-control-center")))))))))
     (native-inputs
      (list `(,glib "bin")               ;for glib-compile-schemas, etc.
            dconf
@@ -9065,7 +9077,12 @@ logo='~a'~%" icon))))))
            iso-codes
            libcanberra
            libgudev
-           linux-pam))
+           linux-pam
+
+           ;; accessibility dependencies
+           at-spi2-core
+           dconf
+           gnome-control-center))
     (synopsis "Display manager for GNOME")
     (home-page "https://wiki.gnome.org/Projects/GDM/")
     (description