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