mate-control-center: add gsettings schemas path to XDG vars

mate-control-center depends on mate-settings-daemon, but the later needs
gsettings schemas provided by the former. To fix this the gsettings schema
path from mate-control-center is added to XDG_DATA_DIRS at session
startup.

authored by José Romildo Malaquias and committed by Tuomas Tynkkynen ca27392d 002fcfca

+14
+14
nixos/modules/services/x11/desktop-managers/mate.nix
··· 12 in 13 filter (x: !(builtins.elem (pkgName x) ysNames)) xs; 14 15 xcfg = config.services.xserver; 16 cfg = xcfg.desktopManager.mate; 17 ··· 55 56 # Find the mouse 57 export XCURSOR_PATH=~/.icons:${config.system.path}/share/icons 58 59 # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ 60 ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
··· 12 in 13 filter (x: !(builtins.elem (pkgName x) ysNames)) xs; 14 15 + addToXDGDirs = p: '' 16 + if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then 17 + export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name} 18 + fi 19 + 20 + if [ -d "${p}/lib/girepository-1.0" ]; then 21 + export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0 22 + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib 23 + fi 24 + ''; 25 + 26 xcfg = config.services.xserver; 27 cfg = xcfg.desktopManager.mate; 28 ··· 66 67 # Find the mouse 68 export XCURSOR_PATH=~/.icons:${config.system.path}/share/icons 69 + 70 + # Add mate-control-center paths to some XDG variables because its schemas are needed by mate-settings-daemon, and mate-settings-daemon is a dependency for mate-control-center (that is, they are mutually recursive) 71 + ${addToXDGDirs pkgs.mate.mate-control-center} 72 73 # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ 74 ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update