{
  lib,
  config,
  pkgs,
  ...
}: let
  cfg = config.marleyos.programs.curl;
in {
  options.marleyos.programs.curl.enable = lib.mkEnableOption "curl";

  config = lib.mkIf cfg.enable {
    home.packages = with pkgs; [
      curl
    ];

    xdg.configFile.".curlrc".text =
      # ini
      ''
        # Limit the timeout in seconds.
        connect-timeout = 60

        # Follow HTTP redirects.
        location

        # Show error messages.
        show-error

        # Disguise as IE 9 on Windows 7.
        user-agent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
      '';
  };
}
