aboutsummaryrefslogtreecommitdiff
path: root/modules/searx/default.nix
diff options
context:
space:
mode:
authoraethrvmn <me@aethrvmn.gr>2025-11-30 21:59:43 +0000
committeraethrvmn <me@aethrvmn.gr>2025-11-30 21:59:43 +0000
commit893ea11e1dc05fe1a2a34e66d4ebcfdffda34720 (patch)
treeef454e299f49cbb58e1b9fbafd0b759b4379ac2a /modules/searx/default.nix
parentadded .lock to ignorelist (diff)
huge restructure of modules
Diffstat (limited to 'modules/searx/default.nix')
-rw-r--r--modules/searx/default.nix126
1 files changed, 126 insertions, 0 deletions
diff --git a/modules/searx/default.nix b/modules/searx/default.nix
new file mode 100644
index 0000000..e8b3873
--- /dev/null
+++ b/modules/searx/default.nix
@@ -0,0 +1,126 @@
+{ config, pkgs, lib, ... }:
+{
+ services = {
+ searx = {
+ enable = true;
+ package = pkgs.searxng;
+
+ settings = {
+ server = {
+ port = 4000;
+ bind_address = "127.0.0.1";
+ secret_key = "secret_key";
+ };
+
+ general = {
+ debug = false;
+ instance_name = "SearXNG";
+ donation_url = false;
+ contact_url = false;
+ privacypolicy_url = false;
+ enable_metrics = false;
+ autocomplete = "startpage";
+ };
+
+ # Search engines
+ engines = lib.mapAttrsToList (name: value: { inherit name; } // value) {
+ # main boys
+ "brave" = {
+ disabled = false;
+ weight = 0.7;
+ };
+ "duckduckgo" = {
+ disabled = false;
+ weight = 0.7;
+ };
+ "ecosia" = {
+ disabled = false;
+ weight = 0.6;
+ };
+ "mojeek" = {
+ disabled = true;
+ weight = 0.4;
+ };
+ "qwant" = {
+ disabled = false;
+ weight = 0.4;
+ };
+ "startpage" = {
+ disabled = false;
+ weight = 1;
+ };
+ "wiby" = {
+ disabled = false;
+ weight = 0.4;
+ };
+
+ #
+ "openverse".disabled = false;
+
+ # repos
+ "bitbucket".disabled = false;
+ "codeberg".disabled = false;
+ "gitea.com".disabled = false;
+ "github".disabled = false;
+ "gitlab".disabled = false;
+ "huggingface".disabled = false;
+ "huggingface datasets".disabled = false;
+ "huggingface spaces".disabled = false;
+ "ollama".disabled = false;
+ "sourcehut".disabled = false;
+
+ # software wikis
+ "gentoo".disabled = false;
+ "nixos wiki".disabled = false;
+ "arch linux wiki".disabled = false;
+ "free software directory".disabled = false;
+
+ # IT etc
+ "mankier".disabled = false;
+ "searchcode code".disabled = false;
+
+ # translate
+ "mozhi".disabled = false;
+ "lingva".disabled = false;
+ "dictzone".disabled = false;
+ "libretranslate".disabled = false;
+
+ # # scams/don't trusts
+ "bing".disabled = true;
+ "yahoo".disabled = true;
+ "google".disabled = true;
+ };
+
+ # Outgoing requests
+ outgoing = {
+ request_timeout = 15.0;
+ max_request_timeout = 25.0;
+ pool_connections = 100;
+ pool_maxsize = 15;
+ useragent_suffix = "me@aethrvmn.gr";
+ retries = 5;
+ };
+
+ # Enabled plugins
+ enabled_plugins = [
+ "Basic Calculator"
+ "Hash plugin"
+ "Tor check plugin"
+ "Open Access DOI rewrite"
+ "Hostnames plugin"
+ "Unit converter plugin"
+ "Tracker URL remover"
+ ];
+ };
+ };
+
+ nginx.virtualHosts = {
+ "search.internal" = {
+ locations."/" = {
+ proxyPass = "http://127.0.0.1:4000";
+ proxyWebsockets = true;
+ };
+ };
+ };
+ };
+}
Directive (EU) 2019/790, Article 4(3); all rights regarding Text and Data Mining (TDM) are reserved.