nixos/fwupd: add package option

This commit is contained in:
Martin Weinelt 2019-08-29 17:22:24 +02:00
parent 604b7c139f
commit af1c07b679

View File

@ -8,8 +8,8 @@ let
cfg = config.services.fwupd; cfg = config.services.fwupd;
originalEtc = originalEtc =
let let
mkEtcFile = n: nameValuePair n { source = "${pkgs.fwupd}/etc/${n}"; }; mkEtcFile = n: nameValuePair n { source = "${cfg.package}/etc/${n}"; };
in listToAttrs (map mkEtcFile pkgs.fwupd.filesInstalledToEtc); in listToAttrs (map mkEtcFile cfg.package.filesInstalledToEtc);
extraTrustedKeys = extraTrustedKeys =
let let
mkName = p: "pki/fwupd/${baseNameOf (toString p)}"; mkName = p: "pki/fwupd/${baseNameOf (toString p)}";
@ -24,7 +24,7 @@ let
"fwupd/remotes.d/fwupd-tests.conf" = { "fwupd/remotes.d/fwupd-tests.conf" = {
source = pkgs.runCommand "fwupd-tests-enabled.conf" {} '' source = pkgs.runCommand "fwupd-tests-enabled.conf" {} ''
sed "s,^Enabled=false,Enabled=true," \ sed "s,^Enabled=false,Enabled=true," \
"${pkgs.fwupd.installedTests}/etc/fwupd/remotes.d/fwupd-tests.conf" > "$out" "${cfg.package.installedTests}/etc/fwupd/remotes.d/fwupd-tests.conf" > "$out"
''; '';
}; };
} else {}; } else {};
@ -77,13 +77,21 @@ in {
<link xlink:href="https://github.com/hughsie/fwupd/blob/master/data/installed-tests/README.md">installed tests</link>. <link xlink:href="https://github.com/hughsie/fwupd/blob/master/data/installed-tests/README.md">installed tests</link>.
''; '';
}; };
package = mkOption {
type = types.package;
default = pkgs.fwupd;
description = ''
Which fwupd package to use.
'';
};
}; };
}; };
###### implementation ###### implementation
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.fwupd ]; environment.systemPackages = [ cfg.package ];
environment.etc = { environment.etc = {
"fwupd/daemon.conf" = { "fwupd/daemon.conf" = {
@ -102,11 +110,11 @@ in {
} // originalEtc // extraTrustedKeys // testRemote; } // originalEtc // extraTrustedKeys // testRemote;
services.dbus.packages = [ pkgs.fwupd ]; services.dbus.packages = [ cfg.package ];
services.udev.packages = [ pkgs.fwupd ]; services.udev.packages = [ cfg.package ];
systemd.packages = [ pkgs.fwupd ]; systemd.packages = [ cfg.package ];
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d /var/lib/fwupd 0755 root root -" "d /var/lib/fwupd 0755 root root -"