···5151 # to install it because it would create a cyclic dependency between
5252 # the outputs. We also need to enable the remote,
5353 # which should not be done by default.
5454- lib.optionalAttrs cfg.enableTestRemote (enableRemote cfg.package.installedTests "fwupd-tests")
5454+ lib.optionalAttrs
5555+ (cfg.daemonSettings.TestDevices or false)
5656+ (enableRemote cfg.package.installedTests "fwupd-tests")
5557 );
56585759in {
···8688 '';
8789 };
88908989- enableTestRemote = mkOption {
9090- type = types.bool;
9191- default = false;
9292- description = lib.mdDoc ''
9393- Whether to enable test remote. This is used by
9494- [installed tests](https://github.com/fwupd/fwupd/blob/master/data/installed-tests/README.md).
9595- '';
9696- };
9797-9891 package = mkPackageOption pkgs "fwupd" { };
999210093 daemonSettings = mkOption {
···128121 or if this partition is not mounted at /boot/efi, /boot, or /efi
129122 '';
130123 };
124124+125125+ TestDevices = mkOption {
126126+ type = types.bool;
127127+ default = false;
128128+ description = lib.mdDoc ''
129129+ Create virtual test devices and remote for validating daemon flows.
130130+ This is only intended for CI testing and development purposes.
131131+ '';
132132+ };
131133 };
132134 };
133135 default = {};
···159161 config = mkIf cfg.enable {
160162 # Disable test related plug-ins implicitly so that users do not have to care about them.
161163 services.fwupd.daemonSettings = {
162162- DisabledPlugins = cfg.package.defaultDisabledPlugins;
163164 EspLocation = config.boot.loader.efi.efiSysMountPoint;
164165 };
165166