summary refs log tree commit diff
path: root/gnu/packages/gnome.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-09-28 11:19:46 +0000
committerMathieu Othacehe <othacehe@gnu.org>2021-10-02 10:54:42 +0000
commitfc24bcb86fb68e1e69c168d5de7d94f01148c9cd (patch)
tree3e630187592217ad22d4d38598d1373bd0d53335 /gnu/packages/gnome.scm
parent245602604455ad9f48571af1fc9ecd6493f6e290 (diff)
downloadguix-fc24bcb86fb68e1e69c168d5de7d94f01148c9cd.tar.gz
gnu: gdm: Add the Guix icon.
* gnu/packages/gnome.scm (gdm)[arguments]: Add a new 'install-logo phase.
[native-inputs]: Add guix-icons.
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r--gnu/packages/gnome.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 168949a58a..cf3a4e79fa 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -8262,6 +8262,22 @@ library.")
                                "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
                (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
                 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))))
+         (add-before 'install 'install-logo
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (guix-icons (assoc-ref inputs "guix-icons"))
+                    (icon
+                     (string-append guix-icons "/share/icons/hicolor/\
+scalable/apps/guix-white-icon.svg"))
+                    (schema
+                     (string-append out "/share/glib-2.0/schemas/\
+org.gnome.login-screen.gschema.override")))
+               (mkdir-p (dirname schema))
+               (with-output-to-file schema
+                 (lambda ()
+                   (format #t "\
+[org.gnome.login-screen]
+logo='~a'~%" icon))))))
          ;; GDM requires that there be at least one desktop entry
          ;; file.  This phase installs a hidden one that simply
          ;; fails.  This enables users to use GDM with a
@@ -8306,6 +8322,7 @@ library.")
      `(("dconf" ,dconf)
        ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
        ("gobject-introspection" ,gobject-introspection)
+       ("guix-icons" ,guix-icons)
        ("intltool" ,intltool)
        ("itstool" ,itstool)
        ("pkg-config" ,pkg-config)