29 lines
1.1 KiB
Nix
29 lines
1.1 KiB
Nix
{ 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"
|
|
}
|
|
''
|