diff --git a/hosts/modules/gui/sway/default.nix b/hosts/modules/gui/sway/default.nix index 1a8dd3709..2457bbfbf 100644 --- a/hosts/modules/gui/sway/default.nix +++ b/hosts/modules/gui/sway/default.nix @@ -130,10 +130,37 @@ in }; programs.sway = { + # provides xdg-desktop-portal-wlr, which exposes on dbus: + # - org.freedesktop.impl.portal.ScreenCast + # - org.freedesktop.impl.portal.Screenshot enable = true; # "wrapGAppsHook wrapper to execute sway with required environment variables for GTK applications." wrapperFeatures.gtk = true; }; + # provide portals for: + # - org.freedesktop.impl.portal.Access + # - org.freedesktop.impl.portal.Account + # - org.freedesktop.impl.portal.DynamicLauncher + # - org.freedesktop.impl.portal.Email + # - org.freedesktop.impl.portal.FileChooser + # - org.freedesktop.impl.portal.Inhibit + # - org.freedesktop.impl.portal.Notification + # - org.freedesktop.impl.portal.Print + # and conditionally (i.e. unless buildPortalsInGnome = false) for: + # - org.freedesktop.impl.portal.AppChooser (@appchooser_iface@) + # - org.freedesktop.impl.portal.Background (@background_iface@) + # - org.freedesktop.impl.portal.Lockdown (@lockdown_iface@) + # - org.freedesktop.impl.portal.RemoteDesktop (@remotedesktop_iface@) + # - org.freedesktop.impl.portal.ScreenCast (@screencast_iface@) + # - org.freedesktop.impl.portal.Screenshot (@screenshot_iface@) + # - org.freedesktop.impl.portal.Settings (@settings_iface@) + # - org.freedesktop.impl.portal.Wallpaper (@wallpaper_iface@) + xdg.portal.extraPortals = [ + (pkgs.xdg-desktop-portal-gtk.override { + buildPortalsInGnome = false; + }) + ]; + sane.user.fs.".config/sway/config".symlink.text = import ./sway-config.nix { inherit pkgs; };