{ pkgs, psCfg, ... }: '' # Set shut down, restart and locking features '' + (if psCfg.core.hibernation.enable && !psCfg.paranoia.enable then '' set $mode_system (e)xit, (h)ibernate, (l)ock, (s)uspend, (r)eboot, (Shift+s)hutdown '' else if psCfg.paranoia.enable then '' set $mode_system (e)xit, (h)ibernate, (r)eboot, (Shift+s)hutdown '' else '' set $mode_system (e)xit, (l)ock, (s)uspend, (r)eboot, (Shift+s)hutdown '') + '' bindsym $mod+0 mode "$mode_system" mode "$mode_system" { bindsym e exec swaymsg exit, mode "default" '' + (if psCfg.core.hibernation.enable then '' bindsym h exec systemctl hibernate, mode "default" '' else "") + (if !psCfg.paranoia.enable then '' bindsym l exec ${pkgs.swaylock-bg}/bin/swaylock-bg, mode "default" bindsym s exec systemctl suspend, mode "default" '' else "") + '' bindsym r exec systemctl reboot, mode "default" bindsym Shift+s exec systemctl poweroff, mode "default" # exit system mode: "Enter" or "Escape" bindsym Return mode "default" bindsym Escape mode "default" } ''