{ config, pkgs, stdenv, lib, ... }: let opt = import ../../opt.nix; searxng_yml = builtins.toFile "searxng.yml" '' # https://docs.searxng.org/admin/settings/settings.html#settings-yml-location # The initial settings.yml we be load from these locations: # * the full path specified in the SEARXNG_SETTINGS_PATH environment variable. # * /etc/searxng/settings.yml # Default settings see <pkgs.searxng>/lib/python3.11/site-packages/searx/settings.yml use_default_settings: true search: autocomplete: "google" default_lang: "en" server: # Is overwritten by $SEARXNG_SECRET secret_key: ${if builtins.pathExists ~/Gist/Config/passwordFile then builtins.readFile ~/Gist/Config/passwordFile else "miao"} outgoing: proxies: all://: - http://127.0.0.1:${toString opt.proxyPort} engines: - name: bilibili engine: bilibili shortcut: bil disabled: false - name: bing engine: bing shortcut: bi disabled: false - name: qwant disabled: true ui: results_on_new_tab: true ''; in { systemd.user.services.searxng = { Unit = { Description = "Auto start searxng"; After = ["network.target"]; }; Install = { WantedBy = ["default.target"]; }; Service = { Environment = [ "SEARXNG_SETTINGS_PATH=${searxng_yml}" ]; ExecStart = "${pkgs.searxng}/bin/searx-run"; }; }; }