mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-03-22 13:09:08 +01:00
Compare commits
8 commits
de5314fc31
...
31e26cfe37
| Author | SHA1 | Date | |
|---|---|---|---|
| 31e26cfe37 | |||
| 526937eb39 | |||
| fafd352b53 | |||
| f9398c9d87 | |||
| b132276ca8 | |||
| 9fcbb238be | |||
| a94e7e8898 | |||
| aa67599152 |
5 changed files with 76 additions and 2 deletions
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
|
@ -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 }}
|
||||
|
|
|
|||
|
|
@ -71,6 +71,11 @@
|
|||
enable = true;
|
||||
domain = "home.${config.custom.networking.overlay.domain}";
|
||||
};
|
||||
|
||||
searxng = {
|
||||
enable = true;
|
||||
domain = "search.${config.custom.networking.overlay.domain}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 =
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
49
modules/nixos/web-services/searxng.nix
Normal file
49
modules/nixos/web-services/searxng.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.custom.web-services.searxng;
|
||||
in
|
||||
{
|
||||
options.custom.web-services.searxng = {
|
||||
enable = lib.mkEnableOption "";
|
||||
domain = lib.mkOption {
|
||||
type = lib.types.nonEmptyStr;
|
||||
default = "";
|
||||
};
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 27916;
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.searx = {
|
||||
enable = true;
|
||||
settings = {
|
||||
server = {
|
||||
inherit (cfg) port;
|
||||
secret_key = "unnecessary";
|
||||
};
|
||||
ui.center_alignment = true;
|
||||
plugins = {
|
||||
"searx.plugins.calculator.SXNGPlugin".active = true;
|
||||
"searx.plugins.infinite_scroll.SXNGPlugin".active = true;
|
||||
"searx.plugins.self_info.SXNGPlugin".active = true;
|
||||
};
|
||||
search = {
|
||||
autocomplete = "duckduckgo";
|
||||
favicon_resolver = "duckduckgo";
|
||||
};
|
||||
hostnames.remove = [ ''(.*\.)?nixos.wiki'' ];
|
||||
};
|
||||
};
|
||||
|
||||
custom = {
|
||||
services.caddy.virtualHosts.${cfg.domain}.port = cfg.port;
|
||||
|
||||
meta.sites.${cfg.domain} = {
|
||||
title = "SearXNG";
|
||||
icon = "sh:searxng";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue