From 1ff6f0eb48961e6482ec1b7d0dd9b606e85ddc79 Mon Sep 17 00:00:00 2001 From: adikro Date: Thu, 12 Feb 2026 00:41:07 +0100 Subject: disko and bootloader changes --- os/core/power.nix | 64 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 28 deletions(-) (limited to 'os/core/power.nix') diff --git a/os/core/power.nix b/os/core/power.nix index 3929033..b3dbf91 100644 --- a/os/core/power.nix +++ b/os/core/power.nix @@ -2,45 +2,53 @@ config, lib, ... -}: let +}: +let cfg = config.os.core.power; -in { +in +{ options.os.core.power = { enable = lib.mkEnableOption "enables power management"; mode = lib.mkOption { - type = lib.types.enum ["amd" "intel" "none"]; + type = lib.types.enum [ + "amd" + "intel" + "none" + ]; default = "none"; }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - powerManagement.powertop.enable = true; - boot.kernelParams = ["nvme_core.default_ps_max_latency_us=0"]; - } + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + powerManagement.powertop.enable = true; + boot.kernelParams = [ "nvme_core.default_ps_max_latency_us=0" ]; + } - (lib.mkIf (cfg.mode == "amd") { - services.power-profiles-daemon.enable = true; - boot.kernelParams = ["amd_pstate=active"]; - }) + (lib.mkIf (cfg.mode == "amd") { + services.power-profiles-daemon.enable = true; + boot.kernelParams = [ "amd_pstate=active" ]; + }) - (lib.mkIf (cfg.mode == "intel") { - services = { - power-profiles-daemon.enable = false; + (lib.mkIf (cfg.mode == "intel") { + services = { + power-profiles-daemon.enable = false; - thermald.enable = true; - tlp = { - enable = true; - settings = { - START_CHARGE_THRESH_BAT0 = 75; - STOP_CHARGE_THRESH_BAT0 = 80; - START_CHARGE_THRESH_BAT1 = 75; - STOP_CHARGE_THRESH_BAT1 = 80; - CPU_SCALING_GOVERNOR_ON_AC = "performance"; - CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; + thermald.enable = true; + tlp = { + enable = true; + settings = { + START_CHARGE_THRESH_BAT0 = 75; + STOP_CHARGE_THRESH_BAT0 = 80; + START_CHARGE_THRESH_BAT1 = 75; + STOP_CHARGE_THRESH_BAT1 = 80; + CPU_SCALING_GOVERNOR_ON_AC = "performance"; + CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; + }; }; }; - }; - }) - ]); + }) + ] + ); } -- cgit v1.3