From 66ca822ac1032d4db7649c04a3e55e65c8c25327 Mon Sep 17 00:00:00 2001 From: Colin Date: Mon, 12 Feb 2024 01:33:34 +0000 Subject: [PATCH] remove xdg-desktop-portal-gtk service; xdg-desktop-portal knows how to start that itself --- hosts/common/programs/default.nix | 1 - .../programs/xdg-desktop-portal-gtk.nix | 24 ------------------- hosts/common/programs/xdg-desktop-portal.nix | 5 ++-- 3 files changed, 3 insertions(+), 27 deletions(-) delete mode 100644 hosts/common/programs/xdg-desktop-portal-gtk.nix diff --git a/hosts/common/programs/default.nix b/hosts/common/programs/default.nix index a8dd3e5e..32d8b7a5 100644 --- a/hosts/common/programs/default.nix +++ b/hosts/common/programs/default.nix @@ -92,7 +92,6 @@ ./wob.nix ./xarchiver.nix ./xdg-desktop-portal.nix - ./xdg-desktop-portal-gtk.nix ./xdg-utils.nix ./zeal.nix ./zecwallet-lite.nix diff --git a/hosts/common/programs/xdg-desktop-portal-gtk.nix b/hosts/common/programs/xdg-desktop-portal-gtk.nix deleted file mode 100644 index fc9748ac..00000000 --- a/hosts/common/programs/xdg-desktop-portal-gtk.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ config, ... }: -let - cfg = config.sane.programs.xdg-desktop-portal-gtk; -in -{ - sane.programs.xdg-desktop-portal-gtk = { - # the portal handles things like file/app open requests, so it needs access to everything - # any installed app might require. - sandbox.enable = false; - - services.xdg-desktop-portal-gtk = { - # xdg-desktop-portal-gtk provides the service/dbus file, but doesn't link the right `wantedBy` - # so have to recreate it here :( - description = "Portal service (GTK/GNOME implementation)"; - wantedBy = [ "xdg-desktop-portal.service" ]; - before = [ "xdg-desktop-portal.service" ]; - serviceConfig = { - ExecStart = "${cfg.package}/libexec/xdg-desktop-portal-gtk"; - Type = "dbus"; - BusName = "org.freedesktop.impl.portal.desktop.gtk"; - }; - }; - }; -} diff --git a/hosts/common/programs/xdg-desktop-portal.nix b/hosts/common/programs/xdg-desktop-portal.nix index e95bd93c..2631e5e5 100644 --- a/hosts/common/programs/xdg-desktop-portal.nix +++ b/hosts/common/programs/xdg-desktop-portal.nix @@ -14,8 +14,9 @@ in BusName = "org.freedesktop.portal.Desktop"; }; - # xdg-desktop-portal needs to know where to find xdg-desktop-portal-gtk, etc, for some reason (???). - # otherwise, it won't expose stuff like the OpenURI endpoint, even if a suitable AppChooser is available on dbus. + # xdg-desktop-portal expects to act as a strict frontend and manage xdg-desktop-portal-{gtk,wlr,etc} itself, + # which means it needs to know how which endpoints each backend provides and how to launch it, + # encoded in /share/xdg-desktop-portal/portals: environment.XDG_DESKTOP_PORTAL_DIR = "/etc/profiles/per-user/%u/share/xdg-desktop-portal/portals"; }; };