From 3f31c0edefdc99e1ba66a35ab0995887db883fc5 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Fri, 14 May 2021 22:17:45 +0200 Subject: [PATCH] sway: Simplify screen sharing This should make it easier to get started. The xdg-desktop-portal backend for wlroots is required and one needs to "make sure WAYLAND_DISPLAY and XDG_CURRENT_DESKTOP are imported into D-Bus." [0] [0]: https://github.com/emersion/xdg-desktop-portal-wlr/blob/efcbcb60aa3bc46b0e290d5f6627783fbb534dcd/README.md#running --- nixos/modules/programs/sway.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix index 2b69851b340b..ca79177f827e 100644 --- a/nixos/modules/programs/sway.nix +++ b/nixos/modules/programs/sway.nix @@ -124,7 +124,7 @@ in { "sway/config.d/nixos.conf".source = pkgs.writeText "nixos.conf" '' # Import the most important environment variables into the D-Bus and systemd # user environments (e.g. required for screen sharing and Pinentry prompts): - exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK + exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP ''; }; }; @@ -135,6 +135,8 @@ in { # To make a Sway session available if a display manager like SDDM is enabled: services.xserver.displayManager.sessionPackages = [ swayPackage ]; programs.xwayland.enable = mkDefault true; + # For screen sharing (this option only has an effect with xdg.portal.enable): + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-wlr ]; }; meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ];