pub-solar-os/modules/sway/config/config.d/mode_system.conf.nix

51 lines
1.1 KiB
Nix
Raw Normal View History

2022-11-20 22:28:23 +00:00
{
pkgs,
psCfg,
...
}:
''
2022-08-14 17:59:01 +00:00
# Set shut down, restart and locking features
2022-11-20 22:28:23 +00:00
''
+ (
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
''
)
2022-10-01 21:12:48 +00:00
+ ''
2022-08-14 17:59:01 +00:00
bindsym $mod+0 mode "$mode_system"
mode "$mode_system" {
bindsym e exec swaymsg exit, mode "default"
2022-11-20 22:28:23 +00:00
''
+ (
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 ""
)
+ ''
2022-08-14 17:59:01 +00:00
bindsym r exec systemctl reboot, mode "default"
bindsym Shift+s exec systemctl poweroff, mode "default"
2022-08-14 17:59:01 +00:00
# exit system mode: "Enter" or "Escape"
bindsym Return mode "default"
bindsym Escape mode "default"
}
''