silent workspace sending, more laptop hardware management

This commit is contained in:
2025-11-14 13:35:46 +00:00
parent e52780a779
commit 7d2d003ece
3 changed files with 37 additions and 5 deletions
+23 -5
View File
@@ -31,34 +31,52 @@
boot.resumeDevice = "/dev/disk/by-uuid/c7704142-d0b9-4a85-af1c-ce776b895c0f";
boot.kernelParams = [
"resume_offset=13629440"
"mem_sleep_default=deep"
"mem_sleep_default=s2idle"
];
boot.initrd.postMountCommands = lib.mkAfter ''
swapon /mnt-root/var/swapfile
'';
boot.kernelPackages = pkgs.linuxPackages_latest;
services.system76-scheduler.enable = true;
services.tailscale.enable = false;
services.power-profiles-daemon.enable = false;
services.auto-cpufreq.enable = false;
services.thermald.enable = true;
systemd.services.charge-thresholds = {
description = "Set System76 battery charge thresholds";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; # Ensure daemon is ready
wantedBy = [ "multi-user.target" "post-resume.target" ];
after = [ "network.target" "suspend.target" "hibernate.target" "hybrid-sleep.target" ]; # Ensures it runs post-resume
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.system76-power}/bin/system76-power charge-thresholds --profile balanced";
RemainAfterExit = true;
};
};
services.logind.lidSwitch = "suspend-then-hibernate";
systemd.services.thunderbolt-suspend = {
description = "Disable Thunderbolt on suspend";
wantedBy = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.bolt}/bin/boltctl forget --all"; # Or echo 1 > /sys/bus/thunderbolt/devices/*/authorized if no bolt
};
};
systemd.services.thunderbolt-resume = {
description = "Re-enable Thunderbolt on resume";
wantedBy = [ "post-resume.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.bolt}/bin/boltctl authorize --all"; # Adjust as needed
};
};
systemd.sleep.extraConfig = ''
HibernateDelaySec=20m
SuspendState=mem
'';
services.logind.lidSwitch = "suspend-then-hibernate";
services.hardware.bolt.enable = true;
home-manager = {
useGlobalPkgs = true;
extraSpecialArgs = { inherit inputs; inherit cfg; };