{ config, lib, pkgs, ... }: with lib; mkIf (elem "desktop::sway" config.machine.services) { programs.sway = { enable = true; package = pkgs.sway.override { enableXWayland = true; }; extraPackages = with pkgs; [ file adwaita-icon-theme grim gsettings-desktop-schemas gtk3 i3status kanagawa light mako qt5.qtwayland rofi-wayland slurp swayidle swaylock wf-recorder wl-clipboard ]; wrapperFeatures = { base = true; gtk = true; }; extraSessionCommands = '' # Chromium (based) applications export NIXOS_OZONE_WL=1 ''; }; }