67 lines
1.6 KiB
Nix
67 lines
1.6 KiB
Nix
{ mach-nix, lib, config, pkgs, ... }:
|
|
|
|
let
|
|
domain = "gugol.giugl.io";
|
|
network = import ./network.nix;
|
|
in
|
|
{
|
|
services = {
|
|
redis.servers."searx" = { enable = true; port = 4456; };
|
|
searx = {
|
|
enable = true;
|
|
package = pkgs.unstablePkgs.searxng;
|
|
|
|
environmentFile = /secrets/searx/env;
|
|
settings = {
|
|
server = {
|
|
secret_key = "@SEARX_SECRET_KEY@";
|
|
port = 4455;
|
|
};
|
|
|
|
general = {
|
|
instance_name = "Pepe's Gugol";
|
|
contact_url = "mailto:gugol@depasquale.giugl.io";
|
|
enable_metrics = false;
|
|
};
|
|
|
|
search = {
|
|
safe_search = 0;
|
|
autocomplete = "qwant";
|
|
prefer_configured_language = false;
|
|
};
|
|
|
|
ui = {
|
|
infinite_scroll = true;
|
|
query_in_title = true;
|
|
results_on_new_tab = true;
|
|
theme_args.simple_style = "dark";
|
|
};
|
|
|
|
redis.url = "redis://127.0.0.1:${toString config.services.redis.servers."searx".port}";
|
|
|
|
engines = [
|
|
{ name = "google"; disabled = false; }
|
|
{ name = "bing"; disabled = false; }
|
|
{ name = "qwant"; disabled = false; }
|
|
{ name = "duckduckgo"; disabled = false; }
|
|
];
|
|
};
|
|
};
|
|
|
|
nginx.virtualHosts.${domain} = {
|
|
forceSSL = true;
|
|
enableACME = true;
|
|
|
|
locations."/" = {
|
|
proxyPass = "http://127.0.0.1:${toString config.services.searx.settings.server.port}";
|
|
};
|
|
};
|
|
};
|
|
|
|
networking.extraHosts = ''
|
|
${network.architect-lan} ${domain}
|
|
${network.architect-wg} ${domain}
|
|
${network.architect-ts} ${domain}
|
|
'';
|
|
}
|