Enable hibernation on thinker
This commit is contained in:
parent
ceace24dae
commit
1675f40ec3
4 changed files with 45 additions and 11 deletions
|
@ -1,4 +1,6 @@
|
||||||
{outputs, ...}: {
|
{outputs, ...}: let
|
||||||
|
scale = 1.5;
|
||||||
|
in {
|
||||||
imports = with outputs.homeManagerModules; [
|
imports = with outputs.homeManagerModules; [
|
||||||
sway
|
sway
|
||||||
sway-laptop
|
sway-laptop
|
||||||
|
@ -9,7 +11,7 @@
|
||||||
settings = {
|
settings = {
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
monitor = [
|
monitor = [
|
||||||
"eDP-1,2256x1504@60,0x0,1.5"
|
"eDP-1,2256x1504@60,0x0,${toString scale}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -19,7 +21,7 @@
|
||||||
output = {
|
output = {
|
||||||
"BOE 0x0BCA Unknown" = {
|
"BOE 0x0BCA Unknown" = {
|
||||||
mode = "2256x1504@60Hz";
|
mode = "2256x1504@60Hz";
|
||||||
scale = "1.25";
|
scale = toString scale;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,5 +2,6 @@
|
||||||
imports = with outputs.homeManagerModules; [
|
imports = with outputs.homeManagerModules; [
|
||||||
sway
|
sway
|
||||||
sway-laptop
|
sway-laptop
|
||||||
|
hyprland
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,17 @@
|
||||||
|
|
||||||
# TODO: hibernation? does sleep suffice?
|
# TODO: hibernation? does sleep suffice?
|
||||||
|
|
||||||
|
services.fwupd.enable = true;
|
||||||
|
services.fwupd.extraRemotes = ["lvfs-testing"];
|
||||||
|
|
||||||
|
hardware.opengl.extraPackages = [
|
||||||
|
pkgs.rocmPackages.clr.icd
|
||||||
|
pkgs.amdvlk
|
||||||
|
# encoding/decoding acceleration
|
||||||
|
pkgs.libvdpau-va-gl
|
||||||
|
pkgs.vaapiVdpau
|
||||||
|
];
|
||||||
|
|
||||||
hardware.wirelessRegulatoryDatabase = true;
|
hardware.wirelessRegulatoryDatabase = true;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
@ -38,8 +49,8 @@
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"amdgpu.sg_display=0"
|
"amdgpu.sg_display=0"
|
||||||
"acpi_osi=\"!Windows 2020\""
|
"acpi_osi=\"!Windows 2020\""
|
||||||
# "nvme.noacpi=1" # maybe causing crashes?
|
# "nvme.noacpi=1" # maybe causing crashes upon waking?
|
||||||
"rtc_cmos.use_acpi_alarm=1"
|
# "rtc_cmos.use_acpi_alarm=1" # maybe causing excessive battery drain while sleeping -- perhaps due to waking?
|
||||||
];
|
];
|
||||||
initrd.availableKernelModules = ["xhci_pci" "nvme" "thunderbolt"];
|
initrd.availableKernelModules = ["xhci_pci" "nvme" "thunderbolt"];
|
||||||
kernelModules = ["kvm-amd"];
|
kernelModules = ["kvm-amd"];
|
||||||
|
|
|
@ -9,6 +9,27 @@
|
||||||
}: {
|
}: {
|
||||||
networking.hostName = "thinker";
|
networking.hostName = "thinker";
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
# TODO: move this to disko?
|
||||||
|
# sudo btrfs subvolume create /swap
|
||||||
|
# sudo btrfs filesystem mkswapfile --size 32g --uuid clear /swap/swapfile
|
||||||
|
# sudo swapon /swap/swapfile
|
||||||
|
{device = "/swap/swapfile";}
|
||||||
|
];
|
||||||
|
|
||||||
|
# findmnt -no UUID -T /swap/swapfile
|
||||||
|
boot.resumeDevice = "/dev/disk/by-uuid/aacd6814-a5a2-457a-bf65-8d970cb1f03d";
|
||||||
|
|
||||||
|
services.logind = {
|
||||||
|
lidSwitch = "suspend-then-hibernate";
|
||||||
|
extraConfig = ''
|
||||||
|
HandlePowerKey=suspend-then-hibernate
|
||||||
|
IdleAction=suspend-then-hibernate
|
||||||
|
IdleActionSec=1m
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
systemd.sleep.extraConfig = "HibernateDelaySec=30m";
|
||||||
|
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
inputs.disko.nixosModules.disko
|
inputs.disko.nixosModules.disko
|
||||||
|
@ -26,17 +47,16 @@
|
||||||
# ./relative-module.nix
|
# ./relative-module.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# TODO: hibernation? I've been using [deep] in /sys/power/mem_sleep alright
|
|
||||||
# with this machine so it may not be necessary?
|
|
||||||
# need to measure percentage lost per day, but I think it's around 10%/day
|
|
||||||
# it looks like I may have had hibernation working -- see ../old/third.nix
|
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
};
|
};
|
||||||
kernelParams = ["boot.shell_on_fail"];
|
# sudo filefrag -v /swap/swapfile | awk '$1=="0:" {print substr($4, 1, length($4)-2)}'
|
||||||
|
# the above won't work for btrfs, instead you need
|
||||||
|
# btrfs inspect-internal map-swapfile -r /swap/swapfile
|
||||||
|
# https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file
|
||||||
|
kernelParams = ["boot.shell_on_fail" "resume_offset=22816000"];
|
||||||
initrd.availableKernelModules = ["xhci_pci" "nvme" "ahci"];
|
initrd.availableKernelModules = ["xhci_pci" "nvme" "ahci"];
|
||||||
};
|
};
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
Loading…
Reference in a new issue