summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/gdm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gdm/default.nix')
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix29
1 files changed, 25 insertions, 4 deletions
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index a4d2fd2be5a..9d1602dfccd 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,15 +1,29 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg
 , accountsservice, libX11, gnome3, systemd, autoreconfHook
 , gtk3, libcanberra-gtk3, pam, libtool, gobject-introspection, plymouth
-, librsvg, coreutils, xwayland }:
+, librsvg, coreutils, xwayland, nixos-icons, fetchpatch }:
+
+let
+
+  icon = fetchurl {
+    url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/4f041870efa1a6f0799ef4b32bb7be2cafee7a74/logo/nixos.svg";
+    sha256 = "0b0dj408c1wxmzy6k0pjwc4bzwq286f1334s3cqqwdwjshxskshk";
+  };
+
+  override = substituteAll {
+    src = ./org.gnome.login-screen.gschema.override;
+    inherit icon;
+  };
+
+in
 
 stdenv.mkDerivation rec {
   pname = "gdm";
-  version = "3.32.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdm/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4";
+    sha256 = "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8";
   };
 
   # Only needed to make it build
@@ -17,12 +31,14 @@ stdenv.mkDerivation rec {
     substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X"
   '';
 
+  initialVT = "7";
+
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
     "--with-plymouth=yes"
     "--enable-gdm-xsession"
-    "--with-initial-vt=7"
+    "--with-initial-vt=${initialVT}"
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     "--with-udevdir=$(out)/lib/udev"
   ];
@@ -65,6 +81,11 @@ stdenv.mkDerivation rec {
     "dbusconfdir=$(out)/etc/dbus-1/system.d"
   ];
 
+  preInstall = ''
+    schema_dir=${glib.makeSchemaPath "$out" "${pname}-${version}"}
+    install -D ${override} $schema_dir/org.gnome.login-screen.gschema.override
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "gdm";