flake/modules/nixos/server/search.nix

43 lines
1.4 KiB
Nix

{ pkgs, lib, config, ... }:
let
inherit (lib) types mkOption mkEnableOption;
cfg = config.mods.server.search;
port = config.mods.server.nginx.ports.search;
in {
options.mods.server.search = {
enable = mkEnableOption {
default = false;
description = "enables search engine server";
};
};
config = {
services.searx = lib.mkIf cfg.enable {
enable = true;
settings = {
server.port = port;
server.bind_address = "0.0.0.0";
server.secret_key = "temporary-before-sops";
enabled_plugins = [ "Hostnames plugin" "Tracker URL remover" ];
hostnames.remove = [ "(.*.)?facebook.com$" ];
hostnames.replace = {
# Self-hosted
"(.*.)?reddit.com$" = "reddit.muon.host";
# "(.*.)?youtube.com$" = "videos.muon.host"; # TODO not working
# External
"(.*.)?youtube.com$" = "invidious.nerdvpn.de";
"(.*.)?imdb.com$" = "libremdb.iket.me";
"(.*.)?imgur.com$" = "rimgo.privacyredirect.com";
"(.*.)?twitch.com$" = "safetwitch.privacyredirect.com";
"(.*.)?wikipedia.com$" = "wikiless.privacyredirect.com";
"(.*.)?medium.com$" = "scribe.privacyredirect.com";
"(.*.)?stackoverflow.com$" = "anonymousoverflow.privacyredirect.com";
"(.*.)?github.com$" = "gothub.privacyredirect.com";
};
};
};
};
}