about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-desktop/default.nix1
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-menus/default.nix41
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch48
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix111
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-translations/default.nix32
-rw-r--r--pkgs/desktops/cinnamon/cjs/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/nemo/default.nix76
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-notes/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/gsconnect/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/games/four-in-a-row/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-taquin/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/iagno/default.nix4
-rw-r--r--pkgs/desktops/lxqt/screengrab/default.nix6
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix4
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session/default.nix22
19 files changed, 363 insertions, 34 deletions
diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
index 094140cbf4ee..a622e6abfd12 100644
--- a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
@@ -70,6 +70,7 @@ stdenv.mkDerivation rec {
       gtk-doc.
     '';
 
+    license = [ licenses.gpl2 licenses.lgpl2 ];
     platforms = platforms.linux;
     maintainers = [ maintainers.mkg20001 ];
   };
diff --git a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
new file mode 100644
index 000000000000..47242cdf38a5
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
@@ -0,0 +1,41 @@
+{ fetchFromGitHub
+, glib
+, gobject-introspection
+, meson
+, ninja
+, pkgconfig
+, stdenv
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cinnamon-menus";
+  version = "4.4.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "0q4qj28swi2y93fj7pfil68l2cf9gmhbk6jmr8d70l54xf7sigsh";
+  };
+
+  buildInputs = [
+    glib
+    gobject-introspection
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    wrapGAppsHook
+    pkgconfig
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/cinnamon-menus";
+    description = "A menu system for the Cinnamon project";
+    license = [ licenses.gpl2 licenses.lgpl2 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch
new file mode 100644
index 000000000000..967ba98eb48f
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch
@@ -0,0 +1,48 @@
+From 6d71bf9764fb81d437678a603826167850bbf453 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
+Date: Tue, 21 Jan 2020 03:19:28 +0100
+Subject: [PATCH] fix: use an impure path to csd-backlight-helper to fix
+ policy-reload bug
+
+---
+ plugins/power/csd-power-manager.c                             | 4 ++--
+ .../org.cinnamon.settings-daemon.plugins.power.policy.in.in   | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/plugins/power/csd-power-manager.c b/plugins/power/csd-power-manager.c
+index b24c456..212c47e 100755
+--- a/plugins/power/csd-power-manager.c
++++ b/plugins/power/csd-power-manager.c
+@@ -2519,7 +2519,7 @@ backlight_helper_get_value (const gchar *argument, CsdPowerManager* manager,
+ #endif
+
+         /* get the data */
+-        command = g_strdup_printf (LIBEXECDIR "/csd-backlight-helper --%s %s",
++        command = g_strdup_printf ("/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper --%s %s",
+                                    argument,
+                                    manager->priv->backlight_helper_preference_args);
+         ret = g_spawn_command_line_sync (command,
+@@ -2609,7 +2609,7 @@ backlight_helper_set_value (const gchar *argument,
+ #endif
+
+         /* get the data */
+-        command = g_strdup_printf ("pkexec " LIBEXECDIR "/csd-backlight-helper --%s %i %s",
++        command = g_strdup_printf ("pkexec " "/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper --%s %i %s",
+                                    argument, value,
+                                    manager->priv->backlight_helper_preference_args);
+         ret = g_spawn_command_line_sync (command,
+diff --git a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in
+index 2c44e62..c0a2348 100755
+--- a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in
++++ b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in
+@@ -25,7 +25,7 @@
+       <allow_inactive>no</allow_inactive>
+       <allow_active>yes</allow_active>
+     </defaults>
+-    <annotate key="org.freedesktop.policykit.exec.path">@libexecdir@/csd-backlight-helper</annotate>
++    <annotate key="org.freedesktop.policykit.exec.path">/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper</annotate>
+   </action>
+
+ </policyconfig>
+--
+2.24.1
diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
new file mode 100644
index 000000000000..1dc58e3c3b5b
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
@@ -0,0 +1,111 @@
+{ fetchFromGitHub
+, autoconf-archive
+, autoreconfHook
+, cinnamon-desktop
+, colord
+, glib
+, gsettings-desktop-schemas
+, gtk3
+, intltool
+, lcms2
+, libcanberra-gtk3
+, libgnomekbd
+, libnotify
+, libxklavier
+, wrapGAppsHook
+, pkgconfig
+, pulseaudio
+, stdenv
+, systemd
+, upower
+, dconf
+, cups
+, polkit
+, librsvg
+, libwacom
+, xf86_input_wacom
+, xorg
+, fontconfig
+, tzdata
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cinnamon-settings-daemon";
+  version = "4.4.0";
+
+  /* csd-power-manager.c:50:10: fatal error: csd-power-proxy.h: No such file or directory
+   #include "csd-power-proxy.h"
+            ^~~~~~~~~~~~~~~~~~~
+  compilation terminated. */
+
+  # but this occurs only sometimes, so disabling parallel building
+  # also see https://github.com/linuxmint/cinnamon-settings-daemon/issues/248
+  enableParallelBuilding = false;
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "1h74d68a7hx85vv6ak26b85jq0wr56ps9rzfvqsnxwk81zxw2n7q";
+  };
+
+  patches = [
+    ./csd-backlight-helper-fix.patch
+  ];
+
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; # TODO: https://github.com/NixOS/nixpkgs/issues/36468
+
+  buildInputs = [
+    cinnamon-desktop
+    colord
+    gtk3
+    glib
+    gsettings-desktop-schemas
+    lcms2
+    libcanberra-gtk3
+    libgnomekbd
+    libnotify
+    libxklavier
+    pulseaudio
+    systemd
+    upower
+    dconf
+    cups
+    polkit
+    librsvg
+    libwacom
+    xf86_input_wacom
+    xorg.libXext
+    xorg.libX11
+    xorg.libXi
+    xorg.libXtst
+    xorg.libXfixes
+    fontconfig
+  ];
+
+  nativeBuildInputs = [
+    autoconf-archive
+    autoreconfHook
+    wrapGAppsHook
+    intltool
+    pkgconfig
+  ];
+
+  postPatch = ''
+    sed "s|/usr/share/zoneinfo|${tzdata}/share/zoneinfo|g" -i plugins/datetime/system-timezone.h
+  '';
+
+  # So the polkit policy can reference /run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper
+  postFixup = ''
+    mkdir -p $out/bin/cinnamon-settings-daemon
+    ln -s $out/libexec/csd-backlight-helper $out/bin/cinnamon-settings-daemon/csd-backlight-helper
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/cinnamon-settings-daemon";
+    description = "The settings daemon for the Cinnamon desktop";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
new file mode 100644
index 000000000000..b03678c5d7ac
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, fetchFromGitHub
+, gettext
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cinnamon-translations";
+  version = "4.4.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "0hh6shfj7vc1mw814l38cakfmh135ba8j604h1rmx4zwspwgvgzh";
+  };
+
+  nativeBuildInputs = [
+    gettext
+  ];
+
+  installPhase = ''
+    mv usr $out # files get installed like so: msgfmt -o usr/share/locale/$lang/LC_MESSAGES/$dir.mo $file
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/cinnamon-translations";
+    description = "Translations files for the Cinnamon desktop";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix
index 7d9ba7cc438e..9dbab8fd767e 100644
--- a/pkgs/desktops/cinnamon/cjs/default.nix
+++ b/pkgs/desktops/cinnamon/cjs/default.nix
@@ -17,6 +17,7 @@
 , libffi
 , gtk3
 , readline
+, networkmanagerapplet
 }:
 
 let
@@ -45,6 +46,7 @@ stdenv.mkDerivation rec {
     keybinder3
     upower
     xapps
+    networkmanagerapplet
   ];
 
   nativeBuildInputs = [
@@ -76,6 +78,12 @@ stdenv.mkDerivation rec {
       This module contains JavaScript bindings based on gobject-introspection.
     '';
 
+    license = with licenses; [
+     gpl2Plus
+     lgpl2Plus
+     mit
+     mpl11
+   ];
     platforms = platforms.linux;
     maintainers = [ maintainers.mkg20001 ];
   };
diff --git a/pkgs/desktops/cinnamon/default.nix b/pkgs/desktops/cinnamon/default.nix
index 4ffbf8f6bb31..b077ad184769 100644
--- a/pkgs/desktops/cinnamon/default.nix
+++ b/pkgs/desktops/cinnamon/default.nix
@@ -2,6 +2,10 @@
 
 lib.makeScope pkgs.newScope (self: with self; {
   cinnamon-desktop = callPackage ./cinnamon-desktop { };
+  cinnamon-menus = callPackage ./cinnamon-menus { };
+  cinnamon-translations = callPackage ./cinnamon-translations { };
+  cinnamon-settings-daemon = callPackage ./cinnamon-settings-daemon { };
   cjs = callPackage ./cjs { };
+  nemo = callPackage ./nemo { };
   xapps = callPackage ./xapps { };
 })
diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix
new file mode 100644
index 000000000000..419aaf249f70
--- /dev/null
+++ b/pkgs/desktops/cinnamon/nemo/default.nix
@@ -0,0 +1,76 @@
+{ fetchFromGitHub
+, fetchpatch
+, glib
+, gobject-introspection
+, meson
+, ninja
+, pkgconfig
+, stdenv
+, wrapGAppsHook
+, libxml2
+, gtk3
+, libnotify
+, cinnamon-desktop
+, xapps
+, libexif
+, exempi
+, intltool
+, shared-mime-info
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nemo";
+  version = "4.4.1";
+
+  # TODO: add plugins support (see https://github.com/NixOS/nixpkgs/issues/78327)
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "0sskq0rssxvna937md446x1489hkhxys1zq03hvl8asjqa259w2q";
+  };
+
+  patches = [
+    (fetchpatch { # details see https://github.com/linuxmint/nemo/pull/2303
+      url = "https://github.com/linuxmint/nemo/pull/2303/commits/9c1ec7812abe712419317df07d6b64623e8f639d.patch";
+      sha256 = "09dz7lq3i47rbvycawrxwgjmd9g1mhb76ibx2vq85wck6r08arml";
+    })
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libnotify
+    cinnamon-desktop
+    libxml2
+    xapps
+    libexif
+    exempi
+    gobject-introspection
+  ];
+
+  nativeBuildInputs = [
+    meson
+    pkgconfig
+    ninja
+    wrapGAppsHook
+    intltool
+    shared-mime-info
+  ];
+
+  mesonFlags = [
+    # TODO: https://github.com/NixOS/nixpkgs/issues/36468
+    "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/nemo";
+    description = "File browser for Cinnamon";
+    license = [ licenses.gpl2 licenses.lgpl2 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index d59746adc3d9..1fecf80e9ae9 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -51,11 +51,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-boxes";
-  version = "3.34.2";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1rqdjf61cbi3zcpzr6cfkj3lcfrdlhs20bl65lxw2xrwk4jn0ph5";
+    sha256 = "1izhqgsb658lzrzj12dw06w47bjhqdpfl0j74aq7bzql7nqsb3wa";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
index 434a72341f66..7137ec7180e3 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
@@ -5,14 +5,14 @@
 , gnome3, libxml2, gsettings-desktop-schemas, tracker }:
 
 let
-  version = "3.34.1";
+  version = "3.34.2";
 in stdenv.mkDerivation {
   pname = "gnome-notes";
   inherit version;
 
   src = fetchurl {
     url = "mirror://gnome/sources/bijiben/${stdenv.lib.versions.majorMinor version}/bijiben-${version}.tar.xz";
-    sha256 = "0yf2scjnn2qi40g4iqg11qc4bnspd3qcnvg5b11ign5fa3qcihzv";
+    sha256 = "0kmhivgamnv2kk5kywrwm4af4s7663rjwh2wdri8iy1n2gmc9qpv";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
index 5858883accdc..08011ab5c722 100644
--- a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchFromGitHub, substituteAll, python3, openssl, folks, gsound
+{ stdenv, fetchFromGitHub, substituteAll, python3, openssl, gsound
 , meson, ninja, libxml2, pkgconfig, gobject-introspection, wrapGAppsHook
 , glib, gtk3, at-spi2-core, upower, openssh, gnome3, gjs }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-gsconnect";
-  version = "30";
+  version = "31";
 
   src = fetchFromGitHub {
     owner = "andyholmes";
     repo = "gnome-shell-extension-gsconnect";
     rev = "v${version}";
-    sha256 = "17j96y72mj7vg2csn5c9rji7jy04x5qzl8knf5gky6wppxj9zjb4";
+    sha256 = "0nricm31jh4akncs0rkkilmq9afg7kgbj5cy7w26pfqb3l4nhifg";
   };
 
   patches = [
@@ -29,11 +29,9 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    (python3.withPackages (pkgs: [ python3.pkgs.pygobject3 ])) # for folks.py
     glib # libgobject
     gtk3
     at-spi2-core # atspi
-    folks # libfolks
     gnome3.nautilus # TODO: this contaminates the package with nautilus and gnome-autoar typelibs but it is only needed for the extension
     gnome3.nautilus-python
     gsound
@@ -66,15 +64,9 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  preFixup = ''
-    # TODO: figure out why folks GIR does not contain shared-library attribute
-    # https://github.com/NixOS/nixpkgs/issues/47226
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ folks ]}")
-  '';
-
   postFixup = ''
     # Let’s wrap the daemons
-    for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{{daemon,nativeMessagingHost}.js,components/folks.py}; do
+    for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{daemon,nativeMessagingHost}.js; do
       echo "Wrapping program $file"
       wrapGApp "$file"
     done
diff --git a/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix b/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix
index 5f6cb92cde24..078b5051c846 100644
--- a/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix
+++ b/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "four-in-a-row";
-  version = "3.34.1";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/four-in-a-row/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "112pyrh2yvwy5b2a0b5crjpwp2vqqg4zgx6csll1bic6ccayv713";
+    sha256 = "1agdjg9kcfcfaq3d2w4s4ksci6is1jzfnxanp3f84zqdq55s0k1y";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
index 9edeb3ea5dec..00f138ee7626 100644
--- a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-taquin";
-  version = "3.34.2";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-taquin/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ff3h57wr26np3dlh7smpslba2awxasmhv3y45bn498i3n1vyvsk";
+    sha256 = "0njlcqb316qbi0dm2j39s42ca8gc2fqmk5aqill5gpb57znb4d81";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/iagno/default.nix b/pkgs/desktops/gnome-3/games/iagno/default.nix
index 33cd60f52720..9f1b52990caa 100644
--- a/pkgs/desktops/gnome-3/games/iagno/default.nix
+++ b/pkgs/desktops/gnome-3/games/iagno/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iagno";
-  version = "3.34.3";
+  version = "3.34.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/iagno/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1m9654dbi4vrl59wvbyxz7jf81v4mn4n5lcq7abb42lba965d2z2";
+    sha256 = "0v0x2dmgcgfcjmbx21arnrwdx9xwa5q05wrm8a9sgrjjzqx6ynwb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix
index 380e50e827e8..7eff539091fc 100644
--- a/pkgs/desktops/lxqt/screengrab/default.nix
+++ b/pkgs/desktops/lxqt/screengrab/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "screengrab";
-  version = "1.101";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "111gnkhp77qkch7xqr7k3h8zrg4871gapyd4vvlpaj0gjhirjg6h";
+    sha256 = "1syvdqq45dr8hwigl9ax1wxr33m8z23nh6xzzlqbflyyd93xzjmn";
   };
 
   nativeBuildInputs = [
@@ -30,7 +30,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Crossplatform tool for fast making screenshots";
-    homepage = https://github.com/lxqt/screengrab;
+    homepage = "https://github.com/lxqt/screengrab";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
index 8485a1df9f3a..befa2bbbb020 100644
--- a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93
-  version = "1.7.0";
+  version = "1.7.1";
 
   repoName = "screenshot";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "09jcyy4drzpfxb1blln7hyjg5b7r8w5j5v7va2qhq31y7vzczh62";
+    sha256 = "179ib2ldvhdx3hks5lqyx2cvlkk3j1qccvlfwh2yd2bl79zpk3ma";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
index 260b340c2239..5a4eaf79b384 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-mouse-touchpad";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1974zdr5w3xd882gi95fp7axgilfni1sclsr750qm32yhl7d9bfn";
+    sha256 = "1ls5jxzmd7cmbv8h67q6mcmfrfksgwjndqd6r9gxivsz2lcji3x7";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index 4a42bc3d5654..25c3f2201ef1 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-gtk-theme";
-  version = "5.4.0";
+  version = "5.4.1";
 
   repoName = "stylesheet";
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0dh7lqc9b4ciyzbphqw071xcg742fvlc7gz9l1q3nqjsa2k6xg80";
+    sha256 = "0fnh08wqlhvigkxp69xkdha19ny9j0hg4ycwhhwvyr0d0z47kilw";
   };
 
   passthru = {
diff --git a/pkgs/desktops/xfce/core/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix
index 0ab362aa21d0..f97c07156c58 100644
--- a/pkgs/desktops/xfce/core/xfce4-session/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session }:
+{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session, runtimeShell }:
 
 mkXfceDerivation {
   category = "xfce";
@@ -14,9 +14,25 @@ mkXfceDerivation {
   # See https://github.com/NixOS/nixpkgs/issues/36468
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
-  passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
+  # Don't use startxfce4 in xfce.desktop
+  # It's has FHS isms
+  postFixup = ''
+    chmod +x $out/etc/xdg/xfce4/xinitrc
+    patchShebangs $out/etc/xdg/xfce4/xinitrc
 
-  meta =  {
+    substituteInPlace "$out/share/xsessions/xfce.desktop" \
+      --replace "Exec=startxfce4" "Exec=$out/etc/xdg/xfce4/xinitrc"
+  '';
+
+  passthru = {
+    xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
+
+    providedSessions = [
+      "xfce"
+    ];
+  };
+
+  meta = {
     description = "Session manager for Xfce";
   };
 }