{ config, lib, pkgs, machineProps, ... }: with lib; let anySwayUser = if machineProps.enableHomeManager then builtins.any (user: config.home-manager.users.${user}.my.desktop.sway.enable) ( builtins.attrNames config.my.users ) else false; in { programs.sway = mkIf anySwayUser { enable = true; wrapperFeatures.gtk = true; }; xdg.portal = mkIf anySwayUser { enable = true; xdgOpenUsePortal = true; wlr.enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-gnome xdg-desktop-portal-kde ]; }; }