41 lines
959 B
Nix
41 lines
959 B
Nix
{
|
|
config,
|
|
lib,
|
|
inputs,
|
|
...
|
|
}: {
|
|
options.host.searx = {
|
|
enable = lib.mkEnableOption "should searx be enabled on this computer";
|
|
subdomain = lib.mkOption {
|
|
type = lib.types.str;
|
|
description = "subdomain of base domain that searx will be hosted at";
|
|
default = "searx";
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf config.host.searx.enable {
|
|
sops.secrets = {
|
|
"services/searx" = {
|
|
sopsFile = "${inputs.secrets}/defiant-services.yaml";
|
|
};
|
|
};
|
|
host = {
|
|
reverse_proxy.subdomains.${config.host.searx.subdomain} = {
|
|
target = "http://localhost:${toString config.services.searx.settings.server.port}";
|
|
};
|
|
};
|
|
services = {
|
|
searx = {
|
|
enable = true;
|
|
environmentFile = config.sops.secrets."services/searx".path;
|
|
settings = {
|
|
server = {
|
|
port = 8083;
|
|
secret_key = "@SEARXNG_SECRET@";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|