Searx
services.searx.enable
Whether to enable Searx, the meta search engine.
Type: boolean
Default
false
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/searx.nix
services.searx.environmentFile
Environment file (see systemd.exec(5)
"EnvironmentFile=" section for the syntax) to define variables for
Searx. This option can be used to safely include secret keys into the
Searx configuration.
Type: null or path
Default
null
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/searx.nix
services.searx.limiterSettings
Limiter settings for SearXNG.
::: {.note} For available settings, see the SearXNG schema file. :::
Type: attribute set of (JSON value)
Default
{ }
Example
{real_ip = {x_for = 1;ipv4_prefix = 32;ipv6_prefix = 56;}botdetection.ip_lists.block_ip = [# "93.184.216.34" # example.org];}
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/searx.nix
services.searx.package
The searxng package to use.
Type: package
Default
pkgs.searxng
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/searx.nix
services.searx.redisCreateLocally
Configure a local Redis server for SearXNG. This is required if you want to enable the rate limiter and bot protection of SearXNG.
Type: boolean
Default
false
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/searx.nix
services.searx.runInUwsgi
Whether to run searx in uWSGI as a "vassal", instead of using its built-in HTTP server. This is the recommended mode for public or large instances, but is unnecessary for LAN or local-only use.
::: {.warning} The built-in HTTP server logs all queries by default. :::
Type: boolean
Default
false
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/searx.nix
services.searx.settings
Searx settings. These will be merged with (taking precedence over)
the default configuration. It's also possible to refer to
environment variables
(defined in )
using the syntax @VARIABLE_NAME@
.
::: {.note} For available settings, see the Searx docs. :::
Type: attribute set of (JSON value)
Default
{ }
Example
`#!nix { server.port = 8080; server.bind_address = "0.0.0.0"; server.secret_key = "@SEARX_SECRET_KEY@";
engines = lib.singleton { name = "wolframalpha"; shortcut = "wa"; api_key = "@WOLFRAM_API_KEY@"; engine = "wolframalpha_api"; }; } `
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/searx.nix
services.searx.settingsFile
The path of the Searx server settings.yml file. If no file is specified, a default file is used (default config file has debug mode enabled). Note: setting this options overrides .
::: {.warning} This file, along with any secret key it contains, will be copied into the world-readable Nix store. :::
Type: path
Default
"/run/searx/settings.yml"
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/searx.nix
services.searx.uwsgiConfig
Additional configuration of the uWSGI vassal running searx. It should notably specify on which interfaces and ports the vassal should listen.
Type: Json value or lambda
Default
{http = ":8080";}
Example
{disable-logging = true;http = ":8080"; # serve via HTTP...socket = "/run/searx/searx.sock"; # ...or UNIX socketchmod-socket = "660"; # allow the searx group to read/write to the socket}
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/searx.nix