diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/xfce')
70 files changed, 2988 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix new file mode 100644 index 000000000000..24148731291a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix @@ -0,0 +1,89 @@ +{ lib +, fetchFromGitLab +, gitUpdater +, file +, which +, intltool +, gobject-introspection +, findutils +, xdg-utils +, dconf +, gtk3 +, python3Packages +, xfconf +, wrapGAppsHook +}: + +python3Packages.buildPythonApplication rec { + pname = "catfish"; + version = "4.18.0"; + + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = "apps"; + repo = pname; + rev = "${pname}-${version}"; + sha256 = "sha256-hfbIgSFn48++eGrJXzhXRxhWkrjgTYsr7BX/n0EXhGo="; + }; + + nativeBuildInputs = [ + python3Packages.distutils-extra + file + which + intltool + gobject-introspection # for setup hook populating GI_TYPELIB_PATH + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + dconf + python3Packages.pyxdg + python3Packages.ptyprocess + python3Packages.pycairo + ]; + + propagatedBuildInputs = [ + python3Packages.dbus-python + python3Packages.pygobject3 + python3Packages.pexpect + xdg-utils + findutils + xfconf + ]; + + # Explicitly set the prefix dir in "setup.py" because setuptools is + # not using "$out" as the prefix when installing catfish data. In + # particular the variable "__catfish_data_directory__" in + # "catfishconfig.py" is being set to a subdirectory in the python + # path in the store. + postPatch = '' + sed -i "/^ if self.root/i\\ self.prefix = \"$out\"" setup.py + ''; + + # Disable check because there is no test in the source distribution + doCheck = false; + + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + passthru.updateScript = gitUpdater { rev-prefix = "${pname}-"; }; + + meta = with lib; { + homepage = "https://docs.xfce.org/apps/catfish/start"; + description = "Handy file search tool"; + mainProgram = "catfish"; + longDescription = '' + Catfish is a handy file searching tool. The interface is + intentionally lightweight and simple, using only GTK 3. + You can configure it to your needs by using several command line + options. + ''; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix new file mode 100644 index 000000000000..e63053deedf6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix @@ -0,0 +1,19 @@ +{ lib, mkXfceDerivation, gtk3, glib }: + +mkXfceDerivation { + category = "apps"; + pname = "gigolo"; + version = "0.5.3"; + odd-unstable = false; + + sha256 = "sha256-dxaFuKbSqhj/l5JV31cI+XzgdghfbcVwVtwmRiZeff8="; + + buildInputs = [ gtk3 glib ]; + + meta = with lib; { + description = "A frontend to easily manage connections to remote filesystems"; + mainProgram = "gigolo"; + license = with licenses; [ gpl2Only ]; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix new file mode 100644 index 000000000000..a312c0040e99 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix @@ -0,0 +1,53 @@ +{ lib +, mkXfceDerivation +, fetchpatch2 +, gobject-introspection +, glib +, gtk3 +, gtksourceview4 +, gspell +, libxfce4ui +, xfconf +, enablePolkit ? true +, polkit +}: + +mkXfceDerivation { + category = "apps"; + pname = "mousepad"; + version = "0.6.2"; + odd-unstable = false; + + sha256 = "sha256-A4siNxbTf9ObJJg8inPuH7Lo4dckLbFljV6aPFQxRto="; + + patches = [ + # shortcuts-plugin: Fix shortcuts-editor include + # https://gitlab.xfce.org/apps/mousepad/-/merge_requests/131 + (fetchpatch2 { + url = "https://gitlab.xfce.org/apps/mousepad/-/commit/d2eb43ae4d692cc4753647111eb3deebfa26abbb.patch"; + hash = "sha256-Ldn0ZVmCzqG8lOkeaazkodEMip3lTm/lJEhfsL8TyT8="; + }) + ]; + + nativeBuildInputs = [ gobject-introspection ]; + + buildInputs = [ + glib + gtk3 + gtksourceview4 + gspell + libxfce4ui # for shortcut plugin + xfconf # required by libxfce4kbd-private-3 + ] ++ lib.optionals enablePolkit [ + polkit + ]; + + # Use the GSettings keyfile backend rather than DConf + configureFlags = [ "--enable-keyfile-settings" ]; + + meta = with lib; { + description = "Simple text editor for Xfce"; + mainProgram = "mousepad"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/orage/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/orage/default.nix new file mode 100644 index 000000000000..130eb8464aeb --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/orage/default.nix @@ -0,0 +1,36 @@ +{ lib +, mkXfceDerivation +, gtk3 +, libical +, libnotify +, libxfce4ui +, popt +, tzdata +}: + +mkXfceDerivation { + category = "apps"; + pname = "orage"; + version = "4.18.0"; + + sha256 = "sha256-vL9zexPbQKPqIzK5UqUIxkE9I7hEupkDOJehMgj2Leo="; + + buildInputs = [ + gtk3 + libical + libnotify + libxfce4ui + popt + ]; + + postPatch = '' + substituteInPlace src/parameters.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + substituteInPlace src/tz_zoneinfo_read.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + ''; + + meta = with lib; { + description = "Simple calendar application for Xfce"; + mainProgram = "orage"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix new file mode 100644 index 000000000000..41286052db41 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix @@ -0,0 +1,50 @@ +{ lib +, mkXfceDerivation +, dbus +, dbus-glib +, gst_all_1 +, gtk3 +, libnotify +, libX11 +, libxfce4ui +, libxfce4util +, taglib +, xfconf +}: + +# Doesn't seem to find H.264 codec even though built with gst-plugins-bad. + +mkXfceDerivation { + category = "apps"; + pname = "parole"; + version = "4.18.1"; + + sha256 = "sha256-g+Wy90tHpCeylbU7aUa8578ehmuyWI5WlCK7YdJKlNQ="; + + postPatch = '' + substituteInPlace src/plugins/mpris2/Makefile.am \ + --replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS + ''; + + buildInputs = with gst_all_1; [ + dbus + dbus-glib + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gtk3 + libnotify + libX11 + libxfce4ui + libxfce4util + taglib + xfconf + ]; + + meta = with lib; { + description = "Modern simple media player"; + mainProgram = "parole"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix new file mode 100644 index 000000000000..e5ee18d85da0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix @@ -0,0 +1,35 @@ +{ lib +, mkXfceDerivation +, gtk3 +, glib +, libexif +, libxfce4ui +, libxfce4util +, xfconf +}: + +mkXfceDerivation { + category = "apps"; + pname = "ristretto"; + version = "0.13.2"; + odd-unstable = false; + + sha256 = "sha256-FKgNKQ2l4FGvEvmppf+RTxMXU6TfsZVFBVii4zr4ASc="; + + buildInputs = [ + glib + gtk3 + libexif + libxfce4ui + libxfce4util + xfconf + ]; + + 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"; + mainProgram = "ristretto"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix new file mode 100644 index 000000000000..d2ba14d27dff --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix @@ -0,0 +1,19 @@ +{ lib, mkXfceDerivation, docbook_xsl, exo, gtk3, libburn, libisofs, libxfce4ui, libxslt }: + +mkXfceDerivation { + category = "apps"; + pname = "xfburn"; + version = "0.7.0"; + odd-unstable = false; + + sha256 = "sha256-/CuV2tqja5fa2H2mmU9BP6tZHoCZZML5d2LL/CG3rno="; + + nativeBuildInputs = [ libxslt docbook_xsl ]; + buildInputs = [ exo gtk3 libburn libisofs libxfce4ui ]; + + meta = with lib; { + description = "Disc burner and project creator for Xfce"; + mainProgram = "xfburn"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix new file mode 100644 index 000000000000..58141262409d --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix @@ -0,0 +1,30 @@ +{ lib +, mkXfceDerivation +, glib +, gtk3 +, libxfce4ui +, libxfce4util +, xfce4-panel +}: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-dict"; + version = "0.8.6"; + + sha256 = "sha256-a7St9iH+jzwq/llrMJkuqwgQrDFEjqebs/N6Lxa3dkI="; + + buildInputs = [ + glib + gtk3 + libxfce4ui + libxfce4util + xfce4-panel + ]; + + meta = with lib; { + description = "A Dictionary Client for the Xfce desktop environment"; + mainProgram = "xfce4-dict"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix new file mode 100644 index 000000000000..c7a1f94177e8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix @@ -0,0 +1,52 @@ +{ lib +, mkXfceDerivation +, dbus +, glib +, gtk3 +, gtk-layer-shell +, libcanberra-gtk3 +, libnotify +, libX11 +, libxfce4ui +, libxfce4util +, sqlite +, xfce4-panel +, xfconf +}: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-notifyd"; + version = "0.9.4"; + odd-unstable = false; + + sha256 = "sha256-oDvP2xE/KvIKl7D5hAwROxhqpli7G/UNd51YCdT7Dv4="; + + buildInputs = [ + dbus + gtk3 + gtk-layer-shell + glib + libcanberra-gtk3 + libnotify + libX11 + libxfce4ui + libxfce4util + sqlite + xfce4-panel + xfconf + ]; + + env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + configureFlags = [ + "--enable-dbus-start-daemon" + "--enable-sound" + ]; + + meta = with lib; { + description = "Simple notification daemon for Xfce"; + mainProgram = "xfce4-notifyd-config"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix new file mode 100644 index 000000000000..e223f8bc6663 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix @@ -0,0 +1,31 @@ +{ mkXfceDerivation, lib, python3, intltool, gettext, + gtk3, libxfce4ui, libxfce4util, pango, harfbuzz, gdk-pixbuf, atk }: + +let + pythonEnv = python3.withPackages(ps: [ ps.pygobject3 ps.psutil ]); + makeTypelibPath = lib.makeSearchPathOutput "lib/girepository-1.0" "lib/girepository-1.0"; +in mkXfceDerivation { + category = "apps"; + pname = "xfce4-panel-profiles"; + version = "1.0.14"; + + sha256 = "sha256-mGA70t2U4mqEbcrj/DDsPl++EKWyZ8YXzKzzVOrH5h8="; + + nativeBuildInputs = [ intltool gettext ]; + propagatedBuildInputs = [ pythonEnv ]; + + configurePhase = '' + ./configure --prefix=$out + ''; + + postFixup = '' + wrapProgram $out/bin/xfce4-panel-profiles \ + --set GI_TYPELIB_PATH ${makeTypelibPath [ gtk3 libxfce4ui libxfce4util pango harfbuzz gdk-pixbuf atk ]} + ''; + + meta = with lib; { + description = "Simple application to manage Xfce panel layouts"; + mainProgram = "xfce4-panel-profiles"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix new file mode 100644 index 000000000000..8422f6661e02 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix @@ -0,0 +1,62 @@ +{ mkXfceDerivation +, gobject-introspection +, dbus-glib +, garcon +, glib +, gtk3 +, libX11 +, libXScrnSaver +, libXrandr +, libwnck +, libxfce4ui +, libxfce4util +, libxklavier +, pam +, python3 +, systemd +, xfconf +, lib +}: + +let + # For xfce4-screensaver-configure + pythonEnv = python3.withPackages (pp: [ pp.pygobject3 ]); +in +mkXfceDerivation { + category = "apps"; + pname = "xfce4-screensaver"; + version = "4.18.3"; + + sha256 = "sha256-hOhWJoiKoeRgkhXaR8rnDpcJpStMD4BBdll4nwSA+EQ="; + + nativeBuildInputs = [ + gobject-introspection + ]; + + buildInputs = [ + dbus-glib + garcon + glib + gtk3 + libX11 + libXScrnSaver + libXrandr + libwnck + libxfce4ui + libxfce4util + libxklavier + pam + pythonEnv + systemd + xfconf + ]; + + configureFlags = [ "--without-console-kit" ]; + + makeFlags = [ "DBUS_SESSION_SERVICE_DIR=$(out)/etc" ]; + + meta = with lib; { + description = "Screensaver for Xfce"; + maintainers = with maintainers; [ symphorien ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix new file mode 100644 index 000000000000..4a3f85ea0ce3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix @@ -0,0 +1,47 @@ +{ lib +, mkXfceDerivation +, exo +, libxml2 +, libsoup_3 +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +, curl +, gnome +, jq +, xclip +}: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-screenshooter"; + version = "1.10.5"; + odd-unstable = false; + + sha256 = "sha256-x1uQIfiUNMYowrCLpwdt1IsHfJLn81f8I/4NBwX/z9k="; + + buildInputs = [ + exo + libxml2 + libsoup_3 + libxfce4ui + libxfce4util + xfce4-panel + xfconf + ]; + + preFixup = '' + # For Imgur upload action + # https://gitlab.xfce.org/apps/xfce4-screenshooter/-/merge_requests/51 + gappsWrapperArgs+=( + --prefix PATH : ${lib.makeBinPath [ curl gnome.zenity jq xclip ]} + ) + ''; + + meta = with lib; { + description = "Screenshot utility for the Xfce desktop"; + mainProgram = "xfce4-screenshooter"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix new file mode 100644 index 000000000000..f6dfcec8be7f --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix @@ -0,0 +1,40 @@ +{ lib +, mkXfceDerivation +, exo +, glib +, gtk3 +, libxfce4ui +, xfconf +, libwnck +, libX11 +, libXmu +}: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-taskmanager"; + version = "1.5.7"; + odd-unstable = false; + + sha256 = "sha256-znadP7rrP/IxH22U1D9p6IHZ1J1JfXoCVk8iKUgrkJw="; + + nativeBuildInputs = [ + exo + ]; + + buildInputs = [ + glib + gtk3 + libxfce4ui + xfconf + libwnck + libX11 + libXmu + ]; + + meta = with lib; { + description = "Easy to use task manager for Xfce"; + mainProgram = "xfce4-taskmanager"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix new file mode 100644 index 000000000000..a9d87d4f6847 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix @@ -0,0 +1,49 @@ +{ lib +, mkXfceDerivation +, glib +, gtk3 +, gtk-layer-shell +, libX11 +, libxfce4ui +, vte +, xfconf +, pcre2 +, libxslt +, docbook_xml_dtd_45 +, docbook_xsl +, nixosTests +}: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-terminal"; + version = "1.1.3"; + odd-unstable = false; + + sha256 = "sha256-CUIQf22Lmb6MNPd2wk8LlHFNUhdIoC1gzVV6RDP2PfY="; + + nativeBuildInputs = [ + libxslt + docbook_xml_dtd_45 + docbook_xsl + ]; + + buildInputs = [ + glib + gtk3 + gtk-layer-shell + libX11 + libxfce4ui + vte + xfconf + pcre2 + ]; + + passthru.tests.test = nixosTests.terminal-emulators.xfce4-terminal; + + meta = with lib; { + description = "A modern terminal emulator"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + mainProgram = "xfce4-terminal"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix new file mode 100644 index 000000000000..878975cebb1c --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix @@ -0,0 +1,18 @@ +{ lib, mkXfceDerivation, gtk3, libnotify, libpulseaudio, keybinder3, xfconf }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-volumed-pulse"; + version = "0.2.4"; + + sha256 = "sha256-NDIJRjKV5aoM2sLhZ6WmoynOc4yz55KpuiTJDMLMA5Y="; + + buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ]; + + meta = with lib; { + description = "A 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/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix new file mode 100644 index 000000000000..fd92e2c92e8f --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix @@ -0,0 +1,46 @@ +{ lib +, mkXfceDerivation +, clutter +, libXcomposite +, libXinerama +, libXdamage +, libX11 +, libwnck +, libxfce4ui +, libxfce4util +, garcon +, xfconf +, gtk3 +, glib +, dbus-glib +}: + +mkXfceDerivation { + category = "apps"; + pname = "xfdashboard"; + version = "1.0.0"; + rev-prefix = ""; + + sha256 = "sha256-iC41I0u9id9irUNyjuvRRzSldF3dzRYkaxb/fgptnq4="; + + buildInputs = [ + clutter + dbus-glib + garcon + glib + gtk3 + libX11 + libXcomposite + libXdamage + libXinerama + libwnck + libxfce4ui + libxfce4util + xfconf + ]; + + meta = with lib; { + description = "Gnome shell like dashboard"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix b/nixpkgs/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix new file mode 100644 index 000000000000..23ad1069fb74 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchurl, pkg-config, intltool, gtk3, gnome-icon-theme, tango-icon-theme, hicolor-icon-theme, httpTwoLevelsUpdater }: + +stdenv.mkDerivation rec { + pname = "xfce4-icon-theme"; + version = "4.4.3"; + + src = fetchurl { + url = "mirror://xfce/src/art/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-1HhmktVrilY/ZqXyYPHxOt4R6Gx4y8slqfml/EfPZvo="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + gtk3 + ]; + + buildInputs = [ + gnome-icon-theme + tango-icon-theme + hicolor-icon-theme + # missing parent icon theme Industrial + ]; + + dontDropIconThemeCache = true; + + passthru.updateScript = httpTwoLevelsUpdater { + url = "https://archive.xfce.org/src/art/${pname}"; + }; + + meta = with lib; { + homepage = "https://www.xfce.org/"; + description = "Icons for Xfce"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ eelco ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes/default.nix b/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes/default.nix new file mode 100644 index 000000000000..6eda846ee311 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes/default.nix @@ -0,0 +1,23 @@ +{ lib, stdenv, fetchurl, httpTwoLevelsUpdater }: + +stdenv.mkDerivation rec { + pname = "xfwm4-themes"; + version = "4.10.0"; + + src = fetchurl { + url = "mirror://xfce/src/art/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-MhTV8A6XA7XoyefDKH1gbe3scoXOtNXbMy6TraZv1XU="; + }; + + passthru.updateScript = httpTwoLevelsUpdater { + url = "https://archive.xfce.org/src/art/${pname}"; + }; + + meta = with lib; { + homepage = "https://www.xfce.org/"; + description = "Themes for Xfce"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix b/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix new file mode 100644 index 000000000000..e5d34969d4c8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix @@ -0,0 +1,32 @@ +{ lib, mkXfceDerivation, docbook_xsl, glib, libxslt, gtk3 +, libxfce4ui, libxfce4util, perl }: + +mkXfceDerivation { + category = "xfce"; + pname = "exo"; + version = "4.18.0"; + + sha256 = "sha256-oWlKeUD1v2qqb8vY+2Cu9VJ1iThFPVboP12m/ob5KSQ="; + + nativeBuildInputs = [ + libxslt + docbook_xsl + ]; + + buildInputs = [ + gtk3 + glib + libxfce4ui + libxfce4util + + (perl.withPackages(ps: with ps; [ URI ])) # for $out/lib/xfce4/exo/exo-compose-mail + ]; + + # Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825 + env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = with lib; { + description = "Application library for Xfce"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix b/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix new file mode 100644 index 000000000000..ec0d76bfe7ff --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix @@ -0,0 +1,19 @@ +{ lib, mkXfceDerivation, gobject-introspection, gtk3, libxfce4ui, libxfce4util }: + +mkXfceDerivation { + category = "xfce"; + pname = "garcon"; + version = "4.18.2"; + + sha256 = "sha256-J9f9MzZ1I9XIyvwuyINkvXDuXY6/MkjlH2Ct4yaEXsY="; + + nativeBuildInputs = [ gobject-introspection ]; + + buildInputs = [ gtk3 libxfce4ui libxfce4util ]; + + meta = with lib; { + description = "Xfce menu support library"; + license = with licenses; [ lgpl2Only fdl11Only ]; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix new file mode 100644 index 000000000000..862d4f8cbc94 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix @@ -0,0 +1,25 @@ +{ lib, mkXfceDerivation, gobject-introspection, vala, gtk3, libICE, libSM +, libstartup_notification, libgtop, libepoxy, libxfce4util, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "libxfce4ui"; + version = "4.18.6"; + + sha256 = "sha256-ojmI745tKLHv26uL1qS/v6hAcLmAV/WF2NAtAhQRUkg="; + + nativeBuildInputs = [ gobject-introspection vala ]; + buildInputs = [ gtk3 libstartup_notification libgtop libepoxy xfconf ]; + propagatedBuildInputs = [ libxfce4util libICE libSM ]; + + configureFlags = [ + "--with-vendor-info=NixOS" + ]; + + meta = with lib; { + description = "Widgets library for Xfce"; + mainProgram = "xfce4-about"; + license = with licenses; [ lgpl2Plus lgpl21Plus ]; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix new file mode 100644 index 000000000000..02a4b98309a3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix @@ -0,0 +1,18 @@ +{ lib, mkXfceDerivation, gobject-introspection, vala }: + +mkXfceDerivation { + category = "xfce"; + pname = "libxfce4util"; + version = "4.18.2"; + + sha256 = "sha256-JQ6biE1gxtB6+LWxRGfbUhgJhhITGhLr+8BxFW4/8SU="; + + nativeBuildInputs = [ gobject-introspection vala ]; + + meta = with lib; { + description = "Extension library for Xfce"; + mainProgram = "xfce4-kiosk-query"; + license = licenses.lgpl2Plus; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/libxfce4windowing/default.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfce4windowing/default.nix new file mode 100644 index 000000000000..c83cf06d4384 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/libxfce4windowing/default.nix @@ -0,0 +1,39 @@ +{ lib +, mkXfceDerivation +, gobject-introspection +, wayland-scanner +, glib +, gtk3 +, libwnck +, libX11 +, wayland +, wlr-protocols +}: + +mkXfceDerivation { + category = "xfce"; + pname = "libxfce4windowing"; + version = "4.19.3"; + + sha256 = "sha256-nsobRyGeagUq1WHzYBq6vd9g5A65KEQC4cX+m7w0pqg="; + + nativeBuildInputs = [ + gobject-introspection + wayland-scanner + ]; + + buildInputs = [ + glib + gtk3 + libwnck + libX11 + wayland + wlr-protocols + ]; + + meta = { + description = "Windowing concept abstraction library for X11 and Wayland"; + license = lib.licenses.lgpl21Plus; + maintainers = lib.teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix new file mode 100644 index 000000000000..33b34e5beee8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix @@ -0,0 +1,18 @@ +{ lib, mkXfceDerivation, exo, gtk3, libgudev, libxfce4ui, libxfce4util, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "thunar-volman"; + version = "4.18.0"; + + buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ]; + + sha256 = "sha256-NRVoakU8jTCJVe+iyJQwW1xPti2vjd/8n8CYrIYGII0="; + + odd-unstable = false; + + meta = with lib; { + description = "Thunar extension for automatic management of removable drives and media"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix new file mode 100644 index 000000000000..fe3b23323c63 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix @@ -0,0 +1,70 @@ +{ mkXfceDerivation +, lib +, docbook_xsl +, exo +, gdk-pixbuf +, gtk3 +, libgudev +, libnotify +, libX11 +, libxfce4ui +, libxfce4util +, libxslt +, pcre +, xfconf +, gobject-introspection +, makeWrapper +, symlinkJoin +, thunarPlugins ? [] +}: + +let unwrapped = mkXfceDerivation { + category = "xfce"; + pname = "thunar"; + version = "4.18.10"; + + sha256 = "sha256-jne+jETPmM6VksdwJAxruji/GKH42iftWm74Ok9qX44="; + + nativeBuildInputs = [ + docbook_xsl + gobject-introspection + libxslt + ]; + + buildInputs = [ + exo + gdk-pixbuf + gtk3 + libX11 + libgudev + libnotify + libxfce4ui + libxfce4util + pcre + xfconf + ]; + + configureFlags = [ "--with-custom-thunarx-dirs-enabled" ]; + + # the desktop file … is in an insecure location» + # which pops up when invoking desktop files that are + # symlinks to the /nix/store + # + # this error was added by this commit: + # https://github.com/xfce-mirror/thunar/commit/1ec8ff89ec5a3314fcd6a57f1475654ddecc9875 + postPatch = '' + sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c + ''; + + meta = with lib; { + description = "Xfce file manager"; + mainProgram = "thunar"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +}; + +in if thunarPlugins == [] then unwrapped + else import ./wrapper.nix { + inherit makeWrapper symlinkJoin thunarPlugins lib; + thunar = unwrapped; + } diff --git a/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix new file mode 100644 index 000000000000..43531f201232 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix @@ -0,0 +1,41 @@ +{ lib, makeWrapper, symlinkJoin, thunar, thunarPlugins }: + +symlinkJoin { + name = "thunar-with-plugins-${thunar.version}"; + + paths = [ thunar ] ++ thunarPlugins; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram "$out/bin/thunar" \ + --set "THUNARX_DIRS" "$out/lib/thunarx-3" + + wrapProgram "$out/bin/thunar-settings" \ + --set "THUNARX_DIRS" "$out/lib/thunarx-3" + + # NOTE: we need to remove the folder symlink itself and create + # a new folder before trying to substitute any file below. + rm -f "$out/lib/systemd/user" + mkdir -p "$out/lib/systemd/user" + + # point to wrapped binary in all service files + for file in "lib/systemd/user/thunar.service" \ + "share/dbus-1/services/org.xfce.FileManager.service" \ + "share/dbus-1/services/org.xfce.Thunar.FileManager1.service" \ + "share/dbus-1/services/org.xfce.Thunar.service" + do + rm -f "$out/$file" + substitute "${thunar}/$file" "$out/$file" \ + --replace "${thunar}" "$out" + done + ''; + + meta = with lib; { + inherit (thunar.meta) homepage license platforms maintainers; + + description = thunar.meta.description + optionalString + (0 != length thunarPlugins) + " (with plugins: ${concatStringsSep ", " (map (x: x.name) thunarPlugins)})"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix b/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix new file mode 100644 index 000000000000..e8c7ac2b4948 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix @@ -0,0 +1,44 @@ +{ lib +, mkXfceDerivation +, ffmpegthumbnailer +, gdk-pixbuf +, glib +, freetype +, libgepub +, libgsf +, poppler +, gst_all_1 +, libxfce4util +}: + +# TODO: add libopenraw + +mkXfceDerivation { + category = "xfce"; + pname = "tumbler"; + version = "4.18.2"; + + sha256 = "sha256-thioE0q2qnV4weJFPz8OWoHIRuUcXnQEviwBtCWsSV4="; + + buildInputs = [ + libxfce4util + ffmpegthumbnailer + freetype + gdk-pixbuf + glib + gst_all_1.gst-plugins-base + libgepub # optional EPUB thumbnailer support + libgsf + poppler # technically the glib binding + ]; + + # WrapGAppsHook won't touch this binary automatically, so we wrap manually. + postFixup = '' + wrapProgram $out/lib/tumbler-1/tumblerd "''${gappsWrapperArgs[@]}" + ''; + + meta = with lib; { + description = "A D-Bus thumbnailer service"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix new file mode 100644 index 000000000000..e716fab959a0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix @@ -0,0 +1,17 @@ +{ lib, mkXfceDerivation, exo, garcon, gtk3, libxfce4util, libxfce4ui, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-appfinder"; + version = "4.18.1"; + + sha256 = "sha256-CZEX1PzFsVt72Fkb4+5PiZjAcDisvYnbzFGFXjFL4sc="; + + nativeBuildInputs = [ exo ]; + buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ]; + + meta = with lib; { + description = "Appfinder for the Xfce4 Desktop Environment"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix new file mode 100644 index 000000000000..7504c8e09d4c --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix @@ -0,0 +1,42 @@ +{ lib +, mkXfceDerivation +, autoreconfHook +, libxslt +, docbook_xsl +, autoconf +, automake +, glib +, gtk-doc +, intltool +, libtool +}: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-dev-tools"; + version = "4.18.1"; + + sha256 = "sha256-JUyFlifNVhSnIMaI9qmgCtGIgkpmzYybMfuhPgJiDOg="; + + nativeBuildInputs = [ + autoreconfHook + libxslt + docbook_xsl + ]; + + propagatedBuildInputs = [ + autoconf + automake + glib + gtk-doc + intltool + libtool + ]; + + setupHook = ./setup-hook.sh; + + meta = with lib; { + description = "Autoconf macros and scripts to augment app build systems"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh new file mode 100644 index 000000000000..05ddc6a172ff --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh @@ -0,0 +1,14 @@ +xdtEnvHook() { + addToSearchPath ACLOCAL_PATH $1/share/aclocal +} + +envHooks+=(xdtEnvHook) + +xdtAutogenPhase() { + mkdir -p m4 + NOCONFIGURE=1 xdt-autogen +} + +if [ -z "${dontUseXdtAutogenPhase-}" ]; then + preConfigurePhases+=(xdtAutogenPhase) +fi diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix new file mode 100644 index 000000000000..3d96f682dbca --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix @@ -0,0 +1,54 @@ +{ lib +, mkXfceDerivation +, exo +, garcon +, gobject-introspection +, gtk3 +, libdbusmenu-gtk3 +, libwnck +, libxfce4ui +, libxfce4util +, tzdata +, vala +, xfconf +}: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-panel"; + version = "4.18.6"; + + sha256 = "sha256-eQLz/LJIx2WkzcSLytRdJdhtGv0woT48mdqG7eHB0U4="; + + nativeBuildInputs = [ + gobject-introspection + vala + ]; + + buildInputs = [ + exo + garcon + libdbusmenu-gtk3 + libxfce4ui + libwnck + xfconf + tzdata + ]; + + propagatedBuildInputs = [ + gtk3 + libxfce4util + ]; + + patches = [ ./xfce4-panel-datadir.patch ]; + + postPatch = '' + substituteInPlace plugins/clock/clock.c \ + --replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + ''; + + meta = with lib; { + description = "Panel for the Xfce desktop environment"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch new file mode 100644 index 000000000000..ed9df9ef36f3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch @@ -0,0 +1,24 @@ +diff --git a/panel/panel-module-factory.c b/panel/panel-module-factory.c +index 529fe85..8c792b7 100644 +--- a/panel/panel-module-factory.c ++++ b/panel/panel-module-factory.c +@@ -39,6 +39,7 @@ + #include <panel/panel-module.h> + #include <panel/panel-module-factory.h> + ++#define DATADIR "/run/current-system/sw/share/xfce4" + #define PANEL_PLUGINS_DATA_DIR (DATADIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins") + #define PANEL_PLUGINS_DATA_DIR_OLD (DATADIR G_DIR_SEPARATOR_S "panel-plugins") + +diff --git a/panel/panel-module.c b/panel/panel-module.c +index ba39320..519440b 100644 +--- a/panel/panel-module.c ++++ b/panel/panel-module.c +@@ -35,6 +35,7 @@ + #include <panel/panel-plugin-external-wrapper.h> + #include <panel/panel-plugin-external-46.h> + ++#define LIBDIR "/run/current-system/sw/lib/xfce4" + #define PANEL_PLUGINS_LIB_DIR (LIBDIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins") + #define PANEL_PLUGINS_LIB_DIR_OLD (LIBDIR G_DIR_SEPARATOR_S "panel-plugins") + diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix new file mode 100644 index 000000000000..c483c58c8172 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix @@ -0,0 +1,41 @@ +{ lib +, mkXfceDerivation +, gtk3 +, libnotify +, libxfce4ui +, libxfce4util +, upower +, xfconf +, xfce4-panel +}: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-power-manager"; + version = "4.18.3"; + + sha256 = "sha256-CuW2siApho7u8P01t15dAiqNAiwQzAMZsEugYuKN4kM="; + + buildInputs = [ + gtk3 + libnotify + libxfce4ui + libxfce4util + upower + xfconf + xfce4-panel + ]; + + # 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\"" + ''; + + meta = with lib; { + description = "A power manager for the Xfce Desktop Environment"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix new file mode 100644 index 000000000000..73ce969d05f7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix @@ -0,0 +1,55 @@ +{ lib +, mkXfceDerivation +, fetchpatch +, polkit +, exo +, libxfce4util +, libxfce4ui +, xfconf +, iceauth +, gtk3 +, glib +, libwnck +, xfce4-session +}: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-session"; + version = "4.18.3"; + + 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="; + }) + ]; + + buildInputs = [ + exo + gtk3 + glib + libxfce4ui + libxfce4util + libwnck + xfconf + polkit + iceauth + ]; + + 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; { + description = "Session manager for Xfce"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix new file mode 100644 index 000000000000..31aa4bc2e98a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix @@ -0,0 +1,52 @@ +{ lib +, mkXfceDerivation +, exo +, garcon +, gtk3 +, glib +, libnotify +, libxfce4ui +, libxfce4util +, libxklavier +, upower +, xfconf +, xf86inputlibinput +}: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-settings"; + version = "4.18.4"; + + 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 + ''; + + buildInputs = [ + exo + garcon + glib + gtk3 + libnotify + libxfce4ui + libxfce4util + libxklavier + upower + xf86inputlibinput + xfconf + ]; + + configureFlags = [ + "--enable-pluggable-dialogs" + "--enable-sound-settings" + ]; + + meta = with lib; { + description = "Settings manager for Xfce"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix new file mode 100644 index 000000000000..45873f7ef248 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix @@ -0,0 +1,24 @@ +{ lib +, mkXfceDerivation +, libxfce4util +, gobject-introspection +, vala +}: + +mkXfceDerivation { + category = "xfce"; + pname = "xfconf"; + version = "4.18.3"; + + sha256 = "sha256-Iu/LHyk/lOvu8uJuJRDxIkabiX0vZB4H99vVKRiugVo="; + + nativeBuildInputs = [ gobject-introspection vala ]; + + buildInputs = [ libxfce4util ]; + + meta = with lib; { + description = "Simple client-server configuration storage and query system for Xfce"; + mainProgram = "xfconf-query"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix new file mode 100644 index 000000000000..ed36d2b92b73 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix @@ -0,0 +1,26 @@ +{ lib, mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck, xfconf, libnotify, garcon, thunar }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfdesktop"; + version = "4.18.1"; + + sha256 = "sha256-33G7X5kA3MCNJ9Aq9ZCafP0Qm/46iUmLFB8clhKwDz8="; + + buildInputs = [ + exo + gtk3 + libxfce4ui + libxfce4util + libwnck + xfconf + libnotify + garcon + thunar + ]; + + meta = with lib; { + description = "Xfce's desktop manager"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix new file mode 100644 index 000000000000..abd08f5a6f3d --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix @@ -0,0 +1,31 @@ +{ lib, mkXfceDerivation, exo, librsvg, dbus-glib, libepoxy, gtk3, libXdamage +, libstartup_notification, libxfce4ui, libxfce4util, libwnck +, libXpresent, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfwm4"; + version = "4.18.0"; + + sha256 = "sha256-nTPgxC0XMBJ48lPCeQgCvWWK1/2ZIoQOYsMeaxDpE1c="; + + nativeBuildInputs = [ exo librsvg ]; + + buildInputs = [ + dbus-glib + libepoxy + gtk3 + libXdamage + libstartup_notification + libxfce4ui + libxfce4util + libwnck + libXpresent + xfconf + ]; + + meta = with lib; { + description = "Window manager for Xfce"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/default.nix b/nixpkgs/pkgs/desktops/xfce/default.nix new file mode 100644 index 000000000000..a1416426a32a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/default.nix @@ -0,0 +1,176 @@ +{ config +, lib +, pkgs +, generateSplicesForMkScope +, makeScopeWithSplicing' +}: + +makeScopeWithSplicing' { + otherSplices = generateSplicesForMkScope "xfce"; + f = (self: + let + inherit (self) callPackage; + in + { + #### NixOS support + + genericUpdater = pkgs.genericUpdater; + + mkXfceDerivation = callPackage ./mkXfceDerivation.nix { }; + + #### CORE + + exo = callPackage ./core/exo { }; + + garcon = callPackage ./core/garcon { }; + + libxfce4ui = callPackage ./core/libxfce4ui { }; + + libxfce4util = callPackage ./core/libxfce4util { }; + + libxfce4windowing = callPackage ./core/libxfce4windowing { }; + + thunar = callPackage ./core/thunar { + thunarPlugins = [ ]; + }; + + thunar-volman = callPackage ./core/thunar-volman { }; + + thunar-archive-plugin = callPackage ./thunar-plugins/archive { }; + + thunar-dropbox-plugin = callPackage ./thunar-plugins/dropbox { }; + + thunar-media-tags-plugin = callPackage ./thunar-plugins/media-tags { }; + + tumbler = callPackage ./core/tumbler { }; + + xfce4-panel = callPackage ./core/xfce4-panel { }; + + xfce4-session = callPackage ./core/xfce4-session { }; + + xfce4-settings = callPackage ./core/xfce4-settings { }; + + xfce4-power-manager = callPackage ./core/xfce4-power-manager { }; + + xfconf = callPackage ./core/xfconf { }; + + xfdesktop = callPackage ./core/xfdesktop { }; + + xfwm4 = callPackage ./core/xfwm4 { }; + + xfce4-appfinder = callPackage ./core/xfce4-appfinder { }; + + xfce4-dev-tools = callPackage ./core/xfce4-dev-tools { + mkXfceDerivation = self.mkXfceDerivation.override { + xfce4-dev-tools = null; + }; + }; + + #### APPLICATIONS + + catfish = callPackage ./applications/catfish { }; + + gigolo = callPackage ./applications/gigolo { }; + + mousepad = callPackage ./applications/mousepad { }; + + orage = callPackage ./applications/orage { }; + + parole = callPackage ./applications/parole { }; + + ristretto = callPackage ./applications/ristretto { }; + + xfce4-taskmanager = callPackage ./applications/xfce4-taskmanager { }; + + xfce4-dict = callPackage ./applications/xfce4-dict { }; + + xfce4-terminal = callPackage ./applications/xfce4-terminal { }; + + xfce4-screensaver = callPackage ./applications/xfce4-screensaver { }; + + xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter { }; + + xfdashboard = callPackage ./applications/xfdashboard { }; + + xfce4-volumed-pulse = callPackage ./applications/xfce4-volumed-pulse { }; + + xfce4-notifyd = callPackage ./applications/xfce4-notifyd { }; + + xfburn = callPackage ./applications/xfburn { }; + + xfce4-panel-profiles = callPackage ./applications/xfce4-panel-profiles { }; + + #### ART + + xfce4-icon-theme = callPackage ./art/xfce4-icon-theme { }; + + xfwm4-themes = callPackage ./art/xfwm4-themes { }; + + #### PANEL PLUGINS + + xfce4-battery-plugin = callPackage ./panel-plugins/xfce4-battery-plugin { }; + + xfce4-clipman-plugin = callPackage ./panel-plugins/xfce4-clipman-plugin { }; + + xfce4-cpufreq-plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin { }; + + xfce4-cpugraph-plugin = callPackage ./panel-plugins/xfce4-cpugraph-plugin { }; + + xfce4-datetime-plugin = callPackage ./panel-plugins/xfce4-datetime-plugin { }; + + xfce4-dockbarx-plugin = callPackage ./panel-plugins/xfce4-dockbarx-plugin { }; + + xfce4-docklike-plugin = callPackage ./panel-plugins/xfce4-docklike-plugin { }; + + xfce4-embed-plugin = callPackage ./panel-plugins/xfce4-embed-plugin { }; + + xfce4-eyes-plugin = callPackage ./panel-plugins/xfce4-eyes-plugin { }; + + xfce4-fsguard-plugin = callPackage ./panel-plugins/xfce4-fsguard-plugin { }; + + xfce4-genmon-plugin = callPackage ./panel-plugins/xfce4-genmon-plugin { }; + + 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 { }; + + xfce4-mailwatch-plugin = callPackage ./panel-plugins/xfce4-mailwatch-plugin { }; + + xfce4-mpc-plugin = callPackage ./panel-plugins/xfce4-mpc-plugin { }; + + xfce4-sensors-plugin = callPackage ./panel-plugins/xfce4-sensors-plugin { }; + + xfce4-systemload-plugin = callPackage ./panel-plugins/xfce4-systemload-plugin { }; + + xfce4-time-out-plugin = callPackage ./panel-plugins/xfce4-time-out-plugin { }; + + xfce4-timer-plugin = callPackage ./panel-plugins/xfce4-timer-plugin { }; + + xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin { }; + + xfce4-xkb-plugin = callPackage ./panel-plugins/xfce4-xkb-plugin { }; + + xfce4-weather-plugin = callPackage ./panel-plugins/xfce4-weather-plugin { }; + + xfce4-whiskermenu-plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin { }; + + xfce4-windowck-plugin = callPackage ./panel-plugins/xfce4-windowck-plugin { }; + + xfce4-pulseaudio-plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin { }; + + } // lib.optionalAttrs config.allowAliases { + #### ALIASES + + automakeAddFlags = throw "xfce.automakeAddFlags has been removed: this setup-hook is no longer used in Nixpkgs"; # added 2024-03-24 + + xinitrc = self.xfce4-session.xinitrc; # added 2019-11-04 + + 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 + }); +} diff --git a/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix b/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix new file mode 100644 index 000000000000..17939e5e2058 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix @@ -0,0 +1,61 @@ +{ lib, stdenv, fetchFromGitLab, pkg-config, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook, gitUpdater }: + +{ category +, pname +, version +, attrPath ? "xfce.${pname}" +, rev-prefix ? "${pname}-" +, rev ? "${rev-prefix}${version}" +, sha256 +, odd-unstable ? true +, patchlevel-unstable ? true +, passthru ? { } +, meta ? { } +, ... +} @ args: + +let + inherit (builtins) filter getAttr head isList; + inherit (lib) attrNames concatLists recursiveUpdate zipAttrsWithNames; + + filterAttrNames = f: attrs: + filter (n: f (getAttr n attrs)) (attrNames attrs); + + concatAttrLists = attrsets: + zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets; + + template = { + nativeBuildInputs = [ pkg-config xfce4-dev-tools wrapGAppsHook ]; + buildInputs = [ hicolor-icon-theme ]; + configureFlags = [ "--enable-maintainer-mode" ]; + + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = category; + repo = pname; + inherit rev sha256; + }; + + enableParallelBuilding = true; + outputs = [ "out" "dev" ]; + + pos = builtins.unsafeGetAttrPos "pname" args; + + passthru = { + updateScript = gitUpdater { + inherit rev-prefix odd-unstable patchlevel-unstable; + }; + } // passthru; + + meta = with lib; { + homepage = "https://gitlab.xfce.org/${category}/${pname}"; + license = licenses.gpl2Plus; # some libraries are under LGPLv2+ + platforms = platforms.linux; + } // meta; + }; + + publicArgs = removeAttrs args [ "category" "sha256" ]; +in + +stdenv.mkDerivation (publicArgs // template // concatAttrLists [ template args ]) +# TODO [ AndersonTorres ]: verify if it allows using hash attribute as an option to sha256 diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix new file mode 100644 index 000000000000..e2a28c8bad8b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix @@ -0,0 +1,32 @@ +{ lib +, mkXfceDerivation +, glib +, gtk3 +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-battery-plugin"; + version = "1.1.5"; + rev-prefix = "xfce4-battery-plugin-"; + odd-unstable = false; + sha256 = "sha256-X5EGDZaPZdTxiLXyeLwnMx97P6wPy+H09hi9+OFYyY0="; + + buildInputs = [ + glib + gtk3 + libxfce4ui + libxfce4util + xfce4-panel + xfconf + ]; + + meta = with lib; { + description = "Battery plugin for Xfce panel"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix new file mode 100644 index 000000000000..74ff2d171044 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix @@ -0,0 +1,45 @@ +{ lib +, mkXfceDerivation +, wayland-scanner +, glib +, gtk3 +, libX11 +, libXtst +, libxfce4ui +, libxfce4util +, qrencode +, xfce4-panel +, xfconf +, wayland +, wlr-protocols +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-clipman-plugin"; + version = "1.6.6"; + sha256 = "sha256-wdEoM4etco+s0+dULkBvWJZ3WBCW3Ph2bdY0E/l5VRc="; + + nativeBuildInputs = [ + wayland-scanner + ]; + + buildInputs = [ + glib + gtk3 + libX11 + libXtst + libxfce4ui + libxfce4util + qrencode + xfce4-panel + xfconf + wayland + wlr-protocols + ]; + + meta = with lib; { + description = "Clipboard manager for Xfce panel"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix new file mode 100644 index 000000000000..bba028bfe536 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix @@ -0,0 +1,15 @@ +{ lib, mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-cpufreq-plugin"; + version = "1.2.8"; + sha256 = "sha256-wEVv3zBS9PRLOMusFPzTnffVDvTaBnTCyGjstJRQRCo="; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = with lib; { + description = "CPU Freq load plugin for Xfce panel"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix new file mode 100644 index 000000000000..f138d8418966 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix @@ -0,0 +1,38 @@ +{ lib +, mkXfceDerivation +, exo +, glib +, gtk3 +, libXtst +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +, xorgproto +}: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-cpugraph-plugin"; + version = "1.2.10"; + rev-prefix = "xfce4-cpugraph-plugin-"; + odd-unstable = false; + sha256 = "sha256-VPelWTtFHmU4ZgWLTzZKbtmQ4LOtVwJvpLG9rHtGoNs="; + + buildInputs = [ + exo + glib + gtk3 + libXtst + libxfce4ui + libxfce4util + xfce4-panel + xfconf + xorgproto + ]; + + meta = with lib; { + description = "CPU graph show for Xfce panel"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix new file mode 100644 index 000000000000..eaf090c348cf --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix @@ -0,0 +1,31 @@ +{ mkXfceDerivation +, lib +, intltool +, libxfce4ui +, xfce4-panel +, gettext +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-datetime-plugin"; + version = "0.8.3"; + + rev-prefix = "xfce4-datetime-plugin-"; + sha256 = "sha256-dpN5ZN7VjgO1GQ6v8NXuBKACyIwIosaiVGtmLEb6auI="; + + nativeBuildInputs = [ + gettext + intltool + ]; + + buildInputs = [ + libxfce4ui + xfce4-panel + ]; + + meta = with lib; { + description = "Shows the date and time in the panel, and a calendar appears when you left-click on it"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix new file mode 100644 index 000000000000..2dad2d688eca --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix @@ -0,0 +1,71 @@ +{ lib +, stdenv +, fetchFromGitHub +, bash +, cmake +, dockbarx +, gobject-introspection +, keybinder3 +, pkg-config +, python3Packages +, wrapGAppsHook +, xfce +}: + +stdenv.mkDerivation rec { + pname = "xfce4-dockbarx-plugin"; + version = "0.7.2"; + + src = fetchFromGitHub { + owner = "xuzhen"; + repo = "xfce4-dockbarx-plugin"; + rev = "v${version}"; + sha256 = "sha256-ZxaWORqA8LiM4CzakxClg5C6AsyHrzCGydgboCrC45g="; + }; + + pythonPath = [ + dockbarx + python3Packages.pygobject3 + ]; + + nativeBuildInputs = [ + cmake + gobject-introspection + pkg-config + python3Packages.wrapPython + wrapGAppsHook + ]; + + buildInputs = [ + keybinder3 + python3Packages.python + xfce.xfce4-panel + xfce.xfconf + ] + ++ pythonPath; + + postPatch = '' + # We execute the wrapped xfce4-panel-plug directly. + # Since argv is used for g_free() we also need to shift the indexes. + substituteInPlace src/xfce_panel_plugin.c \ + --replace '"python3",' "" \ + --replace "g_free(argv[3]);" "g_free(argv[2]);" \ + --replace "g_free(argv[5]);" "g_free(argv[4]);" + + patchShebangs src/xfce4-dockbarx-plug.py + ''; + + postFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + chmod +x $out/share/dockbarx/xfce4-panel-plug + wrapPythonProgramsIn "$out/share/dockbarx" "$out $pythonPath" + ''; + + meta = with lib; { + homepage = "https://github.com/xuzhen/xfce4-dockbarx-plugin"; + description = "Plugins to embed DockbarX into xfce4-panel"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix new file mode 100644 index 000000000000..0451afc54b22 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix @@ -0,0 +1,39 @@ +{ lib +, mkXfceDerivation +, cairo +, glib +, gtk3 +, libX11 +, libxfce4ui +, libxfce4util +, xfce4-panel +, libwnck +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-docklike-plugin"; + version = "0.4.2"; + sha256 = "sha256-M/V8cnEU/nSEDjQ3k8fWiklF5OuNg3uzzJMHBSZBiLU="; + + buildInputs = [ + cairo + glib + gtk3 + libX11 + libxfce4ui + libxfce4util + xfce4-panel + libwnck + ]; + + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-docklike-plugin/start"; + description = "A modern, minimalist taskbar for Xfce"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix new file mode 100644 index 000000000000..6d8e1199b99b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix @@ -0,0 +1,49 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, libxfce4ui +, gtk2 +, gitUpdater +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-embed-plugin"; + version = "1.6.0"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-x2ffY2DoGUsyvCSCPdAAl17boMr+Ulwj14VAKTWe4ig="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + gtk2 + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib;{ + homepage = "https://docs.xfce.org/panel-plugins/xfce4-embed-plugin"; + description = "Embed arbitrary app windows on Xfce panel"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + broken = true; # unmaintained plugin; no longer compatible with xfce 4.16 + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix new file mode 100644 index 000000000000..cbf526e3d98b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, libxfce4ui +, xfconf +, gtk3 +, gitUpdater +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-eyes-plugin"; + version = "4.6.0"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-rQ/wXYi6OTt8iSL4Iz7dM/wKTosAC2HeH486EMWuUyQ="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + xfconf + gtk3 + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-eyes-plugin"; + description = "Rolling eyes (following mouse pointer) plugin for the Xfce panel"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix new file mode 100644 index 000000000000..3abc25669e6b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix @@ -0,0 +1,52 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, libxfce4ui +, xfconf +, glib +, gtk3 +, gitUpdater +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-fsguard-plugin"; + version = "1.1.3"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-hO+LtHUiktZMDvEBut97FESHkL+gqF3mRNv6Iphuwlg="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + xfconf + glib + gtk3 + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-fsguard-plugin"; + description = "Filesystem usage monitor plugin for the Xfce panel"; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix new file mode 100644 index 000000000000..2219ce754af8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, xfconf +, libxfce4ui +, gtk3 +, gitUpdater +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-genmon-plugin"; + version = "4.2.0"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-lI0I7l8hQIR/EJtTG8HUzGJoSWkT6nYA08WtiQJaA2I="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + xfconf + gtk3 + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin"; + description = "Generic monitor plugin for the Xfce panel"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-i3-workspaces-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-i3-workspaces-plugin/default.nix new file mode 100644 index 000000000000..5a6794bf79af --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-i3-workspaces-plugin/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, gtk3 +, libxfce4ui, libxfce4util, xfce4-dev-tools, xfce4-panel +, i3ipc-glib +}: + +stdenv.mkDerivation rec { + pname = "xfce4-i3-workspaces-plugin"; + version = "1.4.2"; + + src = fetchFromGitHub { + owner = "denesb"; + repo = "xfce4-i3-workspaces-plugin"; + rev = version; + sha256 = "sha256-CKpofupoJhe5IORJgij6gOGotB+dGkUDtTUdon8/JdE="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + xfce4-dev-tools + ]; + + buildInputs = [ + gtk3 + libxfce4ui + libxfce4util + xfce4-panel + i3ipc-glib + ]; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "https://github.com/denesb/xfce4-i3-workspaces-plugin"; + description = "Workspace switcher plugin for xfce4-panel which can be used for the i3 window manager"; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ berbiche ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix new file mode 100644 index 000000000000..0a3e4029b347 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix @@ -0,0 +1,58 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, xfce4-panel +, libxfce4ui +, libxfce4util +, exo +, glib +, gtk3 +, gnutls +, libgcrypt +, gitUpdater +}: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-mailwatch-plugin"; + version = "1.3.1"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-BUlk6f5MpmhIZACZHOHqAdB6rHuiNfSxTUqPfZgABGo="; + }; + + nativeBuildInputs = [ + intltool + pkg-config + ]; + + buildInputs = [ + libxfce4ui + libxfce4util + xfce4-panel + exo + glib + gtk3 + gnutls + libgcrypt + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-mailwatch-plugin"; + description = "Mail watcher plugin for Xfce panel"; + license = licenses.gpl2Only; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix new file mode 100644 index 000000000000..6a1a750096f9 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix @@ -0,0 +1,52 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, libxfce4ui +, glib +, gtk3 +, gitUpdater +}: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-mpc-plugin"; + version = "0.5.3"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-BGf7TRrNmC08PguJy0EBmUaFBST/Ge0PZYqNVse3Zk0="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + glib + gtk3 + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-mpc-plugin"; + description = "MPD plugin for Xfce panel"; + platforms = platforms.linux; + license = licenses.bsd2; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix new file mode 100644 index 000000000000..032b29eaef3d --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix @@ -0,0 +1,43 @@ +{ 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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix new file mode 100644 index 000000000000..e1baf7137e4b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix @@ -0,0 +1,30 @@ +{ lib +, mkXfceDerivation +, glib +, gtk3 +, libxfce4ui +, libxfce4util +, xfce4-panel +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-netload-plugin"; + version = "1.4.1"; + rev-prefix = "xfce4-netload-plugin-"; + odd-unstable = false; + sha256 = "sha256-PwbyYi9EeSTKilVXlbseY2zkabcL7o2CGnk2DFFVI94="; + + buildInputs = [ + glib + gtk3 + libxfce4ui + libxfce4util + xfce4-panel + ]; + + meta = with lib; { + description = "Internet load speed plugin for Xfce4 panel"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix new file mode 100644 index 000000000000..4de8c0f77cda --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix @@ -0,0 +1,52 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, glib +, gtk3 +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +, gitUpdater +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-notes-plugin"; + version = "1.11.0"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-6zgkbesPyJU1+p/5uVPHYs7OIytVhdghD6uau/KCquM="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + glib + gtk3 + libxfce4ui + libxfce4util + xfce4-panel + xfconf + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-notes-plugin"; + description = "Sticky notes plugin for Xfce panel"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix new file mode 100644 index 000000000000..b14ebb67374a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix @@ -0,0 +1,44 @@ +{ lib +, mkXfceDerivation +, exo +, gtk3 +, libcanberra +, libpulseaudio +, libnotify +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +, keybinder3 +, glib +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-pulseaudio-plugin"; + version = "0.4.8"; + sha256 = "sha256-7vcjARm0O+/hVNFzOpxcgAnqD+wRNg5/eqXLcq4t/iU="; + + postPatch = '' + substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0 + ''; + + buildInputs = [ + exo + glib + gtk3 + keybinder3 + libcanberra + libnotify + libpulseaudio + libxfce4ui + libxfce4util + xfce4-panel + xfconf + ]; + + meta = with lib; { + description = "Adjust the audio volume of the PulseAudio sound system"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix new file mode 100644 index 000000000000..4a3148962efd --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix @@ -0,0 +1,54 @@ +{ lib, stdenv, fetchurl, pkg-config, intltool, gtk3, libxfce4ui, + libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu, gitUpdater +}: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-sensors-plugin"; + version = "1.4.4"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-bBYFpzjl30DghNCKyT+WLNRFCTOW3h6b+tx6tFiMNrY="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + gtk3 + libxfce4ui + libxfce4util + xfce4-panel + libnotify + lm_sensors + hddtemp + netcat-gnu + ]; + + enableParallelBuilding = true; + + configureFlags = [ + "--with-pathhddtemp=${hddtemp}/bin/hddtemp" + "--with-pathnetcat=${netcat-gnu}/bin/netcat" + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + 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"; + mainProgram = "xfce4-sensors"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix new file mode 100644 index 000000000000..9e1518f7be0a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix @@ -0,0 +1,46 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, xfce4-panel +, libxfce4ui +, xfconf +, gitUpdater +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-systemload-plugin"; + version = "1.3.2"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-uzA/wwIOBTrR+guPy/DXaBxVY7uPZJNX1qlaV3gCsHI="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4ui + xfce4-panel + xfconf + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-systemload-plugin"; + description = "System load plugin for Xfce panel"; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-time-out-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-time-out-plugin/default.nix new file mode 100644 index 000000000000..a5b656650170 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-time-out-plugin/default.nix @@ -0,0 +1,33 @@ +{ lib +, mkXfceDerivation +, glib +, gtk3 +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-time-out-plugin"; + version = "1.1.3"; + rev-prefix = "xfce4-time-out-plugin-"; + odd-unstable = false; + sha256 = "sha256-sm6y3t4nngZDg4Q8S3SVkNR++XkCKysQePN6Qei1OY8="; + + buildInputs = [ + glib + gtk3 + libxfce4ui + libxfce4util + xfce4-panel + xfconf + ]; + + meta = with lib; { + description = "Panel plug-in to take periodical breaks from the computer"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix new file mode 100644 index 000000000000..997377f42b3e --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix @@ -0,0 +1,56 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, libxfce4ui +, glib +, gtk3 +, hicolor-icon-theme +, gitUpdater +}: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-timer-plugin"; + version = "1.7.2"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-/rO4wtOVBegWaDVAoyJr172ocMy8tMfQ9qv+7/XFi30="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + glib + gtk3 + hicolor-icon-theme + ]; + + hardeningDisable = [ "format" ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-timer-plugin"; + description = "Simple countdown and alarm plugin for the Xfce panel"; + platforms = platforms.linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix new file mode 100644 index 000000000000..a76d3cdb5344 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix @@ -0,0 +1,30 @@ +{ lib +, mkXfceDerivation +, glib +, gtk3 +, libxfce4ui +, libxfce4util +, pcre2 +, xfce4-panel +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-verve-plugin"; + version = "2.0.3"; + sha256 = "sha256-K335cs1vWKTNQjZlSUuhK8OmgTsKSzN87IZwS4RtvB8="; + + buildInputs = [ + glib + gtk3 + libxfce4ui + libxfce4util + pcre2 + xfce4-panel + ]; + + meta = with lib; { + description = "A command-line plugin"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix new file mode 100644 index 000000000000..c76800fea4fc --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, glib +, gtk3 +, json_c +, libxml2 +, libsoup +, upower +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +, hicolor-icon-theme +, gitUpdater +}: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-weather-plugin"; + version = "0.11.2"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-ZdQK/3hjVQhYqfnStgVPJ8aaPn5xKZF4WYf5pzu6h2s="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + glib + gtk3 + json_c + libxml2 + libsoup + upower + libxfce4ui + libxfce4util + xfce4-panel + xfconf + hicolor-icon-theme + ]; + + enableParallelBuilding = true; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/${pname}"; + rev-prefix = "${pname}-"; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-weather-plugin"; + description = "Weather plugin for the Xfce desktop environment"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix new file mode 100644 index 000000000000..b1b068eaa55f --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix @@ -0,0 +1,48 @@ +{ mkXfceDerivation +, lib +, cmake +, accountsservice +, exo +, garcon +, gettext +, glib +, gtk-layer-shell +, gtk3 +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-whiskermenu-plugin"; + version = "2.8.3"; + rev-prefix = "v"; + odd-unstable = false; + sha256 = "sha256-xRLvjRu/I+wsTWXUhrJUcrQz+JkZCYqoJSqYAYOztgg="; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + accountsservice + exo + garcon + gettext + glib + gtk-layer-shell + gtk3 + libxfce4ui + libxfce4util + xfce4-panel + xfconf + ]; + + meta = with lib; { + description = "Alternate application launcher for Xfce"; + mainProgram = "xfce4-popup-whiskermenu"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix new file mode 100644 index 000000000000..6c0a7bafe39e --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix @@ -0,0 +1,47 @@ +{ stdenv +, lib +, fetchurl +, intltool +, pkg-config +, libwnck +, libxfce4ui +, xfce4-panel +, xfconf +, gitUpdater +}: + +stdenv.mkDerivation rec { + pname = "xfce4-windowck-plugin"; + version = "0.5.1"; + + src = fetchurl { + # Use dist tarballs to avoid pulling extra deps and generating images ourselves. + url = "mirror://xfce/src/panel-plugins/xfce4-windowck-plugin/${lib.versions.majorMinor version}/xfce4-windowck-plugin-${version}.tar.bz2"; + sha256 = "sha256-p4FEi3gemE072lmw2qsNGE1M7CJSMW9zcKxKmO/kgfQ="; + }; + + nativeBuildInputs = [ + intltool + pkg-config + ]; + + buildInputs = [ + libwnck + libxfce4ui + xfce4-panel + xfconf + ]; + + passthru.updateScript = gitUpdater { + url = "https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin"; + rev-prefix = "xfce4-windowck-plugin-"; + }; + + meta = with lib; { + description = "Xfce panel plugin for displaying window title and buttons"; + homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix new file mode 100644 index 000000000000..40ac161879b7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix @@ -0,0 +1,38 @@ +{ lib +, mkXfceDerivation +, gtk3 +, libnotify +, librsvg +, libwnck +, libxklavier +, garcon +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-xkb-plugin"; + version = "0.8.3"; + sha256 = "sha256-qWxjULrBpueQS3gxwRg49cQ3ovlQ8iWvYZ6Z/THm+/s="; + + buildInputs = [ + garcon + gtk3 + libnotify # optional notification support + librsvg + libxfce4ui + libxfce4util + libxklavier + libwnck + xfce4-panel + xfconf + ]; + + meta = with lib; { + description = "Allows you to setup and use multiple keyboard layouts"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix new file mode 100644 index 000000000000..99285b53cb61 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix @@ -0,0 +1,39 @@ +{ lib +, mkXfceDerivation +, gtk3 +, thunar +, exo +, libxfce4util +, intltool +, gettext +}: + +mkXfceDerivation { + category = "thunar-plugins"; + pname = "thunar-archive-plugin"; + version = "0.5.2"; + odd-unstable = false; + + sha256 = "sha256-vbuFosj2qxDus7vu9WfRiFpLwnTRnmLVGCDa0tNQecU="; + + nativeBuildInputs = [ + intltool + gettext + ]; + + buildInputs = [ + thunar + exo + gtk3 + libxfce4util + ]; + + preConfigure = '' + ./autogen.sh + ''; + + meta = with lib; { + description = "Thunar plugin providing file context menus for archives"; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix new file mode 100644 index 000000000000..5449eadc6d37 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix @@ -0,0 +1,43 @@ +{ lib, stdenv +, fetchFromGitHub +, pkg-config +, gtk3 +, thunar +, cmake +, ninja +, xfce +, gitUpdater +}: + +stdenv.mkDerivation rec { + pname = "thunar-dropbox"; + version = "0.3.1"; + + src = fetchFromGitHub { + owner = "Jeinzi"; + repo = "thunar-dropbox"; + rev = version; + sha256 = "sha256-q7tw/1JgEn9SyjH1KBZl0tintWJjd3ctUs4JUuCWULs="; + }; + + nativeBuildInputs = [ + pkg-config + cmake + ninja + ]; + + buildInputs = [ + thunar + gtk3 + ]; + + passthru.updateScript = gitUpdater { }; + + meta = with lib; { + homepage = "https://github.com/Jeinzi/thunar-dropbox"; + description = "A plugin that adds context-menu items for Dropbox to Thunar"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ ] ++ teams.xfce.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix new file mode 100644 index 000000000000..570f0aeafcfe --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix @@ -0,0 +1,37 @@ +{ lib +, mkXfceDerivation +, glib +, gtk3 +, thunar +, libxfce4util +, intltool +, gettext +, taglib +}: + +mkXfceDerivation { + category = "thunar-plugins"; + pname = "thunar-media-tags-plugin"; + version = "0.4.0"; + odd-unstable = false; + + sha256 = "sha256-2WA7EtDmNl8XP0wK00iyQcSqV3mnfHNJZTKhBJ/YWPQ="; + + nativeBuildInputs = [ + intltool + gettext + ]; + + buildInputs = [ + thunar + glib + gtk3 + libxfce4util + taglib + ]; + + meta = with lib; { + description = "Thunar plugin providing tagging and renaming features for media files"; + maintainers = with maintainers; [ ncfavier ] ++ teams.xfce.members; + }; +} |