Skip to content

Commit

Permalink
Merge upower: Upgrade to 1.90.6 and extend CriticalPowerActions (#341086
Browse files Browse the repository at this point in the history
)
  • Loading branch information
jtojnar authored Jan 10, 2025
2 parents 314d3ef + e811024 commit 5c4767a
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 5 deletions.
43 changes: 40 additions & 3 deletions nixos/modules/services/hardware/upower.nix
Original file line number Diff line number Diff line change
Expand Up @@ -179,24 +179,60 @@ in
'';
};

allowRiskyCriticalPowerAction = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable the risky critical power actions "Suspend" and "Ignore".
'';
};

criticalPowerAction = lib.mkOption {
type = lib.types.enum [ "PowerOff" "Hibernate" "HybridSleep" ];
type = lib.types.enum [
"PowerOff"
"Hibernate"
"HybridSleep"
"Suspend"
"Ignore"
];
default = "HybridSleep";
description = ''
The action to take when `timeAction` or
`percentageAction` has been reached for the batteries
(UPS or laptop batteries) supplying the computer
(UPS or laptop batteries) supplying the computer.
When set to `Suspend` or `Ignore`,
{option}`services.upower.allowRiskyCriticalPowerAction` must be set
to `true`.
'';
};

};

};


###### implementation

config = lib.mkIf cfg.enable {
assertions = [
{
assertion =
let
inherit (builtins) elem;
riskyActions = [
"Suspend"
"Ignore"
];
riskyActionEnabled = elem cfg.criticalPowerAction riskyActions;
in
riskyActionEnabled -> cfg.allowRiskyCriticalPowerAction;
message = ''
services.upower.allowRiskyCriticalPowerAction must be true if
services.upower.criticalPowerAction is set to
'${cfg.criticalPowerAction}'.
'';
}
];

environment.systemPackages = [ cfg.package ];

Expand All @@ -218,6 +254,7 @@ in
TimeLow = cfg.timeLow;
TimeCritical = cfg.timeCritical;
TimeAction = cfg.timeAction;
AllowRiskyCriticalPowerAction = cfg.allowRiskyCriticalPowerAction;
CriticalPowerAction = cfg.criticalPowerAction;
};
};
Expand Down
6 changes: 4 additions & 2 deletions pkgs/by-name/up/upower/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
, libusb1
, glib
, gettext
, polkit
, nixosTests
, useIMobileDevice ? true
, libimobiledevice
Expand All @@ -34,7 +35,7 @@ assert withDocs -> withIntrospection;

stdenv.mkDerivation (finalAttrs: {
pname = "upower";
version = "1.90.4";
version = "1.90.6";

outputs = [ "out" "dev" ]
++ lib.optionals withDocs [ "devdoc" ]
Expand All @@ -45,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "upower";
repo = "upower";
rev = "v${finalAttrs.version}";
hash = "sha256-5twHuDLisVF07Y5KYwlqWMi12+p6UpARJvoBN/+tX2o=";
hash = "sha256-Y3MIB6a11P00B/6E3UyoyjLLP8TIT3vM2FDO7zlBz/w=";
};

patches = lib.optionals (stdenv.hostPlatform.system == "i686-linux") [
Expand Down Expand Up @@ -121,6 +122,7 @@ stdenv.mkDerivation (finalAttrs: {

propagatedBuildInputs = [
glib
polkit
];

mesonFlags = [
Expand Down

0 comments on commit 5c4767a

Please sign in to comment.