nix-config/modules/nixos-modules/server/searx.nix
2025-01-02 18:13:10 -06:00

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@";
};
};
};
};
};
}