diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index c4329cd77550..6398a15bfcc8 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -114,6 +114,9 @@ in { # Let nautilus find extensions export NAUTILUS_EXTENSION_DIR=${config.system.path}/lib/nautilus/extensions-3.0/ + # Find the mouse + export XCURSOR_PATH=~/.icons:${config.system.path}/share/icons + # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 080588df2472..b3da0cda04a3 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -55,6 +55,8 @@ in GDM_X_SERVER = "${cfg.xserverBin} ${cfg.xserverArgs}"; GDM_SESSIONS_DIR = "${cfg.session.desktops}"; XDG_CONFIG_DIRS = "${gnome3.gnome_settings_daemon}/etc/xdg"; + # Find the mouse + XCURSOR_PATH = "~/.icons:${config.system.path}/share/icons"; }; execCmd = "exec ${gdm}/sbin/gdm"; }; diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix index 965a8a05f16f..46e300383647 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ''; # Disable Access Control because our X does not support FamilyServerInterpreted yet - patches = [ ./xserver_path.patch ./sessions_dir.patch ./disable_x_access_control.patch ./propagate_xdgconfigdirs.patch ]; + patches = [ ./xserver_path.patch ./sessions_dir.patch ./disable_x_access_control.patch ./propagate_env.patch ]; meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Projects/GDM; diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_env.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_env.patch new file mode 100644 index 000000000000..b3e356a65c3e --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_env.patch @@ -0,0 +1,13 @@ +--- a/daemon/gdm-launch-environment.c 2014-11-24 15:43:55.532879804 +0100 ++++ a/daemon/gdm-launch-environment.c 2014-11-28 18:22:42.636313967 +0100 +@@ -220,8 +220,8 @@ + "LANG", "LANGUAGE", "LC_CTYPE", "LC_NUMERIC", "LC_TIME", + "LC_COLLATE", "LC_MONETARY", "LC_MESSAGES", "LC_PAPER", + "LC_NAME", "LC_ADDRESS", "LC_TELEPHONE", "LC_MEASUREMENT", +- "LC_IDENTIFICATION", "LC_ALL", "WINDOWPATH", +- NULL ++ "LC_IDENTIFICATION", "LC_ALL", "WINDOWPATH", "XCURSOR_PATH", ++ "XDG_CONFIG_DIRS", NULL + }; + char *system_data_dirs; + int i; diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch deleted file mode 100644 index 20d7659c1e52..000000000000 --- a/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/daemon/gdm-launch-environment.c 2014-08-03 12:05:39.380178964 +0200 -+++ b/daemon/gdm-launch-environment.c 2014-08-03 12:08:26.570182517 +0200 -@@ -224,6 +224,7 @@ - NULL - }; - char *system_data_dirs; -+ char *system_config_dirs; - int i; - - load_lang_config_file (LANG_CONFIG_FILE, -@@ -251,6 +252,15 @@ - system_data_dirs)); - g_free (system_data_dirs); - -+ system_config_dirs = g_strjoinv (":", (char **) g_get_system_config_dirs ()); -+ -+ g_hash_table_insert (hash, -+ g_strdup ("XDG_CONFIG_DIRS"), -+ g_strdup_printf ("%s", -+ system_config_dirs)); -+ g_free (system_config_dirs); -+ -+ - g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (launch_environment->priv->x11_authority_file)); - - g_hash_table_insert (hash, g_strdup ("LOGNAME"), g_strdup (launch_environment->priv->user_name));