Laptop: Difference between revisions

Phobos (talk | contribs)
Corrected config
DHCP (talk | contribs)
m fix the language parameter in {{file}} template
 
(3 intermediate revisions by 2 users not shown)
Line 19: Line 19:
A common tool used to save power on laptops is [https://linrunner.de/tlp/index.html TLP], which has sensible defaults for most laptops. To enable TLP you simply just write <code>services.tlp.enable = true;</code> in your <code>configuration.nix</code>. However, if you need a specific configuration, you can do as shown in the example below.
A common tool used to save power on laptops is [https://linrunner.de/tlp/index.html TLP], which has sensible defaults for most laptops. To enable TLP you simply just write <code>services.tlp.enable = true;</code> in your <code>configuration.nix</code>. However, if you need a specific configuration, you can do as shown in the example below.


<syntaxHighlight lang=nix>
{{file|configuration.nix|nix|3=
services.tlp = {
services.tlp = {
   enable = true;
   enable = true;
Line 35: Line 35:


     # Optional helps save long term battery health
     # Optional helps save long term battery health
     START_CHARGE_THRESH_BAT0 = 40; # 40 and bellow it starts to charge
     START_CHARGE_THRESH_BAT0 = 40; # 40 and below it starts to charge
     STOP_CHARGE_THRESH_BAT0 = 80;  # 80 and above it stops charging
     STOP_CHARGE_THRESH_BAT0 = 80;  # 80 and above it stops charging
   };
   };
};
};
</syntaxHighlight>
}}


This example enables TLP and sets the minimum and maximum frequencies for the CPU based on whether it is plugged into power or not. It also changes the CPU scaling governor based on this.
This example enables TLP and sets the minimum and maximum frequencies for the CPU based on whether it is plugged into power or not. It also changes the CPU scaling governor based on this.
Line 47: Line 47:


Example of how to configure auto-cpufreq:
Example of how to configure auto-cpufreq:
<syntaxHighlight lang=nix>
{{file|configuration.nix|nix|3=
services.auto-cpufreq.enable = true;
services.auto-cpufreq.enable = true;
services.auto-cpufreq.settings = {
services.auto-cpufreq.settings = {
Line 59: Line 59:
   };
   };
};
};
</syntaxHighlight>
}}
Alternatively, if you have [[Flakes]] enabled you can also use the flake directly provided by the auto-cpufreq authors to get a more up-to-date version.  They offer a detailed explanation how to add it to your system on their [https://github.com/AdnanHodzic/auto-cpufreq?tab=readme-ov-file#nixos GitHub page].
Alternatively, if you have [[Flakes]] enabled you can also use the flake directly provided by the auto-cpufreq authors to get a more up-to-date version.  They offer a detailed explanation how to add it to your system on their [https://github.com/AdnanHodzic/auto-cpufreq?tab=readme-ov-file#nixos GitHub page].


To summarize:</br>
To summarize:</br>
1) add the flake as an input to your <code>flake.nix</code> file and enable the module:
1) add the flake as an input to your <code>flake.nix</code> file and enable the module:
<syntaxhighlight lang="nix">
{{file|flake.nix|nix|3=
# flake.nix
{
{
   inputs =
   inputs =
Line 89: Line 88:
   };
   };
}
}
</syntaxhighlight>2) Then enable it in your <code>configuration.nix</code> file:
}}
<syntaxhighlight lang="nix">
2) Then enable it in your <code>configuration.nix</code> file:
# configuration.nix
{{file|configuration.nix|nix|3=
{ inputs, pkgs, ... }: {
{ inputs, pkgs, ... }: {
   # ---Snip---
   # ---Snip---
Line 110: Line 109:
   # ---Snip---
   # ---Snip---
}
}
</syntaxhighlight>
}}
Since v2.0 auto-cpufreq also includes a GUI that lets you temporarily override the CPU frequency governor setting.
Since v2.0 auto-cpufreq also includes a GUI that lets you temporarily override the CPU frequency governor setting.