From 9fcbb238beb8a4d0df22e5ad54559059a74ab812 Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Wed, 11 Mar 2026 12:06:43 +0100 Subject: [PATCH 1/6] searxng: Enable autocompletion and favicons --- modules/nixos/web-services/searxng.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/nixos/web-services/searxng.nix b/modules/nixos/web-services/searxng.nix index 97ffcaf..ee42077 100644 --- a/modules/nixos/web-services/searxng.nix +++ b/modules/nixos/web-services/searxng.nix @@ -29,6 +29,10 @@ in "searx.plugins.infinite_scroll.SXNGPlugin".active = true; "searx.plugins.self_info.SXNGPlugin".active = true; }; + search = { + autocomplete = "duckduckgo"; + favicon_resolver = "duckduckgo"; + }; }; }; From b132276ca8d0e8036ac24297e527441598239cd7 Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Wed, 11 Mar 2026 12:12:44 +0100 Subject: [PATCH 2/6] searxng: Fix syntax --- modules/nixos/web-services/searxng.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nixos/web-services/searxng.nix b/modules/nixos/web-services/searxng.nix index ee42077..102224e 100644 --- a/modules/nixos/web-services/searxng.nix +++ b/modules/nixos/web-services/searxng.nix @@ -20,7 +20,7 @@ in enable = true; settings = { server = { - port = cfg.port; + inherit (cfg) port; secret_key = "unnecessary"; }; ui.center_alignment = true; From f9398c9d87acaf95db13de8156cf0eb449bf753c Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Wed, 11 Mar 2026 12:18:16 +0100 Subject: [PATCH 3/6] ci: Also notify when `await-deploy` got skipped --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c17f32..2c44b1c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -158,7 +158,7 @@ jobs: -d "$body" \ https://ntfy.sh/splitleaf - name: Notify failure - if: needs.await-deploy.result == 'failure' + if: needs.await-deploy.result == 'failure' || needs.await-deploy.result == 'skipped' env: SHA: ${{ github.sha }} COMMIT_MSG: ${{ github.event.head_commit.message }} From fafd352b530e1301f2dc2f20fe5019e5bceba495 Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Wed, 11 Mar 2026 12:22:50 +0100 Subject: [PATCH 4/6] searxng: Exclude `nixos.wiki` from search results --- modules/nixos/web-services/searxng.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/nixos/web-services/searxng.nix b/modules/nixos/web-services/searxng.nix index 102224e..b0ee186 100644 --- a/modules/nixos/web-services/searxng.nix +++ b/modules/nixos/web-services/searxng.nix @@ -33,6 +33,7 @@ in autocomplete = "duckduckgo"; favicon_resolver = "duckduckgo"; }; + hostnames.remove = [ ''(.*\.)?nixos.wiki'' ]; }; }; From 526937eb3931e85a3e85648b64e188ea049e035d Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Wed, 11 Mar 2026 12:40:44 +0100 Subject: [PATCH 5/6] firefox: Set default search engine to self hosted searxng --- modules/home/programs/firefox.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/modules/home/programs/firefox.nix b/modules/home/programs/firefox.nix index 5097bfe..a342511 100644 --- a/modules/home/programs/firefox.nix +++ b/modules/home/programs/firefox.nix @@ -40,6 +40,16 @@ in |> lib.map (glance: glance.domain) |> lib.head; }; + searchEngine = lib.mkOption { + type = lib.types.nonEmptyStr; + default = + allHosts + |> lib.attrValues + |> lib.map (host: host.config.custom.web-services.searxng) + |> lib.filter (searxng: searxng.enable) + |> lib.map (searxng: searxng.domain) + |> lib.head; + }; extensions = lib.mkOption { type = lib.types.attrsOf ( lib.types.submodule ( @@ -115,6 +125,16 @@ in }; extraConfig = lib.readFile "${inputs.betterfox}/user.js"; + + search = { + force = true; + default = "searxng"; + privateDefault = "searxng"; + engines.searxng = { + name = "searxng"; + urls = lib.singleton { template = "https://${cfg.searchEngine}/search?q={searchTerms}"; }; + }; + }; }; policies.ExtensionSettings = From 31e26cfe37982634a819a08eb7444c02a7ff7723 Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Wed, 11 Mar 2026 12:42:21 +0100 Subject: [PATCH 6/6] glance Set self hosted searxng as the default for the search widget --- modules/nixos/web-services/glance.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nixos/web-services/glance.nix b/modules/nixos/web-services/glance.nix index a3f2e13..0893c06 100644 --- a/modules/nixos/web-services/glance.nix +++ b/modules/nixos/web-services/glance.nix @@ -87,7 +87,7 @@ in widgets = lib.singleton { type = "search"; - search-engine = "google"; + search-engine = "https://search.splitleaf.de/search?q={QUERY}"; autofocus = true; } ++ applicationSites