about summary refs log tree commit diff
path: root/pkgs/desktops/xfce
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/xfce')
-rw-r--r--pkgs/desktops/xfce/applications/gigolo/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/ristretto/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-dict/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix60
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix23
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-terminal/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfmpc/default.nix39
-rw-r--r--pkgs/desktops/xfce/core/tumbler/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager/default.nix12
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session/default.nix17
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings/default.nix10
-rw-r--r--pkgs/desktops/xfce/default.nix10
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix43
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix39
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix2
18 files changed, 162 insertions, 109 deletions
diff --git a/pkgs/desktops/xfce/applications/gigolo/default.nix b/pkgs/desktops/xfce/applications/gigolo/default.nix
index e63053deedf66..cb885ad3fde48 100644
--- a/pkgs/desktops/xfce/applications/gigolo/default.nix
+++ b/pkgs/desktops/xfce/applications/gigolo/default.nix
@@ -11,7 +11,7 @@ mkXfceDerivation {
   buildInputs = [ gtk3 glib ];
 
   meta = with lib; {
-    description = "A frontend to easily manage connections to remote filesystems";
+    description = "Frontend to easily manage connections to remote filesystems";
     mainProgram = "gigolo";
     license = with licenses; [ gpl2Only ];
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
diff --git a/pkgs/desktops/xfce/applications/ristretto/default.nix b/pkgs/desktops/xfce/applications/ristretto/default.nix
index e5ee18d85da0c..93941346dcc75 100644
--- a/pkgs/desktops/xfce/applications/ristretto/default.nix
+++ b/pkgs/desktops/xfce/applications/ristretto/default.nix
@@ -28,7 +28,7 @@ mkXfceDerivation {
   env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   meta = with lib; {
-    description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
+    description = "Fast and lightweight picture-viewer for the Xfce desktop environment";
     mainProgram = "ristretto";
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
   };
diff --git a/pkgs/desktops/xfce/applications/xfce4-dict/default.nix b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
index 58141262409da..8910985473bf8 100644
--- a/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
@@ -23,7 +23,7 @@ mkXfceDerivation {
   ];
 
   meta = with lib; {
-    description = "A Dictionary Client for the Xfce desktop environment";
+    description = "Dictionary Client for the Xfce desktop environment";
     mainProgram = "xfce4-dict";
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
   };
diff --git a/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix b/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix
index e223f8bc66632..2e25e686ccd56 100644
--- a/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix
@@ -1,31 +1,63 @@
-{ mkXfceDerivation, lib, python3, intltool, gettext,
- gtk3, libxfce4ui, libxfce4util, pango, harfbuzz, gdk-pixbuf, atk }:
+{ stdenv
+, lib
+, fetchFromGitLab
+, gettext
+, gobject-introspection
+, intltool
+, wrapGAppsHook3
+, glib
+, gtk3
+, libxfce4ui
+, python3
+, gitUpdater
+}:
 
 let
-  pythonEnv = python3.withPackages(ps: [ ps.pygobject3 ps.psutil ]);
-  makeTypelibPath = lib.makeSearchPathOutput "lib/girepository-1.0" "lib/girepository-1.0";
-in mkXfceDerivation {
-  category = "apps";
+  pythonEnv = python3.withPackages (ps: [
+    ps.pygobject3
+    ps.psutil
+  ]);
+in
+stdenv.mkDerivation (finalAttrs: {
   pname = "xfce4-panel-profiles";
   version = "1.0.14";
 
-  sha256 = "sha256-mGA70t2U4mqEbcrj/DDsPl++EKWyZ8YXzKzzVOrH5h8=";
+  src = fetchFromGitLab {
+    domain = "gitlab.xfce.org";
+    owner = "apps";
+    repo = "xfce4-panel-profiles";
+    rev = "xfce4-panel-profiles-${finalAttrs.version}";
+    sha256 = "sha256-mGA70t2U4mqEbcrj/DDsPl++EKWyZ8YXzKzzVOrH5h8=";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    intltool
+    wrapGAppsHook3
+  ];
 
-  nativeBuildInputs = [ intltool gettext ];
-  propagatedBuildInputs = [ pythonEnv ];
+  buildInputs = [
+    glib
+    gtk3
+    libxfce4ui
+    pythonEnv
+  ];
 
   configurePhase = ''
+    runHook preConfigure
+    # This is just a handcrafted script and does not accept additional arguments.
     ./configure --prefix=$out
+    runHook postConfigure
   '';
 
-  postFixup = ''
-    wrapProgram $out/bin/xfce4-panel-profiles \
-      --set GI_TYPELIB_PATH ${makeTypelibPath [ gtk3 libxfce4ui libxfce4util pango harfbuzz gdk-pixbuf atk ]}
-  '';
+  passthru.updateScript = gitUpdater { rev-prefix = "xfce4-panel-profiles-"; };
 
   meta = with lib; {
+    homepage = "https://docs.xfce.org/apps/xfce4-panel-profiles/start";
     description = "Simple application to manage Xfce panel layouts";
     mainProgram = "xfce4-panel-profiles";
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
+    platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
index 4a3f85ea0ce32..f609bf6cc060c 100644
--- a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
@@ -1,10 +1,18 @@
 { lib
 , mkXfceDerivation
+, wayland-scanner
 , exo
+, gtk3
+, libX11
+, libXext
+, libXfixes
+, libXtst
 , libxml2
 , libsoup_3
 , libxfce4ui
 , libxfce4util
+, wayland
+, wlr-protocols
 , xfce4-panel
 , xfconf
 , curl
@@ -16,17 +24,28 @@
 mkXfceDerivation {
   category = "apps";
   pname = "xfce4-screenshooter";
-  version = "1.10.5";
+  version = "1.10.6";
   odd-unstable = false;
 
-  sha256 = "sha256-x1uQIfiUNMYowrCLpwdt1IsHfJLn81f8I/4NBwX/z9k=";
+  sha256 = "sha256-g3wYIyJEnYCFhCs6YXzfEe5lnvIY8ACN/m7He+ww3mA=";
+
+  nativeBuildInputs = [
+    wayland-scanner
+  ];
 
   buildInputs = [
     exo
+    gtk3
+    libX11
+    libXext
+    libXfixes
+    libXtst
     libxml2
     libsoup_3
     libxfce4ui
     libxfce4util
+    wayland
+    wlr-protocols
     xfce4-panel
     xfconf
   ];
diff --git a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index a9d87d4f68471..d20bfd4c28e1e 100644
--- a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
@@ -42,7 +42,7 @@ mkXfceDerivation {
   passthru.tests.test = nixosTests.terminal-emulators.xfce4-terminal;
 
   meta = with lib; {
-    description = "A modern terminal emulator";
+    description = "Modern terminal emulator";
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
     mainProgram = "xfce4-terminal";
   };
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
index 878975cebb1c6..3ae96bed983f5 100644
--- a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
@@ -10,7 +10,7 @@ mkXfceDerivation {
   buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ];
 
   meta = with lib; {
-    description = "A volume keys control daemon for Xfce using pulseaudio";
+    description = "Volume keys control daemon for Xfce using pulseaudio";
     mainProgram = "xfce4-volumed-pulse";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ abbradar ] ++ teams.xfce.members;
diff --git a/pkgs/desktops/xfce/applications/xfmpc/default.nix b/pkgs/desktops/xfce/applications/xfmpc/default.nix
new file mode 100644
index 0000000000000..a8322c7e51bf1
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfmpc/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, mkXfceDerivation
+, vala
+, libxfce4util
+, libxfce4ui
+, gtk3
+, glib
+, libmpd
+}:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "xfmpc";
+  # Last release is too old
+  version = "0.3.1-2024-05-29";
+  rev = "cf40dffec6e9b80abb1f1aa6d7dceef4790173dc";
+  sha256 = "sha256-moCWSLGBJuWM4/lRJi6D3w38iJeCntLo3Vl/eVfu7lw=";
+
+  nativeBuildInputs = [
+    vala
+    libxfce4util
+    # Needed both here and in buildInputs for cross compilation to work
+    libxfce4ui
+  ];
+  buildInputs = [
+    gtk3
+    glib
+    libxfce4ui
+    libmpd
+  ];
+
+  meta = with lib; {
+    description = "MPD client written in GTK";
+    homepage = "https://docs.xfce.org/apps/xfmpc/start";
+    changelog = "https://gitlab.xfce.org/apps/xfmpc/-/blob/${rev}/NEWS";
+    maintainers = with maintainers; [ doronbehar ] ++ teams.xfce.members;
+    mainProgram = "xfmpc";
+  };
+}
diff --git a/pkgs/desktops/xfce/core/tumbler/default.nix b/pkgs/desktops/xfce/core/tumbler/default.nix
index e8c7ac2b49489..f43a465ed98b0 100644
--- a/pkgs/desktops/xfce/core/tumbler/default.nix
+++ b/pkgs/desktops/xfce/core/tumbler/default.nix
@@ -38,7 +38,7 @@ mkXfceDerivation {
   '';
 
   meta = with lib; {
-    description = "A D-Bus thumbnailer service";
+    description = "D-Bus thumbnailer service";
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
   };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
index c483c58c81728..7c6d58d84bff6 100644
--- a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
@@ -12,9 +12,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "xfce4-power-manager";
-  version = "4.18.3";
+  version = "4.18.4";
 
-  sha256 = "sha256-CuW2siApho7u8P01t15dAiqNAiwQzAMZsEugYuKN4kM=";
+  sha256 = "sha256-aybY+B8VC/XS6FO3XRpYuJd9Atr9Tc/Uo45q9fh3YLE=";
 
   buildInputs = [
     gtk3
@@ -29,13 +29,13 @@ mkXfceDerivation {
   # using /run/current-system/sw/bin instead of nix store path prevents polkit permission errors on
   # rebuild.  See https://github.com/NixOS/nixpkgs/issues/77485
   postPatch = ''
-    substituteInPlace src/org.xfce.power.policy.in2 --replace "@sbindir@" "/run/current-system/sw/bin"
-    substituteInPlace common/xfpm-brightness.c --replace "SBINDIR" "\"/run/current-system/sw/bin\""
-    substituteInPlace src/xfpm-suspend.c --replace "SBINDIR" "\"/run/current-system/sw/bin\""
+    substituteInPlace src/org.xfce.power.policy.in2 --replace-fail "@sbindir@" "/run/current-system/sw/bin"
+    substituteInPlace common/xfpm-brightness.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\""
+    substituteInPlace src/xfpm-suspend.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\""
   '';
 
   meta = with lib; {
-    description = "A power manager for the Xfce Desktop Environment";
+    description = "Power manager for the Xfce Desktop Environment";
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
   };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix
index 73ce969d05f7a..5d2e21598d4f5 100644
--- a/pkgs/desktops/xfce/core/xfce4-session/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix
@@ -1,6 +1,5 @@
 { lib
 , mkXfceDerivation
-, fetchpatch
 , polkit
 , exo
 , libxfce4util
@@ -16,18 +15,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "xfce4-session";
-  version = "4.18.3";
+  version = "4.18.4";
 
-  sha256 = "sha256-qCkE3aVYVwphoO1ZAyzpL1ZtsLaP6XT1H1rlFoBI3yg=";
-
-  patches = [
-    # Add minimal xdg-desktop-portal conf file
-    # https://gitlab.xfce.org/xfce/xfce4-session/-/issues/181
-    (fetchpatch {
-      url = "https://gitlab.xfce.org/xfce/xfce4-session/-/commit/6451c8b21085631d8861e07ff4e1b2ef64a64ad3.patch";
-      sha256 = "sha256-t3opom0iv7QsKoivzk+nXbxI5uFhNmB8/Qwb4QHvcCQ=";
-    })
-  ];
+  sha256 = "sha256-YxIHxb8mRggHLJ9TQ+KGb9qjt+DMZrxMn+oFuFRL8GI=";
 
   buildInputs = [
     exo
@@ -43,9 +33,6 @@ mkXfceDerivation {
 
   configureFlags = [ "--with-xsession-prefix=${placeholder "out"}" ];
 
-  # See https://github.com/NixOS/nixpkgs/issues/36468
-  env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
 
   meta = with lib; {
diff --git a/pkgs/desktops/xfce/core/xfce4-settings/default.nix b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
index 31aa4bc2e98a7..2979824f12b2b 100644
--- a/pkgs/desktops/xfce/core/xfce4-settings/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
@@ -16,15 +16,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "xfce4-settings";
-  version = "4.18.4";
+  version = "4.18.6";
 
-  sha256 = "sha256-f6ldTmTSvfRjn6j/LKIoFI3cbYZFtNdnAq3dQewc948=";
-
-  postPatch = ''
-    for f in xfsettingsd/pointers.c dialogs/mouse-settings/main.c; do
-      substituteInPlace $f --replace \"libinput-properties.h\" '<xorg/libinput-properties.h>'
-    done
-  '';
+  sha256 = "sha256-xiu26B3dbWu+/AtF/iUC6Wo2U5ZZyzN9RfdbBaQRJ1M=";
 
   buildInputs = [
     exo
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index a1416426a32a1..0de704176ec99 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -1,5 +1,6 @@
 { config
 , lib
+, linuxPackages
 , pkgs
 , generateSplicesForMkScope
 , makeScopeWithSplicing'
@@ -80,6 +81,8 @@ makeScopeWithSplicing' {
 
       ristretto = callPackage ./applications/ristretto { };
 
+      xfmpc = callPackage ./applications/xfmpc { };
+
       xfce4-taskmanager = callPackage ./applications/xfce4-taskmanager { };
 
       xfce4-dict = callPackage ./applications/xfce4-dict { };
@@ -132,8 +135,6 @@ makeScopeWithSplicing' {
 
       xfce4-i3-workspaces-plugin = callPackage ./panel-plugins/xfce4-i3-workspaces-plugin { };
 
-      xfce4-namebar-plugin = callPackage ./panel-plugins/xfce4-namebar-plugin { };
-
       xfce4-netload-plugin = callPackage ./panel-plugins/xfce4-netload-plugin { };
 
       xfce4-notes-plugin = callPackage ./panel-plugins/xfce4-notes-plugin { };
@@ -142,7 +143,9 @@ makeScopeWithSplicing' {
 
       xfce4-mpc-plugin = callPackage ./panel-plugins/xfce4-mpc-plugin { };
 
-      xfce4-sensors-plugin = callPackage ./panel-plugins/xfce4-sensors-plugin { };
+      xfce4-sensors-plugin = callPackage ./panel-plugins/xfce4-sensors-plugin {
+        libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl;
+      };
 
       xfce4-systemload-plugin = callPackage ./panel-plugins/xfce4-systemload-plugin { };
 
@@ -172,5 +175,6 @@ makeScopeWithSplicing' {
       thunar-bare = self.thunar.override { thunarPlugins = [ ]; }; # added 2019-11-04
 
       xfce4-hardware-monitor-plugin = throw "xfce.xfce4-hardware-monitor-plugin has been removed: abandoned by upstream and does not build"; # added 2023-01-15
+      xfce4-namebar-plugin = throw "xfce.xfce4-namebar-plugin has been removed: abandoned by upstream and does not build"; # added 2024-05-08
     });
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix
index 0451afc54b22f..3f9b414e7713d 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix
@@ -31,7 +31,7 @@ mkXfceDerivation {
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-docklike-plugin/start";
-    description = "A modern, minimalist taskbar for Xfce";
+    description = "Modern, minimalist taskbar for Xfce";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
deleted file mode 100644
index 032b29eaef3d4..0000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib, stdenv, pkg-config, fetchFromGitHub, python3, vala
-, gtk3, libwnck, libxfce4util, xfce4-panel, wafHook, xfce
-, gitUpdater
-}:
-
-stdenv.mkDerivation rec {
-  pname = "xfce4-namebar-plugin";
-  version = "1.0.0";
-
-  src = fetchFromGitHub {
-    owner = "HugLifeTiZ";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-aKrJzf9rwCyXAJsRIXdBzmJBASuXD5I5kZrp+atx4FA=";
-  };
-
-  nativeBuildInputs = [ pkg-config vala wafHook python3 ];
-  buildInputs = [ gtk3 libwnck libxfce4util xfce4-panel ];
-
-  postPatch = ''
-    substituteInPlace src/namebar.vala --replace 'var dirs = Environment.get_system_data_dirs()' "string[] dirs = { \"$out/share\" }"
-    substituteInPlace src/preferences.vala --replace 'var dir_strings = Environment.get_system_data_dirs()' "string[] dir_strings = { \"$out/share\" }"
-  '';
-
-  passthru.updateScript = gitUpdater {
-    rev-prefix = "v";
-  };
-
-  meta = with lib; {
-    homepage = "https://github.com/HugLifeTiZ/xfce4-namebar-plugin";
-    description = "Plugin which integrates titlebar and window controls into the xfce4-panel";
-    license = licenses.mit;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ] ++ teams.xfce.members;
-    # Does not build with vala 0.48 or later
-    # libxfce4panel-2.0.vapi:92.3-92.41: error: overriding method `Xfce.PanelPlugin.remote_event' is incompatible
-    # with base method `bool Xfce.PanelPluginProvider.remote_event (string, GLib.Value, uint)': too few parameters.
-    #               public virtual signal bool remote_event (string name, GLib.Value value);
-    #               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    # Upstream has no activity since 20 May 2020
-    broken = true;
-  };
-}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
index 4a3148962efde..dbc96665344f8 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
@@ -1,5 +1,20 @@
-{ lib, stdenv, fetchurl, pkg-config, intltool, gtk3, libxfce4ui,
-  libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu, gitUpdater
+{
+  stdenv,
+  lib,
+  fetchurl,
+  pkg-config,
+  intltool,
+  gtk3,
+  libxfce4ui,
+  libxfce4util,
+  xfce4-panel,
+  libnotify,
+  lm_sensors,
+  hddtemp,
+  netcat-gnu,
+  libXNVCtrl,
+  nvidiaSupport ? lib.meta.availableOn stdenv.hostPlatform libXNVCtrl,
+  gitUpdater,
 }:
 
 let
@@ -7,7 +22,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  pname  = "xfce4-sensors-plugin";
+  pname = "xfce4-sensors-plugin";
   version = "1.4.4";
 
   src = fetchurl {
@@ -29,14 +44,20 @@ stdenv.mkDerivation rec {
     lm_sensors
     hddtemp
     netcat-gnu
-   ];
+  ] ++ lib.optionals nvidiaSupport [ libXNVCtrl ];
 
   enableParallelBuilding = true;
 
-  configureFlags = [
-    "--with-pathhddtemp=${hddtemp}/bin/hddtemp"
-    "--with-pathnetcat=${netcat-gnu}/bin/netcat"
-  ];
+  configureFlags =
+    [
+      "--with-pathhddtemp=${hddtemp}/bin/hddtemp"
+      "--with-pathnetcat=${netcat-gnu}/bin/netcat"
+    ]
+    ++ lib.optionals nvidiaSupport [
+      # Have to be explicitly enabled since this tries to figure out the default
+      # based on the existence of a hardcoded `/usr/include/NVCtrl` path.
+      "--enable-xnvctrl"
+    ];
 
   passthru.updateScript = gitUpdater {
     url = "https://gitlab.xfce.org/panel-plugins/${pname}";
@@ -45,7 +66,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-sensors-plugin";
-    description = "A panel plug-in for different sensors using acpi, lm_sensors and hddtemp";
+    description = "Panel plug-in for different sensors using acpi, lm_sensors and hddtemp";
     mainProgram = "xfce4-sensors";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
index a76d3cdb53440..8683c8cb20918 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
@@ -24,7 +24,7 @@ mkXfceDerivation {
   ];
 
   meta = with lib; {
-    description = "A command-line plugin";
+    description = "Command-line plugin";
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
   };
 }
diff --git a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
index 5449eadc6d37f..150db52bb5b26 100644
--- a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/Jeinzi/thunar-dropbox";
-    description = "A plugin that adds context-menu items for Dropbox to Thunar";
+    description = "Plugin that adds context-menu items for Dropbox to Thunar";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ] ++ teams.xfce.members;