Merge pull request #86632 from Atemu/undervolt-timer-optional
Undervolt: Make timer optional
This commit is contained in:
@@ -964,6 +964,13 @@ services.transmission.settings.rpc-bind-address = "0.0.0.0";
|
|||||||
The packages <package>perl</package>, <package>rsync</package> and <package>strace</package> were removed from <option>systemPackages</option>. If you need them, install them again with <code><xref linkend="opt-environment.systemPackages"/> = with pkgs; [ perl rsync strace ];</code> in your <filename>configuration.nix</filename>.
|
The packages <package>perl</package>, <package>rsync</package> and <package>strace</package> were removed from <option>systemPackages</option>. If you need them, install them again with <code><xref linkend="opt-environment.systemPackages"/> = with pkgs; [ perl rsync strace ];</code> in your <filename>configuration.nix</filename>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <literal>undervolt</literal> option no longer needs to apply its
|
||||||
|
settings every 30s. If they still become undone, open an issue and restore
|
||||||
|
the previous behaviour using <literal>undervolt.useTimer</literal>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -103,6 +103,17 @@ in
|
|||||||
The temperature target on battery power in Celsius degrees.
|
The temperature target on battery power in Celsius degrees.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useTimer = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to set a timer that applies the undervolt settings every 30s.
|
||||||
|
This will cause spam in the journal but might be required for some
|
||||||
|
hardware under specific conditions.
|
||||||
|
Enable this if your undervolt settings don't hold.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -114,6 +125,11 @@ in
|
|||||||
path = [ pkgs.undervolt ];
|
path = [ pkgs.undervolt ];
|
||||||
|
|
||||||
description = "Intel Undervolting Service";
|
description = "Intel Undervolting Service";
|
||||||
|
|
||||||
|
# Apply undervolt on boot, nixos generation switch and resume
|
||||||
|
wantedBy = [ "multi-user.target" "post-resume.target" ];
|
||||||
|
after = [ "post-resume.target" ]; # Not sure why but it won't work without this
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
Restart = "no";
|
Restart = "no";
|
||||||
@@ -121,7 +137,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.timers.undervolt = {
|
systemd.timers.undervolt = mkIf cfg.useTimer {
|
||||||
description = "Undervolt timer to ensure voltage settings are always applied";
|
description = "Undervolt timer to ensure voltage settings are always applied";
|
||||||
partOf = [ "undervolt.service" ];
|
partOf = [ "undervolt.service" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|||||||
Reference in New Issue
Block a user