summaryrefslogtreecommitdiff
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
parent245602604455ad9f48571af1fc9ecd6493f6e290 (diff)
downloadguix-patches-fc24bcb86fb68e1e69c168d5de7d94f01148c9cd.tar
guix-patches-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.
-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)