From 17886d135560d2a7a3732114d4cbd13761ba87b6 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Wed, 15 Jan 2025 22:14:49 -0500 Subject: [PATCH] feat: add searxng service --- .../cluster/modules/caddy/default.nix | 1 + configurations/cluster/modules/default.nix | 1 + configurations/cluster/modules/pcsd.nix | 6 ++ .../cluster/modules/searxng/default.nix | 73 ++++++++++++++++++ .../cluster/modules/searxng/logo.png | Bin 0 -> 27557 bytes flake.lock | Bin 57403 -> 57403 bytes homeManagerModules/firefox/default.nix | 13 +++- 7 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 configurations/cluster/modules/searxng/default.nix create mode 100644 configurations/cluster/modules/searxng/logo.png diff --git a/configurations/cluster/modules/caddy/default.nix b/configurations/cluster/modules/caddy/default.nix index 82bfe34d..73b0aecb 100644 --- a/configurations/cluster/modules/caddy/default.nix +++ b/configurations/cluster/modules/caddy/default.nix @@ -60,6 +60,7 @@ in { "Vaultwarden" = mkPublicReverseProxy "vault" "${nosIP}:8781" {}; "Hauk" = mkPublicReverseProxy "hauk" "${nosIP}:3003" {}; "Headscale" = mkPublicReverseProxy "headscale" "${clusterIP}:8085" {}; + "SearXNG" = mkPublicReverseProxy "search" "${clusterIP}:8080" {}; "Jellyfin" = mkPublicReverseProxy "jelly" "${nosIP}:8096" { subDirectories.jfa-go = { diff --git a/configurations/cluster/modules/default.nix b/configurations/cluster/modules/default.nix index 9233a79c..f16d29e5 100644 --- a/configurations/cluster/modules/default.nix +++ b/configurations/cluster/modules/default.nix @@ -5,6 +5,7 @@ ./headscale ./nfs-client.nix ./pcsd.nix + ./searxng ./unbound.nix ]; } diff --git a/configurations/cluster/modules/pcsd.nix b/configurations/cluster/modules/pcsd.nix index 75619ddf..455f355b 100644 --- a/configurations/cluster/modules/pcsd.nix +++ b/configurations/cluster/modules/pcsd.nix @@ -48,6 +48,12 @@ in { group = "caddy-grp"; startAfter = ["headscale"]; }; + + "searx" = { + enable = true; + group = "caddy-grp"; + startAfter = ["caddy"]; + }; }; nodes = [ diff --git a/configurations/cluster/modules/searxng/default.nix b/configurations/cluster/modules/searxng/default.nix new file mode 100644 index 00000000..b62b87b9 --- /dev/null +++ b/configurations/cluster/modules/searxng/default.nix @@ -0,0 +1,73 @@ +{ + config, + lib, + pkgs, + ... +}: let + inherit (lib) mapAttrsToList; +in { + services.searx = { + enable = true; + + package = pkgs.searxng.overrideAttrs (o: { + postInstall = '' + ${o.postInstall or ""} + # Replace logo + cp ${./logo.png} $out/${pkgs.python3.sitePackages}/searx/static/themes/simple/img/searxng.png + ''; + }); + + environmentFile = config.sops.secrets.searxng.path; + + settings = { + general = { + instance_name = "Search"; + debug = false; + enable_metrics = false; + }; + + search = { + autocomplete = "google"; + favicon_resolver = "google"; + + safe_search = 0; + + default_lang = "en-CA"; + }; + + ui = { + infinite_scroll = true; + query_in_title = true; + hotkeys = "vim"; + }; + + server = { + port = 8080; + bind_address = config.services.pcsd.virtualIps.caddy-vip.ip; + + secret_key = "@SEARXNG_SECRET@"; + + public_instance = false; + }; + + engines = mapAttrsToList (name: value: {inherit name;} // value) { + "duckduckgo".disabled = false; + "duckduckgo images".disabled = false; + "gitlab".disabled = false; + "qwant".disabled = false; + "reddit".disabled = false; + + "wikipedia" = { + engine = "wikipedia"; + shortcut = "w"; + base_url = "https://wikipedia.org/"; + }; + + "github" = { + engine = "github"; + shortcut = "gh"; + }; + }; + }; + }; +} diff --git a/configurations/cluster/modules/searxng/logo.png b/configurations/cluster/modules/searxng/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4f81788268ac4dc61d62e99f2c7c2eab1944011e GIT binary patch literal 27557 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⁣SSD=jWuxre%Q>7m5DXZV%U?LZp;O<#WP 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 literal 0 HcmV?d00001 diff --git a/flake.lock b/flake.lock index 25ce9f9f20c8125920ba6ea0a289e773893b8a00..e13440980de4b9b49a00c312afd9a0bf5f9bbac0 100644 GIT binary patch delta 135 zcmV;20C@kqzyrI$1F&qm1vWW2H#n2w86PWWb5>YFR4-R^Pibm7FL+UAQ%iSkVs30O zR%Cg1PIg2!T5oG`P-tjTRA-aBx;7{^V`4cpVPr8lW@ThDH90acF*Y_ZH8wJ4Ffn6c pVlg&kV>dH2GcaS5aL*V4Hj^<17L&ZYN|P!gACsUh9<$H8Y$Uo|F6{sS delta 136 zcmV;30C)epzyrI$1F&qm1~WM`I5|0!0azX@OJ-C?OhqV?uH#jw8I5cK6V>K}`Fk@jcVlZW6 qWMemDH)UZrW@9;HlW@-%0X35`1{RaNyGoNPA|I2WEgrMayKE#HxGn_% diff --git a/homeManagerModules/firefox/default.nix b/homeManagerModules/firefox/default.nix index a207ba00..b8c7a23d 100644 --- a/homeManagerModules/firefox/default.nix +++ b/homeManagerModules/firefox/default.nix @@ -107,9 +107,20 @@ in { }; search = { - default = "DuckDuckGo"; + default = "SearXNG"; force = true; engines = { + "SearXNG" = { + urls = [ + { + template = "https://search.nelim.org/search?q={searchTerms}"; + } + ]; + iconUpdateURL = "https://search.nelim.org/favicon.ico"; + updateInterval = 24 * 60 * 60 * 1000; # every day + definedAliases = ["@s"]; + }; + "Nixpkgs" = { urls = [ {