nixos/hosts/architect/searx.nix

65 lines
1.5 KiB
Nix
Raw Normal View History

2023-10-29 15:16:08 +00:00
{ config, pkgs, ... }:
2023-02-24 21:22:42 +00:00
let
2023-10-29 15:16:08 +00:00
domain = "search.giugl.io";
2023-02-24 21:22:42 +00:00
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 = {
2023-10-29 15:16:08 +00:00
instance_name = "PepoSearch";
contact_url = "mailto:search@depasquale.giugl.io";
enable_metrics = true;
2023-02-24 21:22:42 +00:00
};
search = {
safe_search = 0;
2023-10-29 15:16:08 +00:00
autocomplete = "google";
2023-02-24 21:22:42 +00:00
prefer_configured_language = false;
2025-03-10 12:31:03 +00:00
formats = [ "html" "json"];
2023-02-24 21:22:42 +00:00
};
ui = {
infinite_scroll = true;
query_in_title = true;
results_on_new_tab = true;
2023-02-24 21:30:26 +00:00
theme_args.simple_style = "dark";
2023-02-24 21:22:42 +00:00
};
redis.url = "redis://127.0.0.1:${toString config.services.redis.servers."searx".port}";
engines = [
{ name = "google"; disabled = false; }
{ name = "bing"; disabled = false; }
2025-03-10 12:31:03 +00:00
{ name = "qwant"; disabled = true; }
{ name = "brave"; disabled = true; }
{ name = "duckduckgo"; disabled = false; }
2023-02-24 21:22:42 +00:00
];
};
};
2023-10-29 15:16:08 +00:00
};
2023-02-24 21:22:42 +00:00
2023-10-29 15:16:08 +00:00
architect.vhost.${domain} = with config.architect.networks; {
dnsInterfaces = [ "tailscale" ];
locations."/" = {
port = config.services.searx.settings.server.port;
allowLan = true;
2025-03-10 12:31:03 +00:00
allowWAN = true;
2023-10-29 15:16:08 +00:00
allow = [
tailscale.net
];
2023-02-24 21:22:42 +00:00
};
};
}