{ pkgs, lib, config, ... }: with lib; let cfg = config.modules.desktop.sway; in { options.modules.desktop.sway = { enable = mkEnableOption "Enable Steam Platform"; }; config = mkIf cfg.enable { security.pam.services.swaylock = {}; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; xdg.portal = { enable = true; wlr.enable = true; # gtk portal needed to make gtk apps happy extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; config = { common = { default = [ "gtk" ]; "org.freedesktop.impl.portal.ScreenCast" = "wlr"; "org.freedesktop.impl.portal.Screenshot" = "wlr"; }; }; }; }; }