diff options
Diffstat (limited to 'modules/desktop/xdg')
| -rw-r--r-- | modules/desktop/xdg/default.nix | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/modules/desktop/xdg/default.nix b/modules/desktop/xdg/default.nix index bf5ac02..5edaf03 100644 --- a/modules/desktop/xdg/default.nix +++ b/modules/desktop/xdg/default.nix @@ -5,19 +5,30 @@ pkgs, ... }: +let + # Hyprland ships its own portal for screensharing/screencasting + portalPkgs = + with pkgs; + [ + xdg-desktop-portal-termfilechooser + ] + ++ lib.optionals config.desktop.hyprland.enable [ + xdg-desktop-portal-hyprland + ] + ++ lib.optionals (!config.desktop.hyprland.enable) [ + xdg-desktop-portal-gtk + ]; + + defaultPortal = if config.desktop.hyprland.enable then "hyprland" else "gtk"; +in { config = lib.mkIf config.desktop.enable { xdg.portal = { enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-termfilechooser - xdg-desktop-portal-gtk - ]; + extraPortals = portalPkgs; config.common = { "org.freedesktop.impl.portal.FileChooser" = [ "termfilechooser" ]; - default = [ - "gtk" - ]; + default = [ defaultPortal ]; }; xdgOpenUsePortal = true; }; |
