{ config, lib, ... }: with lib; let cfg = config.nixfiles.modules.aria2; in { options.nixfiles.modules.aria2.enable = mkEnableOption "aria2"; config = mkIf cfg.enable { hm.programs.aria2 = { enable = true; settings = { bt-max-peers = 128; bt-save-metadata = true; continue = true; enable-dht = true; enable-peer-exchange = true; enable-rpc = false; follow-torrent = true; log-level = "info"; max-connection-per-server = 16; max-overall-upload-limit = "1K"; max-tries = 5; max-upload-limit = "1K"; seed-ratio = 0.1; seed-time = 0.1; stream-piece-selector = "default"; timeout = 60; }; }; }; }