{ config, lib, pkgs, ... }: lib.mkIf (config.jalr.gui.enable && config.jalr.gui.sway.enable) { services.displayManager.sessionPackages = [ pkgs.sway ]; programs = { wshowkeys.enable = true; dconf.enable = true; sway = { enable = true; xwayland.enable = true; wrapperFeatures.gtk = true; }; }; services.greetd = { enable = !config.jalr.gui.gnome.enable; settings = let command = pkgs.writeShellScript "sway-init" '' systemctl --user import-environment PATH #systemctl --user restart xdg-desktop-portal.service exec ${pkgs.sway}/bin/sway ''; user = "jalr"; in { default_session = { inherit command; inherit user; }; initial_session = { inherit command; inherit user; }; }; }; hardware.graphics.enable = true; security.polkit.enable = true; security.pam.loginLimits = [{ domain = "@users"; item = "rtprio"; type = "-"; value = 1; }]; xdg = { icons.enable = true; portal = { enable = true; wlr.enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; xdgOpenUsePortal = true; }; }; environment.systemPackages = with pkgs; [ adwaita-icon-theme ]; }