about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops')
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/mint-themes/default.nix41
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/mint-y-icons/default.nix46
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/muffin/default.nix115
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix37
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/draw-on-your-screen/default.nix29
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/impatience/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/five-or-more/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix38
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix35
21 files changed, 339 insertions, 67 deletions
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
index e8fa7c7b4e39..454d65335540 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
@@ -33,7 +33,7 @@
 , wrapGAppsHook
 , tzdata
 , glibc
-, networkmanagerapplet
+, libnma
 , modemmanager
 , xorg
 , gdk-pixbuf
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
     gnome-online-accounts
     tzdata
     networkmanager
-    networkmanagerapplet
+    libnma
     modemmanager
     xorg.libXxf86misc
     xorg.libxkbfile
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix
index 9dbab8fd767e..d67a5d8386a8 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix
@@ -17,7 +17,6 @@
 , libffi
 , gtk3
 , readline
-, networkmanagerapplet
 }:
 
 let
@@ -46,7 +45,6 @@ stdenv.mkDerivation rec {
     keybinder3
     upower
     xapps
-    networkmanagerapplet
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/cinnamon/default.nix b/nixpkgs/pkgs/desktops/cinnamon/default.nix
index 44b81e85c682..fc8f465913bb 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/default.nix
@@ -8,5 +8,8 @@ lib.makeScope pkgs.newScope (self: with self; {
   cinnamon-settings-daemon = callPackage ./cinnamon-settings-daemon { };
   cjs = callPackage ./cjs { };
   nemo = callPackage ./nemo { };
+  mint-themes = callPackage ./mint-themes { };
+  mint-y-icons = callPackage ./mint-y-icons { };
+  muffin = callPackage ./muffin { };
   xapps = callPackage ./xapps { };
 })
diff --git a/nixpkgs/pkgs/desktops/cinnamon/mint-themes/default.nix b/nixpkgs/pkgs/desktops/cinnamon/mint-themes/default.nix
new file mode 100644
index 000000000000..770baf77bcda
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/mint-themes/default.nix
@@ -0,0 +1,41 @@
+{ fetchFromGitHub
+, stdenv
+, python3
+, sassc
+, sass
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mint-themes";
+  version = "1.8.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "0a8f2cmcl00y4607v5qr2zdcdjc0z74ixm2yakscvw6qzgsh9fac";
+  };
+
+  nativeBuildInputs = [
+    python3
+    sassc
+    sass
+  ];
+
+  preBuild = ''
+    patchShebangs .
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    mv usr/share $out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/mint-themes";
+    description = "Mint-X and Mint-Y themes for the cinnamon desktop";
+    license = licenses.gpl3; # from debian/copyright
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/mint-y-icons/default.nix b/nixpkgs/pkgs/desktops/cinnamon/mint-y-icons/default.nix
new file mode 100644
index 000000000000..d4415c4bf040
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/mint-y-icons/default.nix
@@ -0,0 +1,46 @@
+{ fetchFromGitHub
+, stdenv
+, gnome3
+, hicolor-icon-theme
+, gtk3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mint-y-icons";
+  version = "unstable-2020-03-21";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = "f169a617bc344cb0b480b2b72f54cdd06af05255";
+    sha256 = "1c2a79ylk363i982czwwqcwc7cw6dyzlqphcypqm6nll7xlafq8s";
+  };
+
+  propagatedUserEnvPkgs = [
+    gnome3.adwaita-icon-theme
+    hicolor-icon-theme
+  ];
+
+  nativeBuildInputs = [
+    gtk3
+  ];
+
+  postFixup =  ''
+    gtk-update-icon-cache $out/share/icons/*
+  '';
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    mkdir -p $out
+    mv usr/share $out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/mint-y-icons";
+    description = "The Mint-Y icon theme";
+    license = licenses.gpl3; # from debian/copyright
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/muffin/default.nix b/nixpkgs/pkgs/desktops/cinnamon/muffin/default.nix
new file mode 100644
index 000000000000..2913d4761ff8
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/muffin/default.nix
@@ -0,0 +1,115 @@
+{ fetchFromGitHub
+, cinnamon-desktop
+, glib
+, file
+, gnome3
+, gnome-doc-utils
+, fetchpatch
+, gobject-introspection
+, gtk3
+, intltool
+, json-glib
+, libinput
+, libstartup_notification
+, libXtst
+, libxkbcommon
+, pkgconfig
+, stdenv
+, udev
+, xorg
+, wrapGAppsHook
+, pango
+, cairo
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, docbook_xml_dtd_42
+, docbook_xml_dtd_412
+, autoconf
+, automake
+, gettext
+, libtool
+}:
+
+# it's a frankensteins monster with some cinnamon sparkles added on top of it
+
+stdenv.mkDerivation rec {
+  pname = "muffin";
+  version = "4.4.2";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "1kzjw4a5p69j8x55vpbpn6gy8pkbbyii6kzw2nzbypmipgnnijw8";
+  };
+
+  patches = [
+    # backport patch that disables wayland components via build flags
+    # https://github.com/linuxmint/muffin/pull/548#issuecomment-578316820
+    (fetchpatch {
+      url = "https://github.com/linuxmint/muffin/commit/f78bf5b309b3d306848f47cc241b31e9399999a7.patch";
+      sha256 = "1c79aa9w2v23xlz86x3l42pavwrqx5d6nmfd9nms29hjsk8mpf4i";
+    })
+    # mute some warnings that caused build failures
+    # https://github.com/linuxmint/muffin/issues/535#issuecomment-536917143
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/muffin/raw/6b0af3a22173e374804371a1cca74e23d696dd37/f/0001-fix-warnings-when-compiling.patch";
+      sha256 = "15wdbn3afn3103v7rq1icp8n0vqqwrrya03h0g2rzqlrsc7wrvzw";
+    })
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    pango
+    cairo
+    json-glib
+    cinnamon-desktop
+    xorg.libXcomposite
+    xorg.libXcursor
+    xorg.libXdamage
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXi
+    xorg.libxkbfile
+    xorg.xkeyboardconfig
+
+    libxkbcommon
+    gnome3.zenity
+    libinput
+    libstartup_notification
+    libXtst
+    udev
+    gobject-introspection
+  ];
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    gettext
+    libtool
+    wrapGAppsHook
+    pkgconfig
+    intltool
+
+    gnome-doc-utils
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_43
+    docbook_xml_dtd_42
+    docbook_xml_dtd_412
+  ];
+
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/muffin";
+    description = "The window management library for the Cinnamon desktop (libmuffin) and its sample WM binary (muffin)";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index ea38ed883209..4e66a16bf7c5 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -48,6 +48,7 @@
 , mutter
 , networkmanager
 , networkmanagerapplet
+, libnma
 , ninja
 , pkgconfig
 , polkit
@@ -126,7 +127,7 @@ stdenv.mkDerivation rec {
     modemmanager
     mutter # schemas for the keybindings
     networkmanager
-    networkmanagerapplet
+    libnma
     polkit
     samba
     tracker
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
index 4423755f71ce..47d06ddac310 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
@@ -28,7 +28,7 @@
 , polkit
 , webkitgtk
 , systemd
-, networkmanagerapplet
+, libnma
 , tzdata
 , yelp
 , libgnomekbd
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     pango
     polkit
     webkitgtk
-    networkmanagerapplet
+    libnma
   ];
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index 71d47a338a78..26e96b5a3385 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -3,7 +3,7 @@
 , libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info
 , libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42, desktop-file-utils
 , libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt, gcr
-, accountsservice, gdk-pixbuf, gdm, upower, ibus, networkmanagerapplet, libgnomekbd, gnome-desktop
+, accountsservice, gdk-pixbuf, gdm, upower, ibus, libnma, libgnomekbd, gnome-desktop
 , gsettings-desktop-schemas, gnome-keyring, glib, gjs, mutter, evolution-data-server, gtk3
 , sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon
 , gnome-autoar, asciidoc-full }:
@@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
     gnome-autoar
 
     # not declared at build time, but typelib is needed at runtime
-    libgweather networkmanagerapplet
+    libgweather libnma
   ];
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix
index ce5e073ac064..b6e8b4c11c03 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix
@@ -1,16 +1,15 @@
 { stdenv
 , intltool
 , fetchFromGitLab
-, fetchpatch
+, meson
+, ninja
 , pkgconfig
+, python3
 , gtk3
 , adwaita-icon-theme
 , glib
 , desktop-file-utils
 , gtk-doc
-, autoconf
-, automake
-, libtool
 , wrapGAppsHook
 , gnome3
 , itstool
@@ -45,7 +44,7 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "gucharmap";
-  version = "12.0.1";
+  version = "13.0.0";
 
   outputs = [ "out" "lib" "dev" "devdoc" ];
 
@@ -54,26 +53,18 @@ in stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = pname;
     rev = version;
-    sha256 = "0si3ymyfzc5v7ly0dmcs3qgw2wp8cyasycq5hmcr8frl09lr6gkw";
+    sha256 = "17arjigs1lw1h428s9g171n0idrpf9ks23sndldsik1zvvwzlldh";
   };
 
-  patches = [
-    # fix build with Unicode 12.1
-    (fetchpatch {
-      url = "https://salsa.debian.org/gnome-team/gucharmap/raw/de079ad494a15f662416257fca2f2b8db757f4ea/debian/patches/update-to-unicode-12.1.patch";
-      sha256 = "093gqsxfpp3s0b88p1dgkskr4ng3hv8irmxc60l3fdrkl8am00xh";
-    })
-  ];
-
   nativeBuildInputs = [
+    meson
+    ninja
     pkgconfig
+    python3
     wrapGAppsHook
     unzip
     intltool
     itstool
-    autoconf
-    automake
-    libtool
     gtk-doc
     docbook_xsl
     docbook_xml_dtd_412
@@ -90,19 +81,15 @@ in stdenv.mkDerivation rec {
     adwaita-icon-theme
   ];
 
-  configureFlags = [
-    "--with-unicode-data=${ucd}/share/unicode"
-    "--enable-gtk-doc"
+  mesonFlags = [
+    "-Ducd_path=${ucd}/share/unicode"
+    "-Dvapi=false"
   ];
 
   doCheck = true;
 
   postPatch = ''
-    patchShebangs gucharmap/gen-guch-unicode-tables.pl
-  '';
-
-  preConfigure = ''
-    NOCONFIGURE=1 ./autogen.sh
+    patchShebangs data/meson_desktopfile.py gucharmap/gen-guch-unicode-tables.pl gucharmap/meson_compileschemas.py
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/default.nix b/nixpkgs/pkgs/desktops/gnome-3/default.nix
index c7c26cec7c3c..f2d3182c337d 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/default.nix
@@ -18,7 +18,7 @@ lib.makeScope pkgs.newScope (self: with self; {
     in
       lib.filter (x: !(builtins.elem (lib.getName x) namesToRemove)) packages;
 
-  maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar hedning worldofpeace ];
+  maintainers = lib.teams.gnome.members;
 
   libsoup = pkgs.libsoup.override { gnomeSupport = true; };
   libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/draw-on-your-screen/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/draw-on-your-screen/default.nix
new file mode 100644
index 000000000000..5e6f7b89e1d9
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/draw-on-your-screen/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, gettext, gnome3 }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-draw-on-your-screen";
+  version = "6";
+
+  src = fetchgit {
+    url = "https://framagit.org/abakkk/DrawOnYourScreen/";
+    rev = "v${version}";
+    sha256 = "05i20ii8lv6mg56rz8lng80dx35l6g45j8wr7jgbp591hg0spj1w";
+  };
+
+  uuid = "drawOnYourScreen@abakkk.framagit.org";
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/gnome-shell/extensions/${uuid}
+    cp -r . $out/share/gnome-shell/extensions/${uuid}
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A drawing extension for GNOME Shell";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ericdallo ];
+    platforms = gnome3.gnome-shell.meta.platforms;
+    homepage = "https://framagit.org/abakkk/DrawOnYourScreen";
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/impatience/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/impatience/default.nix
index b36f3489b57c..c3ca1b621211 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/impatience/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/impatience/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Speed up builtin gnome-shell animations";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ aneeshusa timbertson tiramiseb ];
+    maintainers = with maintainers; [ timbertson tiramiseb ];
     homepage = http://gfxmonk.net/dist/0install/gnome-shell-impatience.xml;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
index 13b2d6a1db4f..d14dbd1c4118 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Display system informations in gnome shell status bar";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ aneeshusa tiramiseb ];
+    maintainers = with maintainers; [ tiramiseb ];
     homepage = https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/five-or-more/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/five-or-more/default.nix
index b4c6eaaec1bf..4d0512f1adbc 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/five-or-more/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/five-or-more/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "five-or-more";
-  version = "3.32.0";
+  version = "3.32.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/five-or-more/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0v52i22ygv6y4zqs8nyb1qmacmj9whhqrw7qss6vn7by4nsikhrn";
+    sha256 = "0xw05dd2dwi9vsph9h158b4n89s5k07xrh6bjz1icm0pdmjwhpgk";
   };
 
   nativeBuildInputs = [
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Five_or_more;
+    homepage = "https://wiki.gnome.org/Apps/Five_or_more";
     description = "Remove colored balls from the board by forming lines";
     maintainers = gnome3.maintainers;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
index 37ff34e081ab..30f1c48fa5f6 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, gettext, glib, itstool, libxml2, mate, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome3, gtk3, libtool, polkit, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, gettext, glib, itstool, libxml2, mate-panel, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome3, gtk3, libtool, polkit, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-power-manager";
-  version = "1.24.0";
+  version = "1.24.1";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1h6wm8vna97iayhwqh7rfsc87715np12nxa72w27p4zl54bdkdlg";
+    sha256 = "13ar40x5hs4d4h81q8qsy0agbx5wnarry3mbhws54zydcxd7j20a";
   };
 
   nativeBuildInputs = [
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
      dbus-glib
      upower
      polkit
-     mate.mate-panel
+     mate-panel
   ];
 
   configureFlags = [ "--enable-applets" ];
diff --git a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
index 1db0947bf2a4..09973e04bc0a 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, gettext, xtrans, dbus-glib, systemd,
   libSM, libXtst, gtk3, epoxy, polkit, hicolor-icon-theme, mate,
-  wrapGAppsHook
+  wrapGAppsHook, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
     sha256 = "01scj5d1xlri9b2id8gm9kfni9nzhdjdf7rag7fvcxwqp7baz3h3";
   };
 
+  patches = [
+    # allow turning on debugging from environment variable
+    (fetchpatch {
+      url = "https://github.com/mate-desktop/mate-session-manager/commit/3ab6fbfc811d00100d7a2959f8bbb157b536690d.patch";
+      sha256 = "0yjaklq0mp44clymyhy240kxlw95z3azmravh4f5pfm9dys33sg0";
+    })
+  ];
+
   nativeBuildInputs = [
     pkgconfig
     gettext
@@ -33,6 +41,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  postFixup = ''
+    substituteInPlace $out/share/xsessions/mate.desktop \
+      --replace "Exec=mate-session" "Exec=$out/bin/mate-session" \
+      --replace "TryExec=mate-session" "TryExec=$out/bin/mate-session"
+  '';
+
+  passthru.providedSessions = [ "mate" ];
+
   meta = with stdenv.lib; {
     description = "MATE Desktop session manager";
     homepage = "https://github.com/mate-desktop/mate-session-manager";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index 6e050c92d805..1ff1068119b7 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -11,6 +11,7 @@
 , gtk3
 , networkmanager
 , networkmanagerapplet
+, libnma
 , switchboard
 }:
 
@@ -43,7 +44,7 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     networkmanager
-    networkmanagerapplet
+    libnma
     switchboard
   ];
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
index cc6b37095fdb..67f4105ff3d1 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
@@ -1,7 +1,8 @@
 { wrapGAppsHook
 , glib
 , lib
-, symlinkJoin
+, stdenv
+, xorg
 , switchboard
 , switchboardPlugs
 , plugs
@@ -14,26 +15,45 @@ let
     if plugs == null then switchboardPlugs
     else plugs ++ (lib.optionals useDefaultPlugs switchboardPlugs);
 in
-symlinkJoin {
+stdenv.mkDerivation rec {
   name = "${switchboard.name}-with-plugs";
 
+  src = null;
+
   paths = [
     switchboard
   ] ++ selectedPlugs;
 
-  buildInputs = [
-    wrapGAppsHook
+  passAsFile = [ "paths" ];
+
+  nativeBuildInputs = [
     glib
-  ] ++ (lib.forEach selectedPlugs (x: x.buildInputs))
+    wrapGAppsHook
+  ];
+
+  buildInputs = lib.forEach selectedPlugs (x: x.buildInputs)
     ++ selectedPlugs;
 
-  postBuild = ''
-    make_glib_find_gsettings_schemas
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
 
-    gappsWrapperArgs+=(--set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard")
+  preferLocalBuild = true;
+  allowSubstitutes = false;
 
-    wrapGAppsHook
+  installPhase = ''
+    mkdir -p $out
+    for i in $(cat $pathsPath); do
+      ${xorg.lndir}/bin/lndir -silent $i $out
+    done
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard"
+    )
   '';
 
   inherit (switchboard) meta;
 }
+
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
index fd22de25d63c..cd04e6287b72 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
@@ -8,7 +8,7 @@
 , gtk3
 , granite
 , networkmanager
-, networkmanagerapplet
+, libnma
 , wingpanel
 , libgee
 }:
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     networkmanager
-    networkmanagerapplet
+    libnma
     wingpanel
   ];
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
index 596ee816f891..ca887d45dc39 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
@@ -1,7 +1,8 @@
 { lib
 , wrapGAppsHook
 , glib
-, symlinkJoin
+, stdenv
+, xorg
 , wingpanel
 , wingpanelIndicators
 , switchboard-with-plugs
@@ -15,30 +16,44 @@ let
     if indicators == null then wingpanelIndicators
     else indicators ++ (lib.optionals useDefaultIndicators wingpanelIndicators);
 in
-symlinkJoin {
+stdenv.mkDerivation rec {
   name = "${wingpanel.name}-with-indicators";
 
+  src = null;
+
   paths = [
     wingpanel
   ] ++ selectedIndicators;
 
-  buildInputs = [
+  passAsFile = [ "paths" ];
+
+  nativeBuildInputs = [
     glib
     wrapGAppsHook
-  ] ++ (lib.forEach selectedIndicators (x: x.buildInputs))
+  ];
+
+  buildInputs = lib.forEach selectedIndicators (x: x.buildInputs)
     ++ selectedIndicators;
 
-  # We have to set SWITCHBOARD_PLUGS_PATH because wingpanel-applications-menu
-  # has a plugin to search switchboard settings
-  postBuild = ''
-    make_glib_find_gsettings_schemas
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  preferLocalBuild = true;
+  allowSubstitutes = false;
 
+  installPhase = ''
+    mkdir -p $out
+    for i in $(cat $pathsPath); do
+      ${xorg.lndir}/bin/lndir -silent $i $out
+    done
+  '';
+
+  preFixup = ''
     gappsWrapperArgs+=(
       --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel"
       --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard"
     )
-
-    wrapGAppsHook
   '';
 
   inherit (wingpanel) meta;