{
	config,
	pkgs,
	...
}: {
	services.searx = {
		enable  = true;
		package = pkgs.searxng;
		# REF: https://github.com/searxng/searxng/blob/master/searx/settings.yml
		settings = {
			general = {
				debug          = false;
				enable_metrics = false;
				instance_name  = "SearX";
			};
			server = {
				# bind_address    = cfg.address;
				image_proxy     = false;
				limiter         = false;
				method          = "GET";
				port            = 34972;
				public_instance = false;
				secret_key      = "searxxx";
			};
			search = {
				autocomplete     = "";
				autocomplete_min = 4;
				default_lang     = "auto";
				safe_search      = 0;
			};
			ui = {
				center_alignment = false;
				default_locale   = "";
				default_theme    = "simple";
				hotkeys          = "vim";
				infinite_scroll  = false;
				simple_style     = "dark";
			};
			outgoing = {
				enable_http2        = true;
				max_request_timeout = 10.0;
				pool_connections    = 100;
				pool_maxsize        = 20;
				request_timeout     = 3.0;
				# proxies = {
				#   "all://" = with config.container.module; [
				#     # "socks5:${frkn.address}:${frkn.port}"
				#     "socks5:${frkn.address}:1081"
				#     # "socks5:${frkn.address}:9150"
				#   ];
				# };
				# using_tor_proxy = true;
				# extra_proxy_timeout = 10;
			};
			# plugins = [ ];
			enabled_plugins = [
				"Basic Calculator"
				"Hostnames plugin"
				"Tracker URL remover"
			];
			hostnames = {
				replace = {
					"(.*\.)?youtu\.be$"    = "yt.voronind.com";
					"(.*\.)?youtube\.com$" = "yt.voronind.com";
				};
				remove = [
					"(.*\.)?dzen\.ru$"
					"(.*\.)?facebook.com$"
					"(.*\.)?gosuslugi\.ru$"
					"(.*\.)?quora\.com$"
					"(.*\.)?rutube\.ru$"
					"(.*\.)?vk\.com$"
				];
				low_priority = [
					"(.*\.)?google(\..*)?$"
					"(.*\.)?microsoft\.com$"
				];
				high_priority = [
					"(.*\.)?4pda.to$"
					"(.*\.)?github.com$"
					"(.*\.)?wikipedia.org$"
				];
			};
			categories_as_tabs = {
				files   = { };
				general = { };
				images  = { };
				it      = { };
				map     = { };
				news    = { };
				videos  = { };
			};
			engines = let
				mkEnable = name: {
					inherit name;
					disabled = false;
				};
				mkDisable = name: {
					inherit name;
					disabled = true;
				};
			in [
				(mkEnable "bing")
				(mkDisable "qwant")
			];
		};
	};
}