anchor.diff:          '';
         };
   
  +      extraRemotes = mkOption {
  +        type = with types; listOf str;
  +        default = [];
  +        example = [ "lvfs-testing" ];
  +        description = lib.mdDoc ''
  +          Enables extra remotes in fwupd. See `/etc/fwupd/remotes.d`.
  +        '';
  +      };
  +
         enableTestRemote = mkOption {
           type = types.bool;
           default = false;
  
positive.code:       mkEtcFile = p: nameValuePair (mkName p) { source = p; };
      in listToAttrs (map mkEtcFile cfg.extraTrustedKeys);
  
    # We cannot include the file in $out and rely on filesInstalledToEtc
    # to install it because it would create a cyclic dependency between
    # the outputs. We also need to enable the remote,
    # which should not be done by default.
    testRemote = if cfg.enableTestRemote then {
      "fwupd/remotes.d/fwupd-tests.conf" = {
        source = pkgs.runCommand "fwupd-tests-enabled.conf" {} ''
          sed "s,^Enabled=false,Enabled=true," \
          "${cfg.package.installedTests}/etc/fwupd/remotes.d/fwupd-tests.conf" > "$out"
        '';
      };
    } else {};
  in {
  
    ###### interface
  
negative.code:     environment.systemPackages = [ cfg.package ];
  
      # customEtc overrides some files from the package
      environment.etc = originalEtc // customEtc // extraTrustedKeys // remotes;
  
      services.dbus.packages = [ cfg.package ];
  
  