push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
{
stdenv,
lib,
fetchFromGitLab,
gobject-introspection,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
glib,
gtk3,
python3,
xfconf,
shared-mime-info,
xdg-utils,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "catfish";
version = "4.20.1";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "catfish";
rev = "catfish-${finalAttrs.version}";
hash = "sha256-mTAunc1GJLkSu+3oWD5+2sCQemWdVsUURlP09UkbVyw=";
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
glib
gtk3
(python3.withPackages (p: [
p.dbus-python
p.pygobject3
p.pexpect
]))
xfconf
];
postPatch = ''
substituteInPlace catfish/CatfishWindow.py \
--replace-fail "/usr/share/mime" "${shared-mime-info}/share/mime"
'';
preFixup = ''
# For xdg-mime and xdg-open.
gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ xdg-utils ]}")
'';
passthru.updateScript = gitUpdater { rev-prefix = "catfish-"; };
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;
teams = [ teams.xfce ];
};
})

View File

@@ -0,0 +1,51 @@
{
stdenv,
lib,
fetchFromGitLab,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
gtk3,
glib,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gigolo";
version = "0.6.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "gigolo";
tag = "gigolo-${finalAttrs.version}";
hash = "sha256-tyFjVvtDE25y6rnmlESdl8s/GdyHGqbn2Dn/ymIIgWs=";
};
strictDeps = true;
nativeBuildInputs = [
glib # glib-compile-resources
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtk3
glib
];
passthru.updateScript = gitUpdater { rev-prefix = "gigolo-"; };
meta = {
description = "Frontend to easily manage connections to remote filesystems";
homepage = "https://gitlab.xfce.org/apps/gigolo";
license = lib.licenses.gpl2Plus;
mainProgram = "gigolo";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,67 @@
{
stdenv,
lib,
fetchFromGitLab,
glib,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
gspell,
gtk3,
gtksourceview4,
libxfce4ui,
xfconf,
enablePolkit ? true,
polkit,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mousepad";
version = "0.6.5";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "mousepad";
tag = "mousepad-${finalAttrs.version}";
hash = "sha256-5ywpQY4KUnjFCLSAXQo3huzZf94YHK9SLmkkNtfx4Ho=";
};
strictDeps = true;
nativeBuildInputs = [
glib # glib-compile-schemas
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
glib
gspell
gtk3
gtksourceview4
libxfce4ui # for shortcut plugin
xfconf # required by libxfce4kbd-private-3
]
++ lib.optionals enablePolkit [
polkit
];
# Use the GSettings keyfile backend rather than the default
mesonFlags = [ "-Dkeyfile-settings=true" ];
passthru.updateScript = gitUpdater { rev-prefix = "mousepad-"; };
meta = {
description = "Simple text editor for Xfce";
homepage = "https://gitlab.xfce.org/apps/mousepad";
license = lib.licenses.gpl2Plus;
mainProgram = "mousepad";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
mkXfceDerivation,
glib,
gtk3,
libical,
libnotify,
libxfce4ui,
libxfce4util,
tzdata,
}:
mkXfceDerivation {
category = "apps";
pname = "orage";
version = "4.20.2";
sha256 = "sha256-iV4eVYmOXfEpq5cnHeCXRvx0Ms0Dis3EIwbcSakGLXs=";
buildInputs = [
glib
gtk3
libical
libnotify
libxfce4ui
libxfce4util
];
postPatch = ''
substituteInPlace src/parameters.c --replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
substituteInPlace src/tz_zoneinfo_read.c --replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
meta = with lib; {
description = "Simple calendar application for Xfce";
mainProgram = "orage";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,73 @@
{
stdenv,
lib,
fetchFromGitLab,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
dbus,
dbus-glib,
gst_all_1,
glib,
gtk3,
libnotify,
libX11,
libxfce4ui,
libxfce4util,
taglib,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "parole";
version = "4.20.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "parole";
tag = "parole-${finalAttrs.version}";
hash = "sha256-I1wZsuZ/NM5bH6QTJpwd5WL9cIGNtkAxA2j5vhhdaTE=";
};
strictDeps = true;
nativeBuildInputs = [
dbus-glib # dbus-binding-tool
glib # glib-genmarshal
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
dbus
dbus-glib
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-ugly
glib
gtk3
libnotify
libX11
libxfce4ui
libxfce4util
taglib
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "parole-"; };
meta = {
description = "Modern simple media player";
homepage = "https://gitlab.xfce.org/apps/parole";
license = lib.licenses.gpl2Plus;
mainProgram = "parole";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,83 @@
{
stdenv,
lib,
fetchFromGitLab,
glib,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
cairo,
exo,
gtk3,
libexif,
libxfce4ui,
libxfce4util,
xfconf,
gnome,
libheif,
libjxl,
librsvg,
webp-pixbuf-loader,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ristretto";
version = "0.13.4";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "ristretto";
tag = "ristretto-${finalAttrs.version}";
hash = "sha256-X0liZddeEOxlo0tyn3Irvo0+MTnMFuvKY2m4h+/EI2E=";
};
strictDeps = true;
nativeBuildInputs = [
glib # glib-compile-schemas
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
cairo
exo
glib
gtk3
libexif
libxfce4ui
libxfce4util
xfconf
];
postInstall = ''
# Pull in HEIF, JXL and WebP support for ristretto.
# In postInstall to run before gappsWrapperArgsHook.
export GDK_PIXBUF_MODULE_FILE="${
gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
extraLoaders = [
libheif.out
libjxl
librsvg
webp-pixbuf-loader
];
}
}"
'';
passthru.updateScript = gitUpdater { rev-prefix = "ristretto-"; };
meta = {
description = "Fast and lightweight picture-viewer for the Xfce desktop environment";
homepage = "https://gitlab.xfce.org/apps/ristretto";
license = lib.licenses.gpl2Plus;
mainProgram = "ristretto";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,70 @@
{
stdenv,
lib,
fetchFromGitLab,
docbook_xsl,
glib,
libxslt,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
exo,
gst_all_1,
gtk3,
libburn,
libgudev,
libisofs,
libxfce4ui,
libxfce4util,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfburn";
version = "0.8.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfburn";
tag = "xfburn-${finalAttrs.version}";
hash = "sha256-10MjUxy1Ul6CVLdEWFnjppgsI4fAUWqkT2azJBzp0/Q=";
};
strictDeps = true;
nativeBuildInputs = [
docbook_xsl
glib # glib-genmarshal
libxslt # xsltproc
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
exo
glib
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gtk3
libburn
libgudev
libisofs
libxfce4ui
libxfce4util
];
passthru.updateScript = gitUpdater { rev-prefix = "xfburn-"; };
meta = {
description = "Disc burner and project creator for Xfce";
homepage = "https://gitlab.xfce.org/apps/xfburn";
license = lib.licenses.gpl2Plus;
mainProgram = "xfburn";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,57 @@
{
stdenv,
lib,
fetchFromGitLab,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
glib,
gtk3,
libxfce4ui,
libxfce4util,
xfce4-panel,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-dict";
version = "0.8.9";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfce4-dict";
tag = "xfce4-dict-${finalAttrs.version}";
hash = "sha256-cl5TnPlgGUZ4esdkptyXO+LagdAboSzR4m0cCre9RHA=";
};
strictDeps = true;
nativeBuildInputs = [
glib # glib-compile-resources
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
glib
gtk3
libxfce4ui
libxfce4util
xfce4-panel
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-dict-"; };
meta = {
description = "Dictionary Client for the Xfce desktop environment";
homepage = "https://gitlab.xfce.org/apps/xfce4-dict";
license = lib.licenses.gpl2Plus;
mainProgram = "xfce4-dict";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,51 @@
{
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.7";
odd-unstable = false;
sha256 = "sha256-pgdoy3mZOGMOBwK/cYEl8fre4fZo2lfyWzZnrSYlQ64=";
buildInputs = [
dbus
gtk3
gtk-layer-shell
glib
libcanberra-gtk3
libnotify
libX11
libxfce4ui
libxfce4util
sqlite
xfce4-panel
xfconf
];
configureFlags = [
"--enable-dbus-start-daemon"
"--enable-sound"
];
meta = with lib; {
description = "Simple notification daemon for Xfce";
mainProgram = "xfce4-notifyd-config";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,67 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
gobject-introspection,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
glib,
gtk3,
libxfce4ui,
libxfce4util,
python3,
gitUpdater,
}:
let
pythonEnv = python3.withPackages (ps: [
ps.pygobject3
ps.psutil
]);
in
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-panel-profiles";
version = "1.1.1";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfce4-panel-profiles";
rev = "xfce4-panel-profiles-${finalAttrs.version}";
hash = "sha256-4sUNlabWp6WpBlePVFHejq/+TXiJYSQTnZFp5B258Wc=";
};
nativeBuildInputs = [
gettext
gobject-introspection
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
glib
gtk3
libxfce4ui
libxfce4util
pythonEnv
];
mesonFlags = [
"-Dpython-path=${lib.getExe pythonEnv}"
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-panel-profiles-"; };
meta = with lib; {
homepage = "https://docs.xfce.org/apps/xfce4-panel-profiles/start";
description = "Simple application to manage Xfce panel layouts";
mainProgram = "xfce4-panel-profiles";
teams = [ teams.xfce ];
platforms = platforms.linux;
};
})

View File

@@ -0,0 +1,96 @@
{
stdenv,
lib,
fetchFromGitLab,
docbook_xml_dtd_412,
docbook-xsl-ns,
gettext,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
xmlto,
dbus-glib,
garcon,
glib,
gtk3,
libX11,
libXScrnSaver,
libXrandr,
libwnck,
libxfce4ui,
libxfce4util,
libxklavier,
pam,
python3,
systemd,
xfconf,
xfdesktop,
gitUpdater,
}:
let
# For xfce4-screensaver-configure
pythonEnv = python3.withPackages (pp: [ pp.pygobject3 ]);
in
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-screensaver";
version = "4.20.1";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfce4-screensaver";
tag = "xfce4-screensaver-${finalAttrs.version}";
hash = "sha256-FdO6fZTKBPjncjBBe2rK5DSfVLHTRFpo9NtgZ5nFgRU=";
};
strictDeps = true;
nativeBuildInputs = [
docbook_xml_dtd_412
docbook-xsl-ns
gettext
glib # glib-compile-resources
meson
ninja
pkg-config
wrapGAppsHook3
xmlto
];
buildInputs = [
dbus-glib
garcon
glib
gtk3
libX11
libXScrnSaver
libXrandr
libwnck
libxfce4ui
libxfce4util
libxklavier
pam
pythonEnv
systemd
xfconf
];
preFixup = ''
# For default wallpaper.
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${xfdesktop}/share")
'';
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-screensaver-"; };
meta = {
homepage = "https://gitlab.xfce.org/apps/xfce4-screensaver";
description = "Screensaver for Xfce";
license = lib.licenses.gpl2Plus;
mainProgram = "xfce4-screensaver";
maintainers = with lib.maintainers; [ symphorien ];
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,99 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
glib,
meson,
ninja,
pkg-config,
wayland-scanner,
wrapGAppsHook3,
exo,
gtk3,
libX11,
libXext,
libXfixes,
libXtst,
libxfce4ui,
libxfce4util,
wayland,
wlr-protocols,
xfce4-panel,
xfconf,
curl,
zenity,
jq,
xclip,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-screenshooter";
version = "1.11.2";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfce4-screenshooter";
tag = "xfce4-screenshooter-${finalAttrs.version}";
hash = "sha256-LELPY3SU25e3Dk9/OljWMLIbZYrDiQD1h6dMq+jRaH8=";
};
strictDeps = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
gettext
glib # glib-compile-resources
meson
ninja
pkg-config
wayland-scanner
wrapGAppsHook3
];
buildInputs = [
exo
gtk3
libX11
libXext
libXfixes
libXtst
libxfce4ui
libxfce4util
wayland
wlr-protocols
xfce4-panel
xfconf
];
preFixup = ''
# For Imgur upload action
# https://gitlab.xfce.org/apps/xfce4-screenshooter/-/merge_requests/51
gappsWrapperArgs+=(
--prefix PATH : ${
lib.makeBinPath [
curl
zenity
jq
xclip
]
}
)
'';
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-screenshooter-"; };
meta = {
description = "Screenshot utility for the Xfce desktop";
homepage = "https://gitlab.xfce.org/apps/xfce4-screenshooter";
license = lib.licenses.gpl2Plus;
mainProgram = "xfce4-screenshooter";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,65 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
glib,
gtk3,
libxfce4ui,
libxfce4util,
xfconf,
libwnck,
libX11,
libXmu,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-taskmanager";
version = "1.6.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfce4-taskmanager";
tag = "xfce4-taskmanager-${finalAttrs.version}";
hash = "sha256-HQsZ7SmOX8Z5yuQUe+AvQFx+HVWNRRHEO7dE5DnfT/8=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
glib # glib-compile-resources
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
glib
gtk3
libxfce4ui
libxfce4util
xfconf
libwnck
libX11
libXmu
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-taskmanager-"; };
meta = {
description = "Easy to use task manager for Xfce";
homepage = "https://gitlab.xfce.org/apps/xfce4-taskmanager";
license = lib.licenses.gpl2Plus;
mainProgram = "xfce4-taskmanager";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,75 @@
{
stdenv,
lib,
fetchFromGitLab,
docbook_xml_dtd_45,
docbook_xsl,
glib,
libxslt, # xsltproc
meson,
ninja,
pkg-config,
wrapGAppsHook3,
gtk3,
gtk-layer-shell,
libutempter,
libX11,
libxfce4ui,
pcre2,
vte,
xfconf,
nixosTests,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-terminal";
version = "1.1.5";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfce4-terminal";
tag = "xfce4-terminal-${finalAttrs.version}";
hash = "sha256-qNXrxUjmuY6+k95/zcOu1/CUfhb1u0Ca91aFD3c4uoc=";
};
strictDeps = true;
nativeBuildInputs = [
docbook_xml_dtd_45
docbook_xsl
glib # glib-mkenums
libxslt # xsltproc
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
glib
gtk3
gtk-layer-shell
libutempter
libX11
libxfce4ui
pcre2
vte
xfconf
];
passthru = {
tests.test = nixosTests.terminal-emulators.xfce4-terminal;
updateScript = gitUpdater { rev-prefix = "xfce4-terminal-"; };
};
meta = {
description = "Modern terminal emulator";
homepage = "https://gitlab.xfce.org/apps/xfce4-terminal";
license = lib.licenses.gpl2Plus;
mainProgram = "xfce4-terminal";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,59 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
gtk3,
libnotify,
libpulseaudio,
keybinder3,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-volumed-pulse";
version = "0.3.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfce4-volumed-pulse";
tag = "xfce4-volumed-pulse-${finalAttrs.version}";
hash = "sha256-TdvqvlpNDs9i7IzegqGYTdvy2OVMdQUFvuENNmpkqAY=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtk3
libnotify
libpulseaudio
keybinder3
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-volumed-pulse-"; };
meta = {
description = "Volume keys control daemon for Xfce using pulseaudio";
homepage = "https://gitlab.xfce.org/apps/xfce4-volumed-pulse";
mainProgram = "xfce4-volumed-pulse";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,88 @@
{
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
clutter,
gettext,
libXcomposite,
libXinerama,
libXdamage,
libX11,
libwnck,
libxfce4ui,
libxfce4util,
garcon,
xfconf,
gtk3,
glib,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfdashboard";
version = "1.1.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfdashboard";
tag = "xfdashboard-${finalAttrs.version}";
hash = "sha256-D8Tue+45CO5yy7sxealKQoFQZobCiDUzoxCsDksTTxI=";
};
patches = [
# Exit early if not on X11
(fetchpatch {
url = "https://gitlab.xfce.org/apps/xfdashboard/-/commit/7452a7074dfc36c5af42c4105aadaac8656c2f60.patch";
hash = "sha256-u0djTProV3On0uutg89Q+psgmVGJS768KwiYxZ7dhrE=";
})
# build: Fix version/so_version inversion
(fetchpatch {
url = "https://gitlab.xfce.org/apps/xfdashboard/-/commit/20f23e62576d186fada6688af3bb05bc7f223f44.patch";
hash = "sha256-C2oIBi9tfoQF123Ez3YbFUs8vX2DeYdr3BDc85ExTgQ=";
})
];
strictDeps = true;
nativeBuildInputs = [
gettext
glib # glib-genmarshal
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
clutter
garcon
glib
gtk3
libX11
libXcomposite
libXdamage
libXinerama
libwnck
libxfce4ui
libxfce4util
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "xfdashboard-"; };
meta = {
description = "GNOME shell like dashboard";
homepage = "https://gitlab.xfce.org/apps/xfdashboard";
license = lib.licenses.gpl2Plus;
mainProgram = "xfdashboard";
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,67 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook3,
libxfce4util,
libxfce4ui,
gtk3,
glib,
libmpd,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfmpc";
version = "0.4.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfmpc";
tag = "xfmpc-${finalAttrs.version}";
hash = "sha256-fYK8JbWFnkzFpgfmSHa6usnlke4G7pxmdSm7kEQsL5M=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
vala
wrapGAppsHook3
# Needed both here and in buildInputs for cross compilation to work
# as they failed to find native vapigen and thus not building the
# *.vapi files (this should be fixed when these libraries are built
# with meson).
libxfce4ui
libxfce4util
];
buildInputs = [
gtk3
glib
libxfce4ui
libxfce4util
libmpd
];
passthru.updateScript = gitUpdater { rev-prefix = "xfmpc-"; };
meta = {
description = "MPD client written in GTK";
homepage = "https://docs.xfce.org/apps/xfmpc/start";
changelog = "https://gitlab.xfce.org/apps/xfmpc/-/blob/xfmpc-${finalAttrs.version}/NEWS";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ doronbehar ];
teams = [ lib.teams.xfce ];
mainProgram = "xfmpc";
};
})

View File

@@ -0,0 +1,49 @@
{
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;
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,28 @@
{
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;
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
mkXfceDerivation,
docbook_xsl,
glib,
libxslt,
gtk3,
libxfce4ui,
libxfce4util,
perl,
}:
mkXfceDerivation {
category = "xfce";
pname = "exo";
version = "4.20.0";
sha256 = "sha256-mlGsFaKy96eEAYgYYqtEI4naq5ZSEe3V7nsWGAEucn0=";
nativeBuildInputs = [
libxslt
docbook_xsl
perl
];
buildInputs = [
gtk3
glib
libxfce4ui
libxfce4util
];
meta = with lib; {
description = "Application library for Xfce";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,40 @@
{
stdenv,
lib,
mkXfceDerivation,
gtk3,
libxfce4ui,
libxfce4util,
withIntrospection ?
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
buildPackages,
gobject-introspection,
}:
mkXfceDerivation {
category = "xfce";
pname = "garcon";
version = "4.20.0";
sha256 = "sha256-MeZkDb2QgGMaloO6Nwlj9JmZByepd6ERqpAWqrVv1xw=";
nativeBuildInputs = lib.optionals withIntrospection [
gobject-introspection
];
buildInputs = [
gtk3
libxfce4ui
libxfce4util
];
meta = with lib; {
description = "Xfce menu support library";
license = with licenses; [
lgpl2Only
fdl11Only
];
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,66 @@
{
stdenv,
mkXfceDerivation,
lib,
perl,
libICE,
libSM,
libepoxy,
libgtop,
libgudev,
libstartup_notification,
xfconf,
gtk3,
libxfce4util,
withIntrospection ?
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
buildPackages,
gobject-introspection,
vala,
}:
mkXfceDerivation {
category = "xfce";
pname = "libxfce4ui";
version = "4.20.2";
sha256 = "sha256-NsTrJ2271v8vMMyiEef+4Rs0KBOkSkKPjfoJdgQU0ds=";
nativeBuildInputs = [
perl
]
++ lib.optionals withIntrospection [
gobject-introspection
vala # vala bindings require GObject introspection
];
buildInputs = [
libICE
libSM
libepoxy
libgtop
libgudev
libstartup_notification
xfconf
];
propagatedBuildInputs = [
gtk3
libxfce4util
];
configureFlags = [
"--with-vendor-info=NixOS"
];
meta = with lib; {
description = "Widgets library for Xfce";
mainProgram = "xfce4-about";
license = with licenses; [
lgpl2Plus
lgpl21Plus
];
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,44 @@
{
stdenv,
mkXfceDerivation,
lib,
python3,
vala,
glib,
withIntrospection ?
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
buildPackages,
gobject-introspection,
}:
mkXfceDerivation {
category = "xfce";
pname = "libxfce4util";
version = "4.20.1";
sha256 = "sha256-QlT5ev4NhjR/apbgYQsjrweJ2IqLySozLYLzCAnmkfM=";
nativeBuildInputs = [
python3
]
++ lib.optionals withIntrospection [
gobject-introspection
vala # vala bindings require GObject introspection
];
propagatedBuildInputs = [
glib
];
postPatch = ''
patchShebangs xdt-gen-visibility
'';
meta = with lib; {
description = "Extension library for Xfce";
mainProgram = "xfce4-kiosk-query";
license = licenses.lgpl2Plus;
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,59 @@
{
stdenv,
lib,
mkXfceDerivation,
python3,
wayland-scanner,
glib,
gtk3,
libdisplay-info,
libwnck,
libX11,
libXrandr,
wayland,
wayland-protocols,
wlr-protocols,
withIntrospection ?
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
buildPackages,
gobject-introspection,
}:
mkXfceDerivation {
category = "xfce";
pname = "libxfce4windowing";
version = "4.20.4";
sha256 = "sha256-8iLkljuGyJ4giVN5yuOFuTZsrdr8U3avTS/1aRSpaxc=";
nativeBuildInputs = [
python3
wayland-scanner
]
++ lib.optionals withIntrospection [
gobject-introspection
];
buildInputs = [
glib
gtk3
libdisplay-info
libwnck
libX11
libXrandr
wayland
wayland-protocols
wlr-protocols
];
postPatch = ''
patchShebangs xdt-gen-visibility
'';
meta = {
description = "Windowing concept abstraction library for X11 and Wayland";
license = lib.licenses.lgpl21Plus;
teams = [ lib.teams.xfce ];
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
mkXfceDerivation,
exo,
gtk3,
libgudev,
libxfce4ui,
libxfce4util,
xfconf,
}:
mkXfceDerivation {
category = "xfce";
pname = "thunar-volman";
version = "4.20.0";
buildInputs = [
exo
gtk3
libgudev
libxfce4ui
libxfce4util
xfconf
];
sha256 = "sha256-XIVs/vRwy3QJQW/U7eLBvGdzplWlhdxn3f1lyTQsmpE=";
odd-unstable = false;
meta = with lib; {
description = "Thunar extension for automatic management of removable drives and media";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,77 @@
{
stdenv,
mkXfceDerivation,
lib,
docbook_xsl,
exo,
gdk-pixbuf,
gtk3,
libexif,
libgudev,
libnotify,
libX11,
libxfce4ui,
libxfce4util,
libxslt,
pcre2,
xfce4-panel,
xfconf,
withIntrospection ? false,
gobject-introspection,
}:
mkXfceDerivation {
category = "xfce";
pname = "thunar";
version = "4.20.5";
sha256 = "sha256-Q8gzXRR2ZO98rbHhxnf472d8rGOLqEv7WP6LDONRgS0=";
nativeBuildInputs = [
docbook_xsl
libxslt
]
++ lib.optionals withIntrospection [
gobject-introspection
];
buildInputs = [
exo
gdk-pixbuf
gtk3
libX11
libexif # image properties page
libgudev
libnotify
libxfce4ui
libxfce4util
pcre2 # search & replace renamer
xfce4-panel # trash panel applet plugin
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
'';
preFixup = ''
gappsWrapperArgs+=(
# https://github.com/NixOS/nixpkgs/issues/329688
--prefix PATH : ${lib.makeBinPath [ exo ]}
)
'';
meta = with lib; {
description = "Xfce file manager";
mainProgram = "thunar";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
makeWrapper,
symlinkJoin,
thunar-unwrapped,
thunarPlugins ? [ ],
}:
let
thunar = thunar-unwrapped;
in
if thunarPlugins == [ ] then
thunar
else
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
teams
;
description =
thunar.meta.description
+
optionalString (0 != length thunarPlugins)
" (with plugins: ${concatStringsSep ", " (map (x: x.name) thunarPlugins)})";
};
}

View File

@@ -0,0 +1,76 @@
{
lib,
mkXfceDerivation,
fetchpatch,
ffmpegthumbnailer,
gdk-pixbuf,
glib,
freetype,
libgepub,
libgsf,
libheif,
libjxl,
librsvg,
poppler,
gst_all_1,
webp-pixbuf-loader,
libxfce4util,
}:
# TODO: add libopenraw
mkXfceDerivation {
category = "xfce";
pname = "tumbler";
version = "4.20.0";
sha256 = "sha256-GmEMdG8Ikd4Tq/1ntCHiN0S7ehUXqzMX7OtXsycLd6E=";
patches = [
# Fixes PDF previews staying low resolution
# https://gitlab.xfce.org/xfce/tumbler/-/merge_requests/35
(fetchpatch {
name = "only-use-embedded-pdf-thumbnail-if-resolution-suffices.patch";
url = "https://gitlab.xfce.org/xfce/tumbler/-/commit/69a704e0f4e622861ce4007f6f3f4f6f6b962689.patch";
hash = "sha256-aFJoWWzTaikqCw6C1LH+BFxst/uKkOGT1QK9Mx8/8/c=";
})
];
buildInputs = [
libxfce4util
ffmpegthumbnailer
freetype
gdk-pixbuf
glib
gst_all_1.gst-plugins-base
libgepub # optional EPUB thumbnailer support
libgsf
poppler # technically the glib binding
];
preFixup = ''
gappsWrapperArgs+=(
# Thumbnailers
--prefix XDG_DATA_DIRS : "${
lib.makeSearchPath "share" [
libheif.out
libjxl
librsvg
webp-pixbuf-loader
]
}"
# For heif-thumbnailer in heif.thumbnailer
--prefix PATH : "${lib.makeBinPath [ libheif ]}"
)
'';
# WrapGAppsHook won't touch this binary automatically, so we wrap manually.
postFixup = ''
wrapGApp $out/lib/tumbler-1/tumblerd
'';
meta = with lib; {
description = "D-Bus thumbnailer service";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,32 @@
{
lib,
mkXfceDerivation,
exo,
garcon,
gtk3,
libxfce4util,
libxfce4ui,
xfconf,
}:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-appfinder";
version = "4.20.0";
sha256 = "sha256-HovQnkfv5BOsRPowgMkMEWQmESkivVK0Xb7I15ZaOMc=";
nativeBuildInputs = [ exo ];
buildInputs = [
garcon
gtk3
libxfce4ui
libxfce4util
xfconf
];
meta = with lib; {
description = "Appfinder for the Xfce4 Desktop Environment";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,76 @@
{
stdenv,
lib,
fetchFromGitLab,
autoreconfHook,
docbook_xsl,
libxslt,
meson,
pkg-config,
wrapGAppsHook3,
python3,
autoconf,
automake,
glib,
gtk-doc,
libtool,
intltool,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-dev-tools";
version = "4.20.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "xfce";
repo = "xfce4-dev-tools";
rev = "xfce4-dev-tools-${finalAttrs.version}";
hash = "sha256-eUfNa/9ksLCKtVwBRtHaVl7Yl95tukUaDdoLNfeR+Ew=";
};
nativeBuildInputs = [
autoreconfHook
docbook_xsl
libxslt # for xsltproc
# x-d-t itself is not a meson project, but the xfce-do-release script wants
# `meson rewrite kwargs`, thus this is checked by `AC_CHECK_PROGS`.
meson
pkg-config
wrapGAppsHook3
];
buildInputs = [
python3 # for xdt-gen-visibility
];
propagatedBuildInputs = [
autoconf
automake
glib
gtk-doc
intltool
libtool
];
dontUseMesonConfigure = true;
configureFlags = [ "--enable-maintainer-mode" ];
enableParallelBuilding = true;
setupHook = ./setup-hook.sh;
passthru.updateScript = gitUpdater {
rev-prefix = "xfce4-dev-tools-";
odd-unstable = true;
};
meta = with lib; {
homepage = "https://gitlab.xfce.org/xfce/xfce4-dev-tools";
description = "Autoconf macros and scripts to augment app build systems";
license = licenses.gpl2Plus;
teams = [ teams.xfce ];
platforms = platforms.linux;
};
})

View File

@@ -0,0 +1,8 @@
xdtAutogenPhase() {
mkdir -p m4
NOCONFIGURE=1 xdt-autogen
}
if [ -z "${dontUseXdtAutogenPhase-}" ]; then
appendToVar preConfigurePhases xdtAutogenPhase
fi

View File

@@ -0,0 +1,72 @@
{
stdenv,
lib,
mkXfceDerivation,
python3,
cairo,
exo,
garcon,
gtk-layer-shell,
gtk3,
libdbusmenu-gtk3,
libwnck,
libxfce4ui,
libxfce4util,
libxfce4windowing,
tzdata,
wayland,
xfconf,
withIntrospection ?
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
buildPackages,
gobject-introspection,
vala,
}:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-panel";
version = "4.20.5";
sha256 = "sha256-Jftj+EmmsKfK9jk8rj5uMjpteFUHFgOpoEol8JReDNI=";
nativeBuildInputs = [
python3
]
++ lib.optionals withIntrospection [
gobject-introspection
vala # vala bindings require GObject introspection
];
buildInputs = [
cairo
exo
garcon
gtk-layer-shell
libdbusmenu-gtk3
libxfce4ui
libxfce4windowing
libwnck
tzdata
wayland
xfconf
];
propagatedBuildInputs = [
gtk3
libxfce4util
];
postPatch = ''
patchShebangs xdt-gen-visibility
substituteInPlace plugins/clock/clock.c \
--replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
meta = with lib; {
description = "Panel for the Xfce desktop environment";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
mkXfceDerivation,
wayland-scanner,
gtk3,
libnotify,
libxfce4ui,
libxfce4util,
polkit,
upower,
wayland-protocols,
wlr-protocols,
xfconf,
xfce4-panel,
}:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-power-manager";
version = "4.20.0";
sha256 = "sha256-qKUdrr+giLzNemhT3EQsOKTSiIx50NakmK14Ak7ZOCE=";
nativeBuildInputs = [
wayland-scanner
];
buildInputs = [
gtk3
libnotify
libxfce4ui
libxfce4util
polkit
upower
wayland-protocols
wlr-protocols
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.in.in --replace-fail "@sbindir@" "/run/current-system/sw/bin"
substituteInPlace common/xfpm-brightness-polkit.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\""
substituteInPlace src/xfpm-suspend.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\""
'';
meta = with lib; {
description = "Power manager for the Xfce Desktop Environment";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,50 @@
{
lib,
mkXfceDerivation,
polkit,
exo,
libxfce4util,
libxfce4ui,
libxfce4windowing,
xfconf,
iceauth,
gtk3,
gtk-layer-shell,
glib,
libwnck,
xfce4-session,
}:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-session";
version = "4.20.3";
sha256 = "sha256-HfVspmAkjuGgoI87VHNHFGZP17ZA0b31llY93gUtWxs=";
buildInputs = [
exo
gtk3
gtk-layer-shell
glib
libxfce4ui
libxfce4util
libxfce4windowing
libwnck
xfconf
polkit
iceauth
];
configureFlags = [
"--with-xsession-prefix=${placeholder "out"}"
"--with-wayland-session-prefix=${placeholder "out"}"
];
passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
meta = with lib; {
description = "Session manager for Xfce";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,70 @@
{
lib,
mkXfceDerivation,
wayland-scanner,
exo,
garcon,
gtk3,
gtk-layer-shell,
glib,
libnotify,
libX11,
libXext,
libxfce4ui,
libxfce4util,
libxklavier,
withXrandr ? true,
upower,
# Disabled by default on upstream and actually causes issues:
# https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/222
withUpower ? false,
wlr-protocols,
xfconf,
xf86inputlibinput,
colord,
withColord ? true,
}:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-settings";
version = "4.20.2";
sha256 = "sha256-hx1ilXPcwWWDwNR/k2b+9vR5aCv9UlPR0d42OE6JxEk=";
nativeBuildInputs = [
wayland-scanner
];
buildInputs = [
exo
garcon
glib
gtk3
gtk-layer-shell
libnotify
libX11
libXext
libxfce4ui
libxfce4util
libxklavier
wlr-protocols
xf86inputlibinput
xfconf
]
++ lib.optionals withUpower [ upower ]
++ lib.optionals withColord [ colord ];
configureFlags = [
"--enable-pluggable-dialogs"
"--enable-sound-settings"
(lib.enableFeature withXrandr "xrandr")
]
++ lib.optionals withUpower [ "--enable-upower-glib" ]
++ lib.optionals withColord [ "--enable-colord" ];
meta = with lib; {
description = "Settings manager for Xfce";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,40 @@
{
stdenv,
lib,
mkXfceDerivation,
gobject-introspection,
perl,
vala,
libxfce4util,
glib,
withIntrospection ?
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
buildPackages,
}:
mkXfceDerivation {
category = "xfce";
pname = "xfconf";
version = "4.20.0";
sha256 = "sha256-U+Sk7ubBr1ZD1GLQXlxrx0NQdhV/WpVBbnLcc94Tjcw=";
nativeBuildInputs = [
perl
]
++ lib.optionals withIntrospection [
gobject-introspection
vala # vala bindings require GObject introspection
];
buildInputs = [ libxfce4util ];
propagatedBuildInputs = [ glib ];
meta = with lib; {
description = "Simple client-server configuration storage and query system for Xfce";
mainProgram = "xfconf-query";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
mkXfceDerivation,
exo,
gtk3,
libxfce4ui,
libxfce4util,
libxfce4windowing,
libyaml,
xfconf,
libnotify,
garcon,
gtk-layer-shell,
thunar,
}:
mkXfceDerivation {
category = "xfce";
pname = "xfdesktop";
version = "4.20.1";
sha256 = "sha256-QBzsHXEdTGj8PlgB+L/TJjxAVksKqf+9KrRN3YaBf44=";
buildInputs = [
exo
gtk3
libxfce4ui
libxfce4util
libxfce4windowing
libyaml
xfconf
libnotify
garcon
gtk-layer-shell
thunar
];
meta = with lib; {
description = "Xfce's desktop manager";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,47 @@
{
lib,
mkXfceDerivation,
exo,
librsvg,
dbus-glib,
libepoxy,
gtk3,
libXdamage,
libstartup_notification,
libxfce4ui,
libxfce4util,
libwnck,
libXpresent,
xfconf,
}:
mkXfceDerivation {
category = "xfce";
pname = "xfwm4";
version = "4.20.0";
sha256 = "sha256-5UZQrAH0oz+G+7cvXCLDJ4GSXNJcyl4Ap9umb7h0f5Q=";
nativeBuildInputs = [
exo
librsvg
];
buildInputs = [
dbus-glib
libepoxy
gtk3
libXdamage
libstartup_notification
libxfce4ui
libxfce4util
libwnck
libXpresent
xfconf
];
meta = with lib; {
description = "Window manager for Xfce";
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,187 @@
{
config,
lib,
linuxPackages,
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-unwrapped = callPackage ./core/thunar { };
thunar = callPackage ./core/thunar/wrapper.nix { };
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 { };
thunar-vcs-plugin = callPackage ./thunar-plugins/vcs { };
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 { };
#### 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 { };
xfmpc = callPackage ./applications/xfmpc { };
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-alsa-plugin = callPackage ./panel-plugins/xfce4-alsa-plugin { };
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-dockbarx-plugin = callPackage ./panel-plugins/xfce4-dockbarx-plugin { };
xfce4-docklike-plugin = callPackage ./panel-plugins/xfce4-docklike-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-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 {
libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl;
};
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-unwrapped; # added 2019-11-04
xfce4-datetime-plugin = throw ''
xfce4-datetime-plugin has been removed: this plugin has been merged into the xfce4-panel's built-in clock
plugin and thus no longer maintained upstream, see https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/563.
''; # Added 2025-05-20
xfce4-embed-plugin = throw "xfce4-embed-plugin has been removed, as it was broken"; # Added 2024-07-15
xfce4-hardware-monitor-plugin = throw "xfce.xfce4-hardware-monitor-plugin has been removed: abandoned by upstream and does not build"; # added 2023-01-15
xfce4-namebar-plugin = throw "xfce.xfce4-namebar-plugin has been removed: abandoned by upstream and does not build"; # added 2024-05-08
}
);
}

View File

@@ -0,0 +1,101 @@
{
lib,
stdenv,
fetchFromGitLab,
pkg-config,
xfce4-dev-tools,
hicolor-icon-theme,
xfce,
wrapGAppsHook3,
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
wrapGAppsHook3
];
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
]
)

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
vala,
pkg-config,
gettext,
ninja,
alsa-lib,
xfce4-panel,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-alsa-plugin";
version = "0.4.0";
src = fetchFromGitHub {
owner = "equeim";
repo = "xfce4-alsa-plugin";
tag = finalAttrs.version;
hash = "sha256-95uVHDyXji8dut7qfE5V/uBBt6DPYF/YfudHe7HJcE8=";
};
strictDeps = true;
nativeBuildInputs = [
meson
vala
pkg-config
gettext
ninja
];
buildInputs = [
alsa-lib
xfce4-panel
];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/equeim/xfce4-alsa-plugin";
description = "Simple ALSA volume control for xfce4-panel";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ ProxyVT ];
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,57 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
glib,
gtk3,
libxfce4ui,
libxfce4util,
xfce4-panel,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-battery-plugin";
version = "1.2.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-battery-plugin";
tag = "xfce4-battery-plugin-${finalAttrs.version}";
hash = "sha256-I4x2QRYp6H5mR4J7nQ+VZ/T3r/dj4r4M9JbgN+oZHWQ=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
glib
gtk3
libxfce4ui
libxfce4util
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-battery-plugin-"; };
meta = {
description = "Battery plugin for Xfce panel";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-battery-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,75 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
wayland-scanner,
wrapGAppsHook3,
glib,
gtk3,
libX11,
libXtst,
libxfce4ui,
libxfce4util,
qrencode,
xfce4-panel,
xfconf,
wayland,
wlr-protocols,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-clipman-plugin";
version = "1.7.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-clipman-plugin";
tag = "xfce4-clipman-plugin-${finalAttrs.version}";
hash = "sha256-w9axHJJnTQrkN9s3RQyvkOcK0FOqsvWpoJ+UCDntnZk=";
};
strictDeps = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
wayland-scanner
wrapGAppsHook3
];
buildInputs = [
glib
gtk3
libX11
libXtst
libxfce4ui
libxfce4util
qrencode
xfce4-panel
xfconf
wayland
wlr-protocols
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-clipman-plugin-"; };
meta = {
description = "Clipboard manager for Xfce panel";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-clipman-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,57 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
glib,
gtk3,
libxfce4ui,
libxfce4util,
xfce4-panel,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-cpufreq-plugin";
version = "1.3.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-cpufreq-plugin";
tag = "xfce4-cpufreq-plugin-${finalAttrs.version}";
hash = "sha256-IJ0gOzMs2JBS8KIlD5NHyUOf53PtTytm8J/j+5AEh5E=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
glib
gtk3
libxfce4ui
libxfce4util
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-cpufreq-plugin-"; };
meta = {
description = "CPU Freq load plugin for Xfce panel";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-cpufreq-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,57 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
glib,
gtk3,
libxfce4ui,
libxfce4util,
xfce4-panel,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-cpugraph-plugin";
version = "1.3.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-cpugraph-plugin";
tag = "xfce4-cpugraph-plugin-${finalAttrs.version}";
hash = "sha256-IXAoxMzKZhABiiZYhL4UGkzqFNGMJicGQqSIfy2DEfc=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
glib
gtk3
libxfce4ui
libxfce4util
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-cpugraph-plugin-"; };
meta = {
description = "CPU graph show for Xfce panel";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-cpugraph-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,72 @@
{
lib,
stdenv,
fetchFromGitHub,
bash,
cmake,
dockbarx,
gobject-introspection,
keybinder3,
pkg-config,
python3Packages,
wrapGAppsHook3,
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
wrapGAppsHook3
];
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;
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,70 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
cairo,
glib,
gtk3,
gtk-layer-shell,
libX11,
libXi,
libxfce4ui,
libxfce4util,
libxfce4windowing,
xfce4-panel,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-docklike-plugin";
version = "0.5.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-docklike-plugin";
tag = "xfce4-docklike-plugin-${finalAttrs.version}";
hash = "sha256-1R9qQKqn/CIV36GYmyg54t3xiY23qUs5EMLxvAIavK8=";
};
strictDeps = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
gettext
glib # glib-compile-resources
meson
ninja
pkg-config
];
buildInputs = [
cairo
glib
gtk3
gtk-layer-shell
libX11
libXi
libxfce4ui
libxfce4util
libxfce4windowing
xfce4-panel
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-docklike-plugin-"; };
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-docklike-plugin/start";
description = "Modern, minimalist taskbar for Xfce";
license = lib.licenses.gpl3Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
fetchurl,
gettext,
meson,
ninja,
pkg-config,
libxfce4util,
xfce4-panel,
libxfce4ui,
glib,
gtk3,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-eyes-plugin";
version = "4.7.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-eyes-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-eyes-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-h/m5eMp1q7OqXtsTFetl75hlSmYsFGIYR93/6KpldK0=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
glib
gtk3
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-eyes-plugin";
rev-prefix = "xfce4-eyes-plugin-";
};
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-eyes-plugin";
description = "Rolling eyes (following mouse pointer) plugin for the Xfce panel";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
fetchurl,
gettext,
meson,
ninja,
pkg-config,
libxfce4util,
xfce4-panel,
libxfce4ui,
glib,
gtk3,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-fsguard-plugin";
version = "1.2.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-fsguard-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-fsguard-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-nkDPPOezThwn1rRC86BniGw1FUtdDE1kSiOQOGEdpk8=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
glib
gtk3
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-fsguard-plugin";
rev-prefix = "xfce4-fsguard-plugin-";
};
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-fsguard-plugin";
description = "Filesystem usage monitor plugin for the Xfce panel";
license = lib.licenses.bsd2;
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,57 @@
{
lib,
stdenv,
fetchurl,
gettext,
meson,
ninja,
pkg-config,
libxfce4util,
xfce4-panel,
xfconf,
libxfce4ui,
glib,
gtk3,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-genmon-plugin";
version = "4.3.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-genmon-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-genmon-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-B3GXkR2E5boi57uJXObAONu9jo4AZ+1vTkhQK3FnooI=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
xfconf
glib
gtk3
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-genmon-plugin";
rev-prefix = "xfce4-genmon-plugin-";
};
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin";
description = "Generic monitor plugin for the Xfce panel";
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchFromGitHub,
gettext,
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 = [
gettext
pkg-config
intltool
xfce4-dev-tools
];
buildInputs = [
gtk3
libxfce4ui
libxfce4util
xfce4-panel
i3ipc-glib
];
patches = [
# Fix build with gettext 0.25
# https://hydra.nixos.org/build/302762031/nixlog/2
# FIXME: remove when gettext is fixed
./gettext-0.25.patch
];
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 = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,21 @@
diff --git a/configure.ac.in b/configure.ac.in
index 7932c16..1778d38 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -24,6 +24,7 @@ AC_COPYRIGHT([Copyright (C) 2014
AC_INIT([xfce4-i3-workspaces-plugin], [plugin_version], [https://github.com/denesb/xfce4-i3-workspaces-plugin/issues], [xfce4-i3-workspaces-plugin])
AC_PREREQ([2.50])
AC_REVISION([xfce4_panel_version_build])
+AC_CONFIG_MACRO_DIRS([m4])
dnl ***************************
dnl *** Initialize automake ***
@@ -31,6 +32,8 @@ dnl ***************************
AM_INIT_AUTOMAKE([1.8 no-dist-gzip dist-bzip2 tar-ustar])
AM_CONFIG_HEADER([config.h])
AM_MAINTAINER_MODE()
+AM_GNU_GETTEXT_VERSION([0.21])
+AM_GNU_GETTEXT([external])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
dnl **************************

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
fetchurl,
gettext,
meson,
ninja,
pkg-config,
xfce4-panel,
libxfce4ui,
libxfce4util,
exo,
glib,
gtk3,
gnutls,
libgcrypt,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-mailwatch-plugin";
version = "1.4.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-mailwatch-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-mailwatch-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-XCEQJdsQlmY/prjMQSE0ZKbXHyTnYyZJnYV/+B6jhh8=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
libxfce4ui
libxfce4util
xfce4-panel
exo
glib
gtk3
gnutls
libgcrypt
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-mailwatch-plugin";
rev-prefix = "xfce4-mailwatch-plugin-";
};
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-mailwatch-plugin";
description = "Mail watcher plugin for Xfce panel";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,57 @@
{
lib,
stdenv,
fetchurl,
gettext,
meson,
ninja,
pkg-config,
libmpd,
libxfce4util,
xfce4-panel,
libxfce4ui,
glib,
gtk3,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-mpc-plugin";
version = "0.6.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-mpc-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-mpc-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-3uW8wFZrotyVucO0yt1eizuyeYpUoqjYZScIkV/kXVA=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
libmpd
libxfce4util
libxfce4ui
xfce4-panel
glib
gtk3
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-mpc-plugin";
rev-prefix = "xfce4-mpc-plugin-";
};
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-mpc-plugin";
description = "MPD plugin for Xfce panel";
platforms = lib.platforms.linux;
license = lib.licenses.bsd0;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,55 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
glib,
gtk3,
libxfce4ui,
libxfce4util,
xfce4-panel,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-netload-plugin";
version = "1.5.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-netload-plugin";
tag = "xfce4-netload-plugin-${finalAttrs.version}";
hash = "sha256-iZnfPCOHg0+eo8ubfIsweH2T/DSLeL2Q+giWK/Vkpko=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
glib
gtk3
libxfce4ui
libxfce4util
xfce4-panel
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-netload-plugin-"; };
meta = {
description = "Internet load speed plugin for Xfce4 panel";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-netload-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,63 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook3,
glib,
gtk3,
gtksourceview4,
libxfce4ui,
libxfce4util,
xfce4-panel,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-notes-plugin";
version = "1.12.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-notes-plugin";
tag = "xfce4-notes-plugin-${finalAttrs.version}";
hash = "sha256-q8XQSLhnD7rnRfmNEunc4rKpFSWg9Ja4W7fs5lrnhZ0=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
vala
wrapGAppsHook3
];
buildInputs = [
glib
gtk3
gtksourceview4
libxfce4ui
libxfce4util
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-notes-plugin-"; };
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-notes-plugin";
description = "Sticky notes plugin for Xfce panel";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,68 @@
{
stdenv,
lib,
fetchFromGitLab,
exo,
gtk3,
libcanberra,
libpulseaudio,
libnotify,
libxfce4ui,
libxfce4util,
libxfce4windowing,
meson,
ninja,
pkg-config,
xfce4-panel,
xfconf,
keybinder3,
glib,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-pulseaudio-plugin";
version = "0.5.1";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-pulseaudio-plugin";
tag = "xfce4-pulseaudio-plugin-${finalAttrs.version}";
hash = "sha256-068+lp1X2W201zWN15dklsfEy4Hdy3aOEqC/ic5fMNs=";
};
strictDeps = true;
nativeBuildInputs = [
glib # glib-compile-resources
meson
ninja
pkg-config
];
buildInputs = [
exo
glib
gtk3
keybinder3
libcanberra
libnotify
libpulseaudio
libxfce4ui
libxfce4util
libxfce4windowing
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-pulseaudio-plugin-"; };
meta = {
description = "Adjust the audio volume of the PulseAudio sound system";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-pulseaudio-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,73 @@
{
stdenv,
lib,
fetchurl,
gettext,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
glib,
gtk3,
libX11,
libXext,
libxfce4ui,
libxfce4util,
xfce4-panel,
libnotify,
lm_sensors,
libXNVCtrl,
nvidiaSupport ? lib.meta.availableOn stdenv.hostPlatform libXNVCtrl,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-sensors-plugin";
version = "1.5.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-sensors-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-sensors-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-hARCuH/d3NhZW9n4Pqi4H3cf4pa7nSq/Dhl54ghyeuk=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
glib
gtk3
libX11
libXext
libxfce4ui
libxfce4util
xfce4-panel
libnotify
lm_sensors
]
++ lib.optionals nvidiaSupport [ libXNVCtrl ];
mesonFlags = [
(lib.mesonEnable "xnvctrl" nvidiaSupport)
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-sensors-plugin";
rev-prefix = "xfce4-sensors-plugin-";
};
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-sensors-plugin";
description = "Panel plug-in for different sensors using acpi, lm_sensors and hddtemp";
mainProgram = "xfce4-sensors";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
fetchurl,
gettext,
meson,
ninja,
pkg-config,
xfce4-panel,
glib,
gtk3,
libgtop,
libxfce4ui,
libxfce4util,
upower,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-systemload-plugin";
version = "1.4.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-systemload-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-systemload-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-bjY7z4RbuIMptShY1loexuANtRIa6SRuRusDE12VacY=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
glib
gtk3
libgtop
libxfce4ui
libxfce4util
upower
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-systemload-plugin";
rev-prefix = "xfce4-systemload-plugin-";
};
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-systemload-plugin";
description = "System load plugin for Xfce panel";
license = lib.licenses.bsd2;
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,57 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
glib,
gtk3,
libX11,
libxfce4ui,
libxfce4util,
xfce4-panel,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-time-out-plugin";
version = "1.2.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-time-out-plugin";
tag = "xfce4-time-out-plugin-${finalAttrs.version}";
hash = "sha256-hyeqSnynsjAeD67oPjQs0ZeLKreXFMZXmvu38zweqrE=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
glib
gtk3
libX11
libxfce4ui
libxfce4util
xfce4-panel
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-time-out-plugin-"; };
meta = {
description = "Panel plug-in to take periodical breaks from the computer";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-time-out-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
fetchurl,
gettext,
meson,
ninja,
pkg-config,
libxfce4util,
xfce4-panel,
libxfce4ui,
glib,
gtk3,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-timer-plugin";
version = "1.8.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-timer-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-timer-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-HTrDqixDRUAMAlZCd452Q6q0EEdiK6+c3AC7rHjon5k=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
glib
gtk3
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-timer-plugin";
rev-prefix = "xfce4-timer-plugin-";
};
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-timer-plugin";
description = "Simple countdown and alarm plugin for the Xfce panel";
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,57 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
glib,
gtk3,
libxfce4ui,
libxfce4util,
pcre2,
xfce4-panel,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-verve-plugin";
version = "2.1.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-verve-plugin";
tag = "xfce4-verve-plugin-${finalAttrs.version}";
hash = "sha256-mxSjYBeBc2HjdTFVdZSVdspAQTEyS+uQA6K17lJoLlc=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
glib
gtk3
libxfce4ui
libxfce4util
pcre2
xfce4-panel
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-verve-plugin-"; };
meta = {
description = "Command-line plugin";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-verve-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,76 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
gettext,
meson,
ninja,
pkg-config,
glib,
gtk3,
json_c,
libxml2,
libsoup_3,
upower,
libxfce4ui,
libxfce4util,
xfce4-panel,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-weather-plugin";
version = "0.12.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-weather-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-weather-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-XdkLAywG70tkuBgCMVTvlGOixpSgKQ5X80EilsdUX/Y=";
};
patches = [
# meson-build: Add missing HAVE_UPOWER_GLIB definition
# https://gitlab.xfce.org/panel-plugins/xfce4-weather-plugin/-/merge_requests/37
(fetchpatch {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-weather-plugin/-/commit/1d8e5e5dbbc4d53e4b810f9b01a460197cd47b64.patch";
hash = "sha256-g9AIp1iBcA3AxD1tpnv32PvxxulXYjFvQh3EqD1gmHg=";
})
];
strictDeps = true;
nativeBuildInputs = [
gettext
glib # glib-compile-resources
meson
ninja
pkg-config
];
buildInputs = [
glib
gtk3
json_c
libxml2
libsoup_3
upower
libxfce4ui
libxfce4util
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-weather-plugin";
rev-prefix = "xfce4-weather-plugin-";
};
meta = {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-weather-plugin";
description = "Weather plugin for the Xfce desktop environment";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,68 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
accountsservice,
exo,
garcon,
glib,
gtk-layer-shell,
gtk3,
libxfce4ui,
libxfce4util,
xfce4-panel,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-whiskermenu-plugin";
version = "2.10.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-whiskermenu-plugin";
tag = "xfce4-whiskermenu-plugin-${finalAttrs.version}";
hash = "sha256-2FACsP6mKx0k91xG3DaVS6hdvdLrjLu9Y9rVOW6PZ3M=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
accountsservice
exo
garcon
glib
gtk-layer-shell
gtk3
libxfce4ui
libxfce4util
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-whiskermenu-plugin-"; };
meta = {
description = "Alternate application launcher for Xfce";
mainProgram = "xfce4-popup-whiskermenu";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-whiskermenu-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,62 @@
{
stdenv,
lib,
fetchurl,
gettext,
meson,
ninja,
pkg-config,
python3,
glib,
gtk3,
libwnck,
libxfce4ui,
libxfce4util,
xfce4-panel,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-windowck-plugin";
version = "0.6.1";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/xfce4-windowck-plugin/${lib.versions.majorMinor finalAttrs.version}/xfce4-windowck-plugin-${finalAttrs.version}.tar.xz";
hash = "sha256-Ay4wXXTxe9ZbKL0mDPGS/PiqDfM9EWCH5IX9E2i3zzk=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
glib # glib-compile-resources
meson
ninja
pkg-config
python3
];
buildInputs = [
glib
gtk3
libwnck
libxfce4ui
libxfce4util
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater {
url = "https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin";
rev-prefix = "xfce4-windowck-plugin-";
};
meta = {
description = "Xfce panel plugin for displaying window title and buttons";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
})

View File

@@ -0,0 +1,67 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
glib,
gtk3,
libnotify,
librsvg,
libwnck,
libxklavier,
garcon,
libxfce4ui,
libxfce4util,
xfce4-panel,
xfconf,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-xkb-plugin";
version = "0.9.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-xkb-plugin";
tag = "xfce4-xkb-plugin-${finalAttrs.version}";
hash = "sha256-yLlUKp7X8bylJs7ioQJ36mfqFlsiZXOgFXa0ZP7AG1E=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
garcon
glib
gtk3
libnotify
librsvg
libxfce4ui
libxfce4util
libxklavier
libwnck
xfce4-panel
xfconf
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-xkb-plugin-"; };
meta = {
description = "Allows you to setup and use multiple keyboard layouts";
homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-xkb-plugin";
license = lib.licenses.gpl2Plus;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,53 @@
{
stdenv,
lib,
fetchFromGitLab,
meson,
ninja,
pkg-config,
glib,
gtk3,
thunar,
libxfce4util,
gettext,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "thunar-archive-plugin";
version = "0.6.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "thunar-plugins";
repo = "thunar-archive-plugin";
tag = "thunar-archive-plugin-${finalAttrs.version}";
hash = "sha256-/WLkEqzFAKpB7z8mWSgufo4Qbj6KP3Ax8MWVZxIwDs0=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
thunar
glib
gtk3
libxfce4util
];
passthru.updateScript = gitUpdater { rev-prefix = "thunar-archive-plugin-"; };
meta = {
description = "Thunar plugin providing file context menus for archives";
homepage = "https://gitlab.xfce.org/thunar-plugins/thunar-archive-plugin";
license = lib.licenses.lgpl2Only;
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
gtk3,
thunar,
cmake,
ninja,
xfce,
gitUpdater,
}:
stdenv.mkDerivation rec {
pname = "thunar-dropbox";
version = "0.3.2";
src = fetchFromGitHub {
owner = "Jeinzi";
repo = "thunar-dropbox";
rev = version;
sha256 = "sha256-uYqO87ftEtnSRn/yMSF1jVGleYXR3hVj2Jb1/kAd64Y=";
};
nativeBuildInputs = [
pkg-config
cmake
ninja
];
buildInputs = [
thunar
gtk3
];
passthru.updateScript = gitUpdater { };
meta = with lib; {
homepage = "https://github.com/Jeinzi/thunar-dropbox";
description = "Plugin that adds context-menu items for Dropbox to Thunar";
license = licenses.gpl3Only;
platforms = platforms.linux;
teams = [ teams.xfce ];
};
}

View File

@@ -0,0 +1,66 @@
{
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
meson,
ninja,
pkg-config,
glib,
gtk3,
thunar,
libxfce4util,
gettext,
taglib,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "thunar-media-tags-plugin";
version = "0.6.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "thunar-plugins";
repo = "thunar-media-tags-plugin";
tag = "thunar-media-tags-plugin-${finalAttrs.version}";
hash = "sha256-qEoBga+JSxpByOjqhOspjYknF0p74oXZnpoDz2MSBOA=";
};
patches = [
# meson-build: Fix typo libxfce4ui -> libxfce4util
# https://gitlab.xfce.org/thunar-plugins/thunar-media-tags-plugin/-/merge_requests/14
(fetchpatch {
url = "https://gitlab.xfce.org/thunar-plugins/thunar-media-tags-plugin/-/commit/4e19a56deeeefa6d913f7b15a12b30a5d99119d4.patch";
hash = "sha256-ASVknxEiGOWbE82hVlgEAOqE+8TknAh/ULQg55mfs9o=";
})
];
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
];
buildInputs = [
thunar
glib
gtk3
libxfce4util
taglib
];
passthru.updateScript = gitUpdater { rev-prefix = "thunar-media-tags-plugin-"; };
meta = {
description = "Thunar plugin providing tagging and renaming features for media files";
homepage = "https://gitlab.xfce.org/thunar-plugins/thunar-media-tags-plugin";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ ncfavier ];
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,73 @@
{
stdenv,
lib,
fetchFromGitLab,
gettext,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
thunar,
exo,
libxfce4ui,
libxfce4util,
gtk3,
glib,
subversion,
apr,
aprutil,
withSubversion ? false,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "thunar-vcs-plugin";
version = "0.4.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "thunar-plugins";
repo = "thunar-vcs-plugin";
tag = "thunar-vcs-plugin-${finalAttrs.version}";
hash = "sha256-VuTTao46/3JNzCHv7phCC8DCy9rjlEcMuGmGiIOSsMM=";
};
strictDeps = true;
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
thunar
exo
libxfce4ui
libxfce4util
gtk3
glib
]
++ lib.optionals withSubversion [
apr
aprutil
subversion
];
mesonFlags = [
(lib.mesonEnable "svn" withSubversion)
];
passthru.updateScript = gitUpdater { rev-prefix = "thunar-vcs-plugin-"; };
meta = {
description = "Thunar plugin providing support for Subversion and Git";
homepage = "https://gitlab.xfce.org/thunar-plugins/thunar-vcs-plugin";
license = lib.licenses.lgpl2Only;
maintainers = with lib.maintainers; [ lordmzte ];
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
})