forked from pub-solar/os
Fix hibernation
The resumeDevice and kernel `resume` parameter were being used wrong. Only `boot.resumeDevice` is necessary, and it should point at the _block device_ that holds the swapfile. If you are running on encrypted volumes, this means you will need to use the name of the *decrypted block device* on which the swapfile sits.
This commit is contained in:
parent
80e71ca547
commit
dc8257f31f
|
@ -13,7 +13,7 @@ in
|
|||
|
||||
resumeDevice = mkOption {
|
||||
type = types.str;
|
||||
default = "/swapfile";
|
||||
default = "/dev/sda1";
|
||||
description = "The location of the hibernation resume swap file.";
|
||||
};
|
||||
|
||||
|
@ -27,12 +27,9 @@ in
|
|||
config = {
|
||||
boot = mkIf cfg.enable {
|
||||
resumeDevice = cfg.resumeDevice;
|
||||
kernelParams = [
|
||||
"resume=${cfg.resumeDevice}"
|
||||
] ++ (
|
||||
kernelParams =
|
||||
if (cfg.resumeOffset == null && cfg.enable) then builtins.abort "config.pub-solar.resumeOffset has to be set if config.pub-solar.enable is true."
|
||||
else [ "resume_offset=${cfg.resumeOffset}" ]
|
||||
);
|
||||
else [ "resume_offset=${builtins.toString cfg.resumeOffset}" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
bindsym $mod+0 mode "$mode_system"
|
||||
mode "$mode_system" {
|
||||
bindsym e exec swaymsg exit, mode "default"
|
||||
'' + (if !psCfg.core.hibernation.enable then ''
|
||||
'' + (if psCfg.core.hibernation.enable then ''
|
||||
bindsym h exec systemctl hibernate, mode "default"
|
||||
'' else "")
|
||||
+ (if !psCfg.paranoia.enable then ''
|
||||
|
|
Loading…
Reference in a new issue