diff options
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gdm/default.nix')
-rw-r--r-- | pkgs/desktops/gnome-3/core/gdm/default.nix | 29 |
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"; |