diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/xfce')
70 files changed, 2569 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..df072f862080 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix @@ -0,0 +1,67 @@ +{ lib, fetchurl, file, which, intltool, gobject-introspection, + findutils, xdg-utils, dconf, gtk3, python3Packages, xfconf, + wrapGAppsHook +}: + +python3Packages.buildPythonApplication rec { + pname = "catfish"; + version = "4.16.2"; + + src = fetchurl { + url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-shouFRlD8LGU04sX/qrzghh5R+0SoCw9ZJKvt0gBKms="; + }; + + 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 + gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943 + ]; + + 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; + + meta = with lib; { + homepage = "https://docs.xfce.org/apps/catfish/start"; + description = "Handy file search tool"; + 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 = [ maintainers.romildo ]; + }; +} 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..84fec43b3c2a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix @@ -0,0 +1,17 @@ +{ lib, mkXfceDerivation, gtk3, glib }: + +mkXfceDerivation { + category = "apps"; + pname = "gigolo"; + version = "0.5.2"; + odd-unstable = false; + + sha256 = "sha256-8UDb4H3zxRKx2y+MRsozQoR3es0fs5ooR/5wBIE11bY="; + + buildInputs = [ gtk3 glib ]; + + meta = { + description = "A frontend to easily manage connections to remote filesystems"; + license = with lib.licenses; [ gpl2Only ]; + }; +} 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..c3e7805b112d --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix @@ -0,0 +1,21 @@ +{ mkXfceDerivation, gobject-introspection, gtk3, gtksourceview4, gspell }: + +mkXfceDerivation { + category = "apps"; + pname = "mousepad"; + version = "0.5.6"; + odd-unstable = false; + + sha256 = "sha256-cdM2NHUnN2FITITb4077Je5Z8xwZAJfjmwXfV+WE6jk="; + + nativeBuildInputs = [ gobject-introspection ]; + + buildInputs = [ gtk3 gtksourceview4 gspell ]; + + # Use the GSettings keyfile backend rather than DConf + configureFlags = [ "--enable-keyfile-settings" ]; + + meta = { + description = "Simple text editor for Xfce"; + }; +} 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..f2747c9c62a5 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/orage/default.nix @@ -0,0 +1,53 @@ +{ lib, stdenv, fetchurl, fetchpatch, pkg-config, intltool, dbus-glib, gtk2, libical, libnotify, tzdata +, popt, libxfce4ui, xfce4-panel, withPanelPlugin ? true, wrapGAppsHook, xfce }: + +assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null; + +let + inherit (lib) optionals; +in + +stdenv.mkDerivation rec { + pname = "orage"; + version = "4.12.1"; + + src = fetchurl { + url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-PPmqRBroPIaIhl+CIXAlzfPrqhUszkVxd3uMKqjdkGI="; + }; + + nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ]; + + buildInputs = [ dbus-glib gtk2 libical libnotify popt ] + ++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ]; + + 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" + substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + ''; + + postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources + + patches = [ + # Fix build with libical 3.0 + (fetchpatch { + name = "fix-libical3.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/libical3.patch?h=orage-4.10"; + sha256 = "sha256-bsnQMGmeo4mRNGM/7UYXez2bNopXMHRFX7VFVg0IGtE="; + }) + ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister "apps" pname; + }; + + meta = with lib; { + description = "Simple calendar application with reminders"; + homepage = "https://git.xfce.org/archive/orage/"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} 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..8ea2180dea28 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix @@ -0,0 +1,37 @@ +{ mkXfceDerivation, dbus, dbus-glib +, gst_all_1, gtk3, libnotify, 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.16.0"; + + sha256 = "sha256-9Rvhc8asFEb/+OU6uhuHKPl7w5mWBfzGP5ia0tiyDB4="; + + 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 + libxfce4ui + libxfce4util + taglib + xfconf + ]; + + meta = { + description = "Modern simple media player"; + }; +} 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..d938dc8a5282 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix @@ -0,0 +1,16 @@ +{ mkXfceDerivation, gtk3, glib, libexif +, libxfce4ui, libxfce4util, xfconf }: + +mkXfceDerivation { + category = "apps"; + pname = "ristretto"; + version = "0.11.0"; + + sha256 = "sha256-7hVoQ2cgWTTWMch9CSliAhRDh3qKrMzUaZeaN40l1x4="; + + buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ]; + + meta = { + description = "A fast and lightweight picture-viewer for the Xfce desktop environment"; + }; +} 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..f44769ddd69a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix @@ -0,0 +1,12 @@ +{ mkXfceDerivation, docbook_xsl, exo, gtk3, libburn, libisofs, libxfce4ui, libxslt }: + +mkXfceDerivation { + category = "apps"; + pname = "xfburn"; + version = "0.6.2"; + + sha256 = "sha256-AUonNhMs2HBF1WBLdZNYmASTOxYt6A6WDKNtvZaGXQk="; + + nativeBuildInputs = [ libxslt docbook_xsl ]; + buildInputs = [ exo gtk3 libburn libisofs libxfce4ui ]; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch new file mode 100644 index 000000000000..787b63511a23 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch @@ -0,0 +1,11 @@ +diff -urNZ a/configure.ac.in b/configure.ac.in +--- a/configure.ac.in 2017-12-16 19:46:13.784914017 +0000 ++++ b/configure.ac.in 2017-12-16 19:46:38.612477052 +0000 +@@ -53,6 +53,7 @@ + dnl *********************************** + dnl *** Check for required packages *** + dnl *********************************** ++XDT_CHECK_PACKAGE([GIO], [gio-unix-2.0], [2.32.0]) + XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.24.0]) + XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.20.0]) + XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.12.0]) 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..94f6f7c5dd5b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix @@ -0,0 +1,23 @@ +{ mkXfceDerivation, automakeAddFlags, gtk3, libxfce4ui, libxfce4util, xfce4-panel }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-dict"; + version = "0.8.4"; + + sha256 = "sha256-UEkHB+i6hkTTjX62GCnr4uiCdZANuffSx2Nb2DF/pT4="; + + patches = [ ./configure-gio.patch ]; + + nativeBuildInputs = [ automakeAddFlags ]; + + postPatch = '' + automakeAddFlags lib/Makefile.am libdict_la_CFLAGS GIO_CFLAGS + ''; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ]; + + meta = { + description = "A Dictionary Client for the Xfce desktop environment"; + }; +} 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..64fc7db4dbcc --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix @@ -0,0 +1,20 @@ +{ mkXfceDerivation, glib, gtk3, libnotify, libxfce4ui, libxfce4util +, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-notifyd"; + version = "0.6.2"; + + sha256 = "sha256-Gomehef68+mOgGFDaH48jG51nbaV4ruN925h71w7FuE="; + + buildInputs = [ gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ]; + + configureFlags = [ + "--enable-dbus-start-daemon" + ]; + + meta = { + description = "Simple notification daemon for Xfce"; + }; +} 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..3c7f99f7d3ac --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix @@ -0,0 +1,29 @@ +{ mkXfceDerivation, lib, python3, intltool, gettext, + gtk3, libxfce4ui, libxfce4util, pango, harfbuzz, gdk-pixbuf, atk }: + +let + pythonEnv = python3.withPackages(ps: [ ps.pygobject3 ]); + makeTypelibPath = lib.makeSearchPathOutput "lib/girepository-1.0" "lib/girepository-1.0"; +in mkXfceDerivation { + category = "apps"; + pname = "xfce4-panel-profiles"; + version = "1.0.13"; + + sha256 = "sha256-B3Q5d3KBN5m8wY82CIbIugJC8nNS+OcgKchn+TGrDhc="; + + 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 = { + description = "Simple application to manage Xfce panel layouts"; + }; +} 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..f381b2d61817 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix @@ -0,0 +1,16 @@ +{ mkXfceDerivation, exo, gtk3, libsoup, libxfce4ui, libxfce4util, xfce4-panel, glib-networking }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-screenshooter"; + version = "1.9.9"; + odd-unstable = false; + + sha256 = "sha256-QOYJl+bxRk0+spgtGADPgkw2lPLfQOwTZQuZNHWq39c="; + + buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ]; + + meta = { + description = "Screenshot utility for the Xfce desktop"; + }; +} 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..6c7e0b296819 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix @@ -0,0 +1,16 @@ +{ mkXfceDerivation, exo, gtk3, libwnck, libXmu }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-taskmanager"; + version = "1.4.2"; + + sha256 = "sha256-jcICXPtG/7t0U0xqgvU52mjiA8wsyw7JQ0OmNjwA89A="; + + nativeBuildInputs = [ exo ]; + buildInputs = [ gtk3 libwnck libXmu ]; + + meta = { + description = "Easy to use task manager for Xfce"; + }; +} 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..ce0c2d1f3cd3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix @@ -0,0 +1,17 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, vte, xfconf, pcre2, libxslt, docbook_xml_dtd_45, docbook_xsl }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-terminal"; + version = "0.8.10"; + + sha256 = "sha256-FINoED7C2PXeDJf9sKD7bk+b5FGZMMqXFe3i2zLDqGw="; + + nativeBuildInputs = [ libxslt docbook_xml_dtd_45 docbook_xsl ]; + + buildInputs = [ gtk3 libxfce4ui vte xfconf pcre2 ]; + + meta = { + description = "A modern terminal emulator"; + }; +} 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..fc9328e0e2f0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix @@ -0,0 +1,17 @@ +{ lib, mkXfceDerivation, gtk3, libnotify, libpulseaudio, keybinder3, xfconf }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-volumed-pulse"; + version = "0.2.3"; + + sha256 = "sha256-EgmTk19p9OBmz3rWQB0LoPhhoDm4u1V6/vvgitOzUuc="; + + buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ]; + + meta = with lib; { + description = "A volume keys control daemon for Xfce using pulseaudio"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.abbradar ]; + }; +} 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..527696c995ed --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix @@ -0,0 +1,45 @@ +{ mkXfceDerivation +, clutter +, libXcomposite +, libXinerama +, libXdamage +, libX11 +, libwnck +, libxfce4ui +, libxfce4util +, garcon +, xfconf +, gtk3 +, glib +, dbus-glib +}: + +mkXfceDerivation { + category = "apps"; + pname = "xfdashboard"; + version = "0.9.3"; + rev-prefix = ""; + odd-unstable = false; + + sha256 = "sha256-xoeqVsfvBH2zzQqDUJGiA47hgVvEkvVf9bNYQmyiytk="; + + buildInputs = [ + clutter + dbus-glib + garcon + glib + gtk3 + libX11 + libXcomposite + libXdamage + libXinerama + libwnck + libxfce4ui + libxfce4util + xfconf + ]; + + meta = { + description = "Gnome shell like dashboard"; + }; +} 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..6ece5d68c5fb --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchurl, pkg-config, intltool, gtk3, gnome-icon-theme, tango-icon-theme, hicolor-icon-theme, xfce }: + +let + category = "art"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-icon-theme"; + version = "4.4.3"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${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 = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category pname; + }; + + meta = with lib; { + homepage = "https://www.xfce.org/"; + description = "Icons for Xfce"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; + }; +} 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..5548be8f4abe --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchurl, xfce }: + +let + category = "art"; +in + +stdenv.mkDerivation rec { + pname = "xfwm4-themes"; + version = "4.10.0"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-MhTV8A6XA7XoyefDKH1gbe3scoXOtNXbMy6TraZv1XU="; + }; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category pname; + }; + + meta = with lib; { + homepage = "https://www.xfce.org/"; + description = "Themes for Xfce"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = [ maintainers.volth ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/automakeAddFlags.sh b/nixpkgs/pkgs/desktops/xfce/automakeAddFlags.sh new file mode 100644 index 000000000000..92d5659d05ca --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/automakeAddFlags.sh @@ -0,0 +1,7 @@ +automakeAddFlags() { + local file="$1" + local target="$2" + local source="$3" + + sed "/$target/a\$($source) \\\\" -i $file +} 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..3ab53444a41a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix @@ -0,0 +1,31 @@ +{ mkXfceDerivation, docbook_xsl, glib, libxslt, gtk3 +, libxfce4ui, libxfce4util, perl }: + +mkXfceDerivation { + category = "xfce"; + pname = "exo"; + version = "4.16.2"; + + sha256 = "sha256-O9Ak1sGxcSl9xB//+/vqJjXuEv9WIZlnliVPSKRIV2c="; + + 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 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = { + description = "Application library for Xfce"; + }; +} 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..a3ff8e0afd1f --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix @@ -0,0 +1,18 @@ +{ lib, mkXfceDerivation, gobject-introspection, gtk3, libxfce4ui, libxfce4util }: + +mkXfceDerivation { + category = "xfce"; + pname = "garcon"; + version = "4.16.1"; + + sha256 = "sha256-KimO6w82lkUBSzJbBMI3W8w1eXPARE1oVyJEUk6olow="; + + nativeBuildInputs = [ gobject-introspection ]; + + buildInputs = [ gtk3 libxfce4ui libxfce4util ]; + + meta = { + description = "Xfce menu support library"; + license = with lib.licenses; [ lgpl2Only fdl11Only ]; + }; +} 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..99cb0e7cc626 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix @@ -0,0 +1,23 @@ +{ lib, mkXfceDerivation, gobject-introspection, vala, gtk3, libICE, libSM +, libstartup_notification, libgtop, epoxy, libxfce4util, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "libxfce4ui"; + version = "4.16.0"; + + sha256 = "sha256-YmawNgkCM2xwoMKZrY9SxRhm2t0tsmk2j2+grW9zPCk="; + + nativeBuildInputs = [ gobject-introspection vala ]; + buildInputs = [ gtk3 libstartup_notification libgtop epoxy xfconf ]; + propagatedBuildInputs = [ libxfce4util libICE libSM ]; + + configureFlags = [ + "--with-vendor-info='NixOS'" + ]; + + meta = with lib; { + description = "Widgets library for Xfce"; + license = with licenses; [ lgpl2Plus lgpl21Plus ]; + }; +} 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..638c3a3158dd --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix @@ -0,0 +1,16 @@ +{ lib, mkXfceDerivation, gobject-introspection, vala }: + +mkXfceDerivation { + category = "xfce"; + pname = "libxfce4util"; + version = "4.16.0"; + + sha256 = "sha256-q2vH4k1OiergjITOaA9+m92C3Q/sbPoKVrAFxG60Gtw="; + + nativeBuildInputs = [ gobject-introspection vala ]; + + meta = with lib; { + description = "Extension library for Xfce"; + license = licenses.lgpl2Plus; + }; +} 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..31d25f97d37d --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix @@ -0,0 +1,17 @@ +{ mkXfceDerivation, exo, gtk3, libgudev, libxfce4ui, libxfce4util, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "thunar-volman"; + version = "4.16.0"; + + buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ]; + + sha256 = "sha256-A9APQ5FLshb+MXQErCExegax6hqbHnlfI2hgtnWfVgA="; + + odd-unstable = false; + + meta = { + description = "Thunar extension for automatic management of removable drives and media"; + }; +} 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..7efc64e942de --- /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.16.8"; + + sha256 = "sha256-KFx01vbVeGR+0U3DkUVRhO7pTv3R2h7qSe5VQE2b+OQ="; + + nativeBuildInputs = [ + docbook_xsl + gobject-introspection + libxslt + ]; + + buildInputs = [ + exo + gdk-pixbuf + gtk3 + libX11 + libgudev + libnotify + libxfce4ui + libxfce4util + pcre + xfconf + ]; + + patches = [ + ./thunarx_plugins_directory.patch + ]; + + # 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 = { + description = "Xfce file manager"; + }; +}; + +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/thunarx_plugins_directory.patch b/nixpkgs/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch new file mode 100644 index 000000000000..594a81c829ef --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch @@ -0,0 +1,48 @@ +diff --git a/thunarx/thunarx-provider-factory.c b/thunarx/thunarx-provider-factory.c +index 94b11545..1f66c982 100644 +--- a/thunarx/thunarx-provider-factory.c ++++ b/thunarx/thunarx-provider-factory.c +@@ -150,12 +150,19 @@ static GList* + thunarx_provider_factory_load_modules (ThunarxProviderFactory *factory) + { + ThunarxProviderModule *module; ++ const gchar *thunar_dir; + const gchar *name; + GList *modules = NULL; + GList *lp; + GDir *dp; + +- dp = g_dir_open (THUNARX_DIRECTORY, 0, NULL); ++ thunar_dir = g_getenv("THUNARX_MODULE_DIR"); ++ if (NULL == thunar_dir) ++ { ++ thunar_dir = THUNARX_DIRECTORY; ++ } ++ ++ dp = g_dir_open (thunar_dir, 0, NULL); + if (G_LIKELY (dp != NULL)) + { + /* determine the types for all existing plugins */ +diff --git a/thunarx/thunarx-provider-module.c b/thunarx/thunarx-provider-module.c +index 023ad2ae..b1d1be8f 100644 +--- a/thunarx/thunarx-provider-module.c ++++ b/thunarx/thunarx-provider-module.c +@@ -174,10 +174,17 @@ static gboolean + thunarx_provider_module_load (GTypeModule *type_module) + { + ThunarxProviderModule *module = THUNARX_PROVIDER_MODULE (type_module); ++ const gchar *thunar_dir; + gchar *path; + ++ thunar_dir = g_getenv("THUNARX_MODULE_DIR"); ++ if (NULL == thunar_dir) ++ { ++ thunar_dir = THUNARX_DIRECTORY; ++ } ++ + /* load the module using the runtime link editor */ +- path = g_build_filename (THUNARX_DIRECTORY, type_module->name, NULL); ++ path = g_build_filename (thunar_dir, type_module->name, NULL); + module->library = g_module_open (path, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL); + g_free (path); + 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..5381dceae4a4 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix @@ -0,0 +1,41 @@ +{ makeWrapper, symlinkJoin, thunar, thunarPlugins, lib }: + +symlinkJoin { + name = "thunar-with-plugins-${thunar.version}"; + + paths = [ thunar ] ++ thunarPlugins; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram "$out/bin/thunar" \ + --set "THUNARX_MODULE_DIR" "$out/lib/thunarx-3" + + wrapProgram "$out/bin/thunar-settings" \ + --set "THUNARX_MODULE_DIR" "$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..a9642b3b52c6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix @@ -0,0 +1,38 @@ +{ mkXfceDerivation +, ffmpegthumbnailer +, gdk-pixbuf +, glib +, freetype +, libgsf +, poppler +, gst_all_1 +}: + +# TODO: add libopenraw + +mkXfceDerivation { + category = "xfce"; + pname = "tumbler"; + version = "4.16.0"; + + sha256 = "sha256-JLcmYjStF9obDoRHsxnZ1e9HPTeJUVKjnn5Ip1BBmPw="; + + buildInputs = [ + ffmpegthumbnailer + freetype + gdk-pixbuf + glib + gst_all_1.gst-plugins-base + 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 = { + description = "A D-Bus thumbnailer service"; + }; +} 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..4d0f61863e7d --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix @@ -0,0 +1,16 @@ +{ mkXfceDerivation, exo, garcon, gtk3, libxfce4util, libxfce4ui, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-appfinder"; + version = "4.16.1"; + + sha256 = "sha256-Xr8iiCDQYmxiLR2+TeuJggV1dLM/U4b7u7kpvFWT+uQ="; + + nativeBuildInputs = [ exo ]; + buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ]; + + meta = { + description = "Appfinder for the Xfce4 Desktop Environment"; + }; +} 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..fc8263abb4fc --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix @@ -0,0 +1,40 @@ +{ mkXfceDerivation +, autoreconfHook +, libxslt +, docbook_xsl +, autoconf +, automake +, glib +, gtk-doc +, intltool +, libtool +}: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-dev-tools"; + version = "4.16.0"; + + sha256 = "sha256-5r9dJfCgXosXoOAtNg1kaPWgFEAmyw/pWTtdG+K1h3A="; + + nativeBuildInputs = [ + autoreconfHook + libxslt + docbook_xsl + ]; + + propagatedBuildInputs = [ + autoconf + automake + glib + gtk-doc + intltool + libtool + ]; + + setupHook = ./setup-hook.sh; + + meta = { + description = "Autoconf macros and scripts to augment app build systems"; + }; +} 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..3abf3172ea66 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh @@ -0,0 +1,12 @@ +xdtEnvHook() { + addToSearchPath ACLOCAL_PATH $1/share/aclocal +} + +envHooks+=(xdtEnvHook) + +xdtAutogenPhase() { + mkdir -p m4 + NOCONFIGURE=1 xdt-autogen +} + +preConfigurePhases+=(xdtAutogenPhase) 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..417241235b95 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix @@ -0,0 +1,57 @@ +{ mkXfceDerivation +, exo +, garcon +, glib +, gobject-introspection +, gtk3 +, libdbusmenu-gtk3 +, libwnck +, libxfce4ui +, libxfce4util +, tzdata +, vala +, xfconf +}: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-panel"; + version = "4.16.3"; + + sha256 = "sha256-PdE64WKdluKfof/l1wTPi7JdpJMYWIvi0yIdpyntsCA="; + + nativeBuildInputs = [ + gobject-introspection + vala + ]; + + buildInputs = [ + exo + garcon + libdbusmenu-gtk3 + libxfce4ui + libwnck + xfconf + tzdata + ]; + + propagatedBuildInputs = [ + glib + gtk3 + libxfce4util + ]; + + patches = [ ./xfce4-panel-datadir.patch ]; + + postPatch = '' + substituteInPlace plugins/clock/clock.c \ + --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + ''; + + # Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = { + description = "Panel for the Xfce desktop environment"; + }; +} 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..9877027c4033 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix @@ -0,0 +1,23 @@ +{ mkXfceDerivation, automakeAddFlags, exo, gtk3, libnotify +, libxfce4ui, libxfce4util, upower, xfconf, xfce4-panel }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-power-manager"; + version = "4.16.0"; + + sha256 = "sha256-Qk++1db+agiU99p+QW8/WNnNqFVejV/BcnmgvfoB3OU="; + + nativeBuildInputs = [ automakeAddFlags exo ]; + buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf xfce4-panel ]; + + postPatch = '' + substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0 + automakeAddFlags src/Makefile.am xfce4_power_manager_CFLAGS GIO_CFLAGS + automakeAddFlags settings/Makefile.am xfce4_power_manager_settings_CFLAGS GIO_CFLAGS + ''; + + meta = { + description = "A power manager for the Xfce Desktop Environment"; + }; +} 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..27eaf94b2599 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix @@ -0,0 +1,22 @@ +{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck, xfce4-session }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-session"; + version = "4.16.0"; + + sha256 = "sha256-LIRAQ1YAkAHwIzC5NYV/0iFLkAP5V96wuTIrYTGbGy0="; + + buildInputs = [ exo gtk3 glib libxfce4ui libxfce4util libwnck xfconf polkit iceauth ]; + + configureFlags = [ "--with-xsession-prefix=${placeholder "out"}" ]; + + # See https://github.com/NixOS/nixpkgs/issues/36468 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; + + meta = { + description = "Session manager for Xfce"; + }; +} 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..61382ba8c509 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix @@ -0,0 +1,40 @@ +{ mkXfceDerivation, exo, garcon, gtk3, glib +, libnotify, libxfce4ui, libxfce4util, libxklavier +, upower, xfconf, xf86inputlibinput }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-settings"; + version = "4.16.2"; + + sha256 = "sha256-DkybMfkgsC8fJuhOWLzKO5f2Y8YtqzUXMH/npTv21yY="; + + 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 = { + description = "Settings manager for Xfce"; + }; +} 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..f255c5e5e58b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix @@ -0,0 +1,17 @@ +{ mkXfceDerivation, libxfce4util, gobject-introspection, vala }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfconf"; + version = "4.16.0"; + + sha256 = "sha256-w8wnHFj1KBX6lCnGbVLgWPEo2ul4SwfemUYVHioTlwE="; + + nativeBuildInputs = [ gobject-introspection vala ]; + + buildInputs = [ libxfce4util ]; + + meta = { + description = "Simple client-server configuration storage and query system for Xfce"; + }; +} 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..bc6a19346ece --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix @@ -0,0 +1,25 @@ +{ mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck, xfconf, libnotify, garcon, thunar }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfdesktop"; + version = "4.16.0"; + + sha256 = "sha256-w/JNjyAlxZqfVpm8EBt+ieHhUziOtfd//XHzIjJjy/4="; + + buildInputs = [ + exo + gtk3 + libxfce4ui + libxfce4util + libwnck + xfconf + libnotify + garcon + thunar + ]; + + meta = { + description = "Xfce's desktop manager"; + }; +} 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..cc998487f165 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix @@ -0,0 +1,30 @@ +{ mkXfceDerivation, exo, librsvg, dbus-glib, epoxy, gtk3, libXdamage +, libstartup_notification, libxfce4ui, libxfce4util, libwnck +, libXpresent, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfwm4"; + version = "4.16.1"; + + sha256 = "sha256-CwRJk+fqu3iC4Vb6fKGOIZZk2hxTqYF3sNvm6WKqHdI="; + + nativeBuildInputs = [ exo librsvg ]; + + buildInputs = [ + dbus-glib + epoxy + gtk3 + libXdamage + libstartup_notification + libxfce4ui + libxfce4util + libwnck + libXpresent + xfconf + ]; + + meta = { + description = "Window manager for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/default.nix b/nixpkgs/pkgs/desktops/xfce/default.nix new file mode 100644 index 000000000000..ccbeff5c37cb --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/default.nix @@ -0,0 +1,226 @@ +{ config, lib, pkgs }: + +lib.makeScope pkgs.newScope (self: with self; { + #### NixOS support + + updateScript = pkgs.genericUpdater; + + gitLister = url: + "${pkgs.common-updater-scripts}/bin/list-git-tags ${url}"; + + archiveLister = category: name: + "${pkgs.common-updater-scripts}/bin/list-archive-two-level-versions https://archive.xfce.org/src/${category}/${name}"; + + mkXfceDerivation = callPackage ./mkXfceDerivation.nix { }; + + automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh; + + #### CORE + + exo = callPackage ./core/exo { }; + + garcon = callPackage ./core/garcon { }; + + libxfce4ui = callPackage ./core/libxfce4ui { }; + + libxfce4util = callPackage ./core/libxfce4util { }; + + 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 = 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-screenshooter = callPackage ./applications/xfce4-screenshooter { + inherit (pkgs.gnome) libsoup; + }; + + 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-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-hardware-monitor-plugin = callPackage ./panel-plugins/xfce4-hardware-monitor-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-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 or true) { + #### ALIASES - added 2018-01 + + terminal = xfce4-terminal; + thunar-build = thunar-bare; + thunarx-2-dev = thunar-build; + thunar_volman = thunar-volman; + xfce4panel = xfce4-panel; + xfce4session = xfce4-session; + xfce4settings = xfce4-settings; + xfce4_power_manager = xfce4-power-manager; + xfce4_appfinder = xfce4-appfinder; + xfce4_dev_tools = xfce4-dev-tools; + xfce4mixer = xfce4-mixer; + xfce4mixer_pulse = xfce4-mixer-pulse; + xfce4notifyd = xfce4-notifyd; + xfce4taskmanager = xfce4-taskmanager; + xfce4terminal = xfce4-terminal; + xfce4volumed_pulse = xfce4-volumed-pulse; + xfce4icontheme = xfce4-icon-theme; + xfwm4themes = xfwm4-themes; + + xfce4_battery_plugin = xfce4-battery-plugin; + xfce4_clipman_plugin = xfce4-clipman-plugin; + xfce4_cpufreq_plugin = xfce4-cpufreq-plugin; + xfce4_cpugraph_plugin = xfce4-cpugraph-plugin; + xfce4_datetime_plugin = xfce4-datetime-plugin; + xfce4_dockbarx_plugin = xfce4-dockbarx-plugin; + xfce4_embed_plugin = xfce4-embed-plugin; + xfce4_eyes_plugin = xfce4-eyes-plugin; + xfce4_fsguard_plugin = xfce4-fsguard-plugin; + xfce4_genmon_plugin = xfce4-genmon-plugin; + xfce4_hardware_monitor_plugin = xfce4-hardware-monitor-plugin; + xfce4_namebar_plugin = xfce4-namebar-plugin; + xfce4_netload_plugin = xfce4-netload-plugin; + xfce4_notes_plugin = xfce4-notes-plugin; + xfce4_mailwatch_plugin = xfce4-mailwatch-plugin; + xfce4_mpc_plugin = xfce4-mpc-plugin; + xfce4_sensors_plugin = xfce4-sensors-plugin; + xfce4_systemload_plugin = xfce4-systemload-plugin; + xfce4_timer_plugin = xfce4-timer-plugin; + xfce4_verve_plugin = xfce4-verve-plugin; + xfce4_xkb_plugin = xfce4-xkb-plugin; + xfce4_weather_plugin = xfce4-weather-plugin; + xfce4_whiskermenu_plugin = xfce4-whiskermenu-plugin; + xfce4_windowck_plugin = xfce4-windowck-plugin; + xfce4_pulseaudio_plugin = xfce4-pulseaudio-plugin; + + xfce4-mixer = throw "deprecated 2019-08-18: obsoleted by xfce4-pulseaudio-plugin"; # added 2019-08-18 + gtk-xfce-engine = throw "deprecated 2019-09-17: Xfce 4.14 deprecated gtk-xfce-engine"; # added 2019-09-17 + xfce4-dict-plugin = throw "deprecated 2020-04-19: xfce4-dict-plugin is now part of xfce4-dict."; # added 2020-04-19 + + # added 2019-11-04 + libxfce4ui_gtk3 = libxfce4ui; + xfce4panel_gtk3 = xfce4-panel; + xfce4_power_manager_gtk3 = xfce4-power-manager; + gtk = pkgs.gtk2; + libxfcegui4 = throw "libxfcegui4 is the deprecated Xfce GUI library. It has been superseded by the libxfce4ui library"; + xinitrc = xfce4-session.xinitrc; + inherit (pkgs.gnome2) libglade; + inherit (pkgs.gnome) vte gtksourceview; + xfce4-mixer-pulse = xfce4-mixer; + thunar-bare = thunar.override { + thunarPlugins = []; + }; + + # added 2019-11-30 + inherit (pkgs) dconf; +}) diff --git a/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix b/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix new file mode 100644 index 000000000000..8ff0d83cae38 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix @@ -0,0 +1,60 @@ +{ lib, stdenv, fetchFromGitLab, pkg-config, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook }: + +{ category +, pname +, version +, attrPath ? "xfce.${pname}" +, rev-prefix ? "${pname}-" +, rev ? "${rev-prefix}${version}" +, sha256 +, odd-unstable ? true +, patchlevel-unstable ? true +, ... +} @ 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 = rec { + inherit pname version; + + 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 = xfce.updateScript { + inherit pname version attrPath rev-prefix odd-unstable patchlevel-unstable; + versionLister = xfce.gitLister src.meta.homepage; + }; + + meta = with lib; { + homepage = "https://gitlab.xfce.org/${category}/${pname}"; + license = licenses.gpl2Plus; # some libraries are under LGPLv2+ + platforms = platforms.linux; + }; + }; + + publicArgs = removeAttrs args [ "category" "pname" "sha256" ]; +in + +stdenv.mkDerivation (recursiveUpdate template publicArgs // 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..ffb0118edee8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix @@ -0,0 +1,16 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-battery-plugin"; + version = "1.1.4"; + rev-prefix = "xfce4-battery-plugin-"; + odd-unstable = false; + sha256 = "sha256-LwwlyWhtVM+OHR9KtE4DPyU5V/dMOjcgSjsI3o7qfk8="; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = { + description = "Battery plugin for Xfce panel"; + }; +} 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..7f18009c51d2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix @@ -0,0 +1,14 @@ +{ mkXfceDerivation, libXtst, libxfce4ui, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-clipman-plugin"; + version = "1.6.2"; + sha256 = "sha256-RpFVJSq/DxyA5ne1h+Nr3xfL+DTzg1cTqIDVOPC/pF4="; + + buildInputs = [ libXtst libxfce4ui xfce4-panel xfconf ]; + + meta = { + description = "Clipboard manager for Xfce panel"; + }; +} 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..358d2b64e446 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix @@ -0,0 +1,14 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-cpufreq-plugin"; + version = "1.2.5"; + sha256 = "sha256-r783SIGbVKxmLjCxexrMWjYdK7EgbgcHDFTG8KGjWMc="; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = { + description = "CPU Freq load plugin for Xfce panel"; + }; +} 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..1a8842f5c86e --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, glib +, exo +, libXtst +, xorgproto +, libxfce4util +, xfce4-panel +, libxfce4ui +, xfconf +, gtk3 +, hicolor-icon-theme +, xfce +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-cpugraph-plugin"; + version = "1.2.3"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-+wzM2aZ4E2JW7dDwT5ReYRqwqpEoN/V0E+87sPUVYIw="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + glib + exo + libXtst + xorgproto + libxfce4util + libxfce4ui + xfce4-panel + xfconf + gtk3 + hicolor-icon-theme + ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category pname; + }; + + meta = with lib; { + homepage = "https://docs.xfce.org/panel-plugins/xfce4-cpugraph-plugin"; + description = "CPU graph show for Xfce panel"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ ]; + }; +} 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..2626ea749971 --- /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.1"; + + rev-prefix = "xfce4-datetime-plugin-"; + sha256 = "sha256-qmZit7cCGnVTzdzPTiAiruBWlMLWzZEXJtFqAesaARo="; + + 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 = [ ]; + }; +} 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..41f71ec2f907 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix @@ -0,0 +1,69 @@ +{ lib +, stdenv +, fetchFromGitHub +, bash +, dockbarx +, gobject-introspection +, keybinder3 +, pkg-config +, python3Packages +, vala_0_48 +, wafHook +, wrapGAppsHook +, xfce +}: + +stdenv.mkDerivation rec { + pname = "xfce4-dockbarx-plugin"; + version = "${ver}-${rev}"; + ver = "0.6"; + rev = "5213876151f1836f044e9902a22d1e682144c1e0"; + + src = fetchFromGitHub { + owner = "xuzhen"; + repo = "xfce4-dockbarx-plugin"; + rev = rev; + sha256 = "sha256-VqtGcBRjvpCO9prVHOv6Gt1rAZtcAgkQkVCoR6ykC2k="; + }; + + pythonPath = [ + dockbarx + python3Packages.pygobject3 + ]; + + nativeBuildInputs = [ + gobject-introspection + pkg-config + python3Packages.wrapPython + vala_0_48 + wafHook + wrapGAppsHook + ]; + + buildInputs = [ + keybinder3 + python3Packages.python + xfce.xfce4-panel + xfce.xfconf + ] + ++ pythonPath; + + postPatch = '' + substituteInPlace wscript --replace /usr/share/ "\''${PREFIX}/share/" + substituteInPlace src/dockbarx.vala --replace /usr/share/ $out/share/ + substituteInPlace src/dockbarx.vala --replace '/usr/bin/env python3' ${bash}/bin/bash + ''; + + postFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$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 = [ maintainers.romildo ]; + }; +} 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..00738ccbc629 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, libxfce4ui +, gtk2 +, xfce +}: + +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 = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ ]; + }; +} 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..4bc039940489 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, libxfce4ui +, xfconf +, gtk3 +, xfce +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-eyes-plugin"; + version = "4.5.1"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-TbeAF45Sk5HVPaGA5JOGkE5ppaM7O9UYWDXQp+b/WsU="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + xfconf + gtk3 + ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ ]; + }; +} 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..1e98a5a62121 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, libxfce4ui +, xfconf +, gtk3 +, xfce +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-fsguard-plugin"; + version = "1.1.2"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-Z9jmohmnEXxZaTrbxZw5puujHj8YpUmRie9O8otVQQU="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + xfconf + gtk3 + ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ ]; + }; +} 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..e190df90b83b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix @@ -0,0 +1,49 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, libxfce4util +, xfce4-panel +, libxfce4ui +, gtk3 +, xfce +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-genmon-plugin"; + version = "4.1.1"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-shGf0P8Z+ik7l+yXsN6OJBeZ4IuGIYUVFnxWi9m1ATU="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + gtk3 + ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix new file mode 100644 index 000000000000..8ff68c21d61b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchurl, pkg-config, intltool, autoreconfHook, gnome2, gtkmm2, + libgtop, libxfce4ui, libxfce4util, xfce4-panel, lm_sensors, xfce +}: + +stdenv.mkDerivation rec { + pname = "xfce4-hardware-monitor-plugin"; + version = "1.6.0"; + + src = fetchurl { + url = "https://git.xfce.org/archive/${pname}/snapshot/${pname}-${version}.tar.gz"; + sha256 = "sha256-aLpNY+qUhmobGb8OkbjtJxQMDO9xSlvurVjNLgOpZ4Y="; + }; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + intltool + ]; + + buildInputs = [ + gtkmm2 + gnome2.libgnomecanvas + gnome2.libgnomecanvasmm + libgtop + libxfce4ui + libxfce4util + xfce4-panel + lm_sensors + ]; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "https://goodies.xfce.org/projects/panel-plugins/xfce4-hardware-monitor-plugin"; + description = "Hardware monitor plugin for the XFCE4 panel"; + license = licenses.gpl3Only; + platforms = platforms.unix; + broken = true; # unmaintained plugin; no longer compatible with xfce 4.16 + maintainers = [ maintainers.romildo ]; + }; +} 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..136b91a8a2f8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-i3-workspaces-plugin/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, gtk3 +, libxfce4ui, libxfce4util, xfconf, xfce4-dev-tools, xfce4-panel +, i3ipc-glib +}: + +stdenv.mkDerivation rec { + pname = "xfce4-i3-workspaces-plugin"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "denesb"; + repo = "xfce4-i3-workspaces-plugin"; + rev = version; + sha256 = "sha256-+tjxMr0UbE3BLdxBwNr2mZqKSQOOtw69FmN4rk4loyA="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + gtk3 + xfconf + libxfce4ui + libxfce4util + xfce4-dev-tools + xfce4-panel + i3ipc-glib + ]; + + preConfigure = '' + ./autogen.sh + patchShebangs . + ''; + + 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 = [ maintainers.berbiche ]; + }; +} 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..56d9a15aaada --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchurl, pkg-config, intltool, xfce4-panel, libxfce4ui, + exo, gnutls, libgcrypt, xfce }: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-mailwatch-plugin"; + version = "1.3.0"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-IPkevv0ogLJ/Qh93MRWzdA9n3iv2D+rOOEG/0aCcvi4="; + }; + + nativeBuildInputs = [ + intltool + pkg-config + ]; + + buildInputs = [ + libxfce4ui + xfce4-panel + exo + gnutls + libgcrypt + ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ ]; + }; +} 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..8012b14b1389 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchurl, pkg-config, intltool, libxfce4util, xfce4-panel, + libxfce4ui, gtk3, exo, xfce }: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-mpc-plugin"; + version = "0.5.2"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-7v54t7a5UxKzpSgUt/Yy3JKXDBs+lTXeYWMVdJv2d2A="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + gtk3 + exo + ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ ]; + }; +} 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..baba34212fdc --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, pkg-config, fetchFromGitHub, python3, vala_0_46 +, gtk3, libwnck, libxfce4util, xfce4-panel, wafHook, xfce }: + +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_0_46 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 = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.gitLister src.meta.homepage; + 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 = [ maintainers.volth ]; + }; +} 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..dc39001b8089 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix @@ -0,0 +1,16 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-netload-plugin"; + version = "1.4.0"; + rev-prefix = "xfce4-netload-plugin-"; + odd-unstable = false; + sha256 = "sha256-HasaMymMCPidYkaAUK4gvD+Ka7NJdFOTeq43gJ1G3jo="; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = { + description = "Internet load speed plugin for Xfce4 panel"; + }; +} 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..6e84c83eafcc --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, xfce4-panel +, libxfce4ui +, xfconf +, xfce +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-notes-plugin"; + version = "1.9.0"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-E/kJyUi2Oflt5kz3k+t0yxd5WJIB05M+/yFO6PNasIg="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4ui + xfce4-panel + xfconf + ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ ]; + }; +} 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..ab3983721611 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix @@ -0,0 +1,49 @@ +{ mkXfceDerivation +, automakeAddFlags +, dbus-glib +, dbus +, exo +, gtk3 +, libpulseaudio +, libnotify +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +, keybinder3 +, glib +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-pulseaudio-plugin"; + version = "0.4.3"; + sha256 = "sha256-+E1pyDP140xUbYPZXhdiEjdU0t8Un+IjV7Ek+hAX3OU="; + + nativeBuildInputs = [ + automakeAddFlags + ]; + + NIX_CFLAGS_COMPILE = "-I${dbus-glib.dev}/include/dbus-1.0 -I${dbus.dev}/include/dbus-1.0"; + + postPatch = '' + substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0 + ''; + + buildInputs = [ + exo + glib + gtk3 + keybinder3 + libnotify + libpulseaudio + libxfce4ui + libxfce4util + xfce4-panel + xfconf + ]; + + meta = { + description = "Adjust the audio volume of the PulseAudio sound system"; + }; +} 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..3e592b60f141 --- /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, xfce +}: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-sensors-plugin"; + version = "1.4.1"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-N9DcVp5zXkgqGFRcJOsc4CKdaRDjpNTB3uBoCZkjS+I="; + }; + + 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 = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} 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..092985f5acd2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, xfce4-panel +, libxfce4ui +, xfconf +, xfce +}: + +let + category = "panel-plugins"; +in stdenv.mkDerivation rec { + pname = "xfce4-systemload-plugin"; + version = "1.3.1"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-VtEAeAHVLXwrWhO7VHRfbX8G/aKLSc6TYUVjMGiBdlI="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4ui + xfce4-panel + xfconf + ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ ]; + }; +} 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..a31824ab771a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchurl, pkg-config, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk3, hicolor-icon-theme, xfce }: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-timer-plugin"; + version = "1.7.1"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-S1LSkRsZSelFlxvmUzFV7mupnHcHjqx/1DsPKuyoJOM="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxfce4util + libxfce4ui + xfce4-panel + gtk3 + hicolor-icon-theme + ]; + + hardeningDisable = [ "format" ]; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ ]; + }; +} 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..838dba46c880 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix @@ -0,0 +1,25 @@ +{ lib +, mkXfceDerivation +, gtk3 +, libxfce4ui +, pcre +, libxfce4util +, xfce4-panel +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-verve-plugin"; + version = "2.0.1"; + rev-prefix = ""; + sha256 = "sha256-YwUOSTZMoHsWWmi/ajQv/fX8a0IJoc3re3laVEmnX/M="; + + buildInputs = [ gtk3 libxfce4ui pcre libxfce4util xfce4-panel ]; + + hardeningDisable = [ "format" ]; + + meta = with lib; { + description = "A command-line plugin"; + maintainers = with maintainers; [ ]; + }; +} 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..d300329d2876 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix @@ -0,0 +1,47 @@ +{ lib, stdenv, fetchurl, pkg-config, intltool, libxml2, libsoup, upower, + libxfce4ui, xfce4-panel, xfconf, hicolor-icon-theme, xfce }: + +let + category = "panel-plugins"; +in + +stdenv.mkDerivation rec { + pname = "xfce4-weather-plugin"; + version = "0.11.0"; + + src = fetchurl { + url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-4yQuqVHVG8D97R0CpPH2Yr7Bah+xDIVfcb2mVBoRU/w="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + libxml2 + libsoup + upower + libxfce4ui + xfce4-panel + xfconf + hicolor-icon-theme + ]; + + enableParallelBuilding = true; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.archiveLister category 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 = [ maintainers.romildo ]; + }; +} 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..b9d6f5b23eb5 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix @@ -0,0 +1,28 @@ +{ mkXfceDerivation, gettext, gtk3, glib, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-whiskermenu-plugin"; + version = "2.5.3"; + rev-prefix = "v"; + odd-unstable = false; + sha256 = "sha256-Hw4vdFChKOqllsxMS2Bi7UL48a3Z6oB8oCPKWwa8bJY="; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ gettext exo garcon gtk3 glib libxfce4ui libxfce4util xfce4-panel xfconf ]; + + postPatch = '' + substituteInPlace panel-plugin/xfce4-popup-whiskermenu.in \ + --replace gettext ${gettext}/bin/gettext + ''; + + postInstall = '' + substituteInPlace $out/bin/xfce4-popup-whiskermenu \ + --replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel + ''; + + meta = { + description = "Alternate application launcher for Xfce"; + }; +} 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..8f4751b1737b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix @@ -0,0 +1,50 @@ +{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, python3, imagemagick, libwnck, libxfce4ui, xfce4-panel, xfconf, xfce4-dev-tools, xfce }: + +stdenv.mkDerivation rec { + pname = "xfce4-windowck-plugin"; + version = "0.4.10"; + + src = fetchFromGitHub { + owner = "invidian"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-luCQzqWX3Jl2MlBa3vi1q7z1XOhpFxE8PUxscoIyBlA="; + }; + + nativeBuildInputs = [ + pkg-config + intltool + ]; + + buildInputs = [ + python3 + imagemagick + libwnck + libxfce4ui + xfce4-panel + xfconf + xfce4-dev-tools + ]; + + preConfigure = '' + ./autogen.sh + patchShebangs . + ''; + + enableParallelBuilding = true; + + passthru.updateScript = xfce.updateScript { + inherit pname version; + attrPath = "xfce.${pname}"; + versionLister = xfce.gitLister src.meta.homepage; + rev-prefix = "v"; + }; + + meta = with lib; { + homepage = "https://goodies.xfce.org/projects/panel-plugins/xfce4-windowck-plugin"; + description = "Xfce plugins which allows to put the maximized window title and buttons on the panel"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = [ maintainers.volth ]; + }; +} 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..8145f1a2af06 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix @@ -0,0 +1,37 @@ +{ lib +, mkXfceDerivation +, gtk3 +, librsvg +, libwnck +, libxklavier +, garcon +, libxfce4ui +, libxfce4util +, xfce4-panel +, xfconf +}: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-xkb-plugin"; + version = "0.8.2"; + rev-prefix = ""; + sha256 = "sha256-xmCoNMxykeaThYEJo6BcbraFo9CruFZL6YPjovzb6hg="; + + buildInputs = [ + garcon + gtk3 + librsvg + libxfce4ui + libxfce4util + libxklavier + libwnck + xfce4-panel + xfconf + ]; + + meta = with lib; { + description = "Allows you to setup and use multiple keyboard layouts"; + maintainers = [ ]; + }; +} 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..53d18b4d9b36 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix @@ -0,0 +1,37 @@ +{ lib +, mkXfceDerivation +, gtk3 +, thunar +, exo +, libxfce4util +, intltool +, gettext +}: + +mkXfceDerivation { + category = "thunar-plugins"; + pname = "thunar-archive-plugin"; + version = "0.4.0"; + + sha256 = "sha256-aEAErm87K2k8TAz2ZtMQEhmzhOeR2hkJjcoBUFn8I50="; + + nativeBuildInputs = [ + intltool + gettext + ]; + + buildInputs = [ + thunar + exo + gtk3 + libxfce4util + ]; + + preConfigure = '' + ./autogen.sh + ''; + + meta = with lib; { + description = "Thunar plugin providing file context menus for archives"; + }; +} 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..3e8004d3d538 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix @@ -0,0 +1,45 @@ +{ lib, stdenv +, fetchFromGitHub +, pkg-config +, gtk3 +, thunar +, cmake +, ninja +, xfce +}: + +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 = xfce.updateScript { + inherit pname version; + attrPath = "xfce.thunar-dropbox-plugin"; + versionLister = xfce.gitLister src.meta.homepage; + }; + + 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; + }; +} 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..0ae0c3523365 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix @@ -0,0 +1,36 @@ +{ lib +, mkXfceDerivation +, gtk3 +, thunar +, exo +, libxfce4util +, intltool +, gettext +, taglib +}: + +mkXfceDerivation { + category = "thunar-plugins"; + pname = "thunar-media-tags-plugin"; + version = "0.3.0"; + + sha256 = "sha256-jtgcHH5U5GOvzDVUwPEreMtTdk5DT6sXvFPDbzbF684="; + + nativeBuildInputs = [ + intltool + gettext + ]; + + buildInputs = [ + thunar + exo + gtk3 + libxfce4util + taglib + ]; + + meta = with lib; { + description = "Thunar plugin providing tagging and renaming features for media files"; + maintainers = with maintainers; [ ncfavier ]; + }; +} |