mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-03-22 21:19:07 +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" \
|
-d "$body" \
|
||||||
https://ntfy.sh/splitleaf
|
https://ntfy.sh/splitleaf
|
||||||
- name: Notify failure
|
- name: Notify failure
|
||||||
if: needs.await-deploy.result == 'failure'
|
if: needs.await-deploy.result == 'failure' || needs.await-deploy.result == 'skipped'
|
||||||
env:
|
env:
|
||||||
SHA: ${{ github.sha }}
|
SHA: ${{ github.sha }}
|
||||||
COMMIT_MSG: ${{ github.event.head_commit.message }}
|
COMMIT_MSG: ${{ github.event.head_commit.message }}
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,11 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
domain = "home.${config.custom.networking.overlay.domain}";
|
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.map (glance: glance.domain)
|
||||||
|> lib.head;
|
|> 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 {
|
extensions = lib.mkOption {
|
||||||
type = lib.types.attrsOf (
|
type = lib.types.attrsOf (
|
||||||
lib.types.submodule (
|
lib.types.submodule (
|
||||||
|
|
@ -115,6 +125,16 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = lib.readFile "${inputs.betterfox}/user.js";
|
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 =
|
policies.ExtensionSettings =
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ in
|
||||||
widgets =
|
widgets =
|
||||||
lib.singleton {
|
lib.singleton {
|
||||||
type = "search";
|
type = "search";
|
||||||
search-engine = "google";
|
search-engine = "https://search.splitleaf.de/search?q={QUERY}";
|
||||||
autofocus = true;
|
autofocus = true;
|
||||||
}
|
}
|
||||||
++ applicationSites
|
++ 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