From ae5fd0285546e7d492696a22e817aaa4166aa13f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kalle=20Ahlstr=C3=B6m?= Date: Fri, 21 Nov 2025 21:49:56 +0200 Subject: [PATCH] gnome-keyring: allow xdg-autostart in other environments than GNOME --- pkgs/by-name/gn/gnome-keyring/package.nix | 26 ++++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/gn/gnome-keyring/package.nix b/pkgs/by-name/gn/gnome-keyring/package.nix index 04d0a932b299..692b78069077 100644 --- a/pkgs/by-name/gn/gnome-keyring/package.nix +++ b/pkgs/by-name/gn/gnome-keyring/package.nix @@ -90,15 +90,25 @@ stdenv.mkDerivation rec { runHook preCheck ''; - # Use wrapped gnome-keyring-daemon with cap_ipc_lock=ep - postFixup = lib.optionalString useWrappedDaemon '' - files=($out/etc/xdg/autostart/* $out/share/dbus-1/services/*) + postFixup = + # disable OnlyShowIn to allow xdg-autostart in any DE + # https://wiki.archlinux.org/title/GNOME/Keyring#Using_gnome-keyring-daemon_outside_desktop_environments_(KDE,_GNOME,_XFCE,_...) + '' + for f in "$out"/etc/xdg/autostart/*.desktop; do + [ -e "$f" ] || continue + substituteInPlace "$f" \ + --replace-fail "OnlyShowIn=" "#OnlyShowIn=" + done + '' + # Use wrapped gnome-keyring-daemon with cap_ipc_lock=ep + + lib.optionalString useWrappedDaemon '' + files=($out/etc/xdg/autostart/* $out/share/dbus-1/services/*) - for file in ''${files[*]}; do - substituteInPlace $file \ - --replace "$out/bin/gnome-keyring-daemon" "/run/wrappers/bin/gnome-keyring-daemon" - done - ''; + for file in ''${files[*]}; do + substituteInPlace $file \ + --replace "$out/bin/gnome-keyring-daemon" "/run/wrappers/bin/gnome-keyring-daemon" + done + ''; passthru = { updateScript = gnome.updateScript {