upower: load config from /etc

In the process of making UPower.conf customizable (#73968), it came up
that UPower doesn't load its config from /etc by default.

The UPower derivation is modified to make it load its config from /etc
at runtime, but still install the default config to its nix store path
as before.

The UPower module is modified to put the config in /etc.
This commit is contained in:
Matthew Harm Bekkema 2019-12-03 20:50:42 +11:00
parent aecfea098e
commit f83a83f964
2 changed files with 15 additions and 16 deletions

View File

@ -220,9 +220,7 @@ in
systemd.packages = [ cfg.package ]; systemd.packages = [ cfg.package ];
systemd.services.upower.environment.UPOWER_CONF_FILE_NAME = pkgs.writeTextFile { environment.etc."UPower/UPower.conf".text = generators.toINI {} {
name = "UPower.conf";
text = generators.toINI {} {
UPower = { UPower = {
EnableWattsUpPro = cfg.enableWattsUpPro; EnableWattsUpPro = cfg.enableWattsUpPro;
NoPollBatteries = cfg.noPollBatteries; NoPollBatteries = cfg.noPollBatteries;
@ -238,6 +236,5 @@ in
}; };
}; };
}; };
};
} }

View File

@ -52,12 +52,14 @@ stdenv.mkDerivation {
"--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
"--with-systemdutildir=${placeholder "out"}/lib/systemd" "--with-systemdutildir=${placeholder "out"}/lib/systemd"
"--with-udevrulesdir=${placeholder "out"}/lib/udev/rules.d" "--with-udevrulesdir=${placeholder "out"}/lib/udev/rules.d"
"--sysconfdir=/etc"
]; ];
doCheck = false; # fails with "env: './linux/integration-test': No such file or directory" doCheck = false; # fails with "env: './linux/integration-test': No such file or directory"
installFlags = [ installFlags = [
"historydir=$(TMPDIR)/foo" "historydir=$(TMPDIR)/foo"
"sysconfdir=${placeholder "out"}/etc"
]; ];
meta = with stdenv.lib; { meta = with stdenv.lib; {