Add searx

This commit is contained in:
muon 2024-11-29 16:08:28 +00:00
parent f32b18439d
commit e0341a84d9
3 changed files with 91 additions and 0 deletions

View file

@ -28,6 +28,8 @@ in {
mods.server.astral.enable = false; mods.server.astral.enable = false;
mods.server.astral.autoStart = false; mods.server.astral.autoStart = false;
mods.server.search.enable = true;
mods.docker.media.enable = false; mods.docker.media.enable = false;
mods.server.sync.enable = false; mods.server.sync.enable = false;
@ -83,6 +85,46 @@ in {
enable32Bit = true; enable32Bit = true;
}; };
## GPU (NVidia GTX 1060)
## https://nixos.wiki/wiki/Nvidia
# Enable OpenGL
# hardware.graphics = { enable = true; };
# # Load nvidia driver for Xorg and Wayland
# services.xserver.videoDrivers = [ "nvidia" ];
# hardware.nvidia = {
# # Modesetting is required.
# modesetting.enable = true;
# # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# # Enable this if you have graphical corruption issues or application crashes after waking
# # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# # of just the bare essentials.
# powerManagement.enable = false;
# # Fine-grained power management. Turns off GPU when not in use.
# # Experimental and only works on modern Nvidia GPUs (Turing or newer).
# powerManagement.finegrained = false;
# # Use the NVidia open source kernel module (not to be confused with the
# # independent third-party "nouveau" open source driver).
# # Support is limited to the Turing and later architectures. Full list of
# # supported GPUs is at:
# # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# # Only available from driver 515.43.04+
# # Currently alpha-quality/buggy, so false is currently the recommended setting.
# open = false;
# # Enable the Nvidia settings menu,
# # accessible via `nvidia-settings`.
# nvidiaSettings = true;
# # Optionally, you may need to select the appropriate driver version for your specific GPU.
# package = config.boot.kernelPackages.nvidiaPackages.stable;
# };
# Version of first install # Version of first install
system.stateVersion = "23.05"; system.stateVersion = "23.05";
} }

View file

@ -9,5 +9,6 @@
./wireguard.nix ./wireguard.nix
./headscale.nix ./headscale.nix
./photoprism.nix ./photoprism.nix
./search.nix
]; ];
} }

View file

@ -0,0 +1,48 @@
{ pkgs, lib, config, ... }:
let
inherit (lib) types mkOption mkEnableOption;
cfg = config.mods.server.search;
in {
options.mods.server.search = {
enable = mkEnableOption {
default = false;
description = "enables search engine server";
};
port = mkOption {
type = types.port;
default = 8081;
};
nginx = mkOption {
type = types.nullOr types.str;
default = "search";
};
};
config = {
services.searx = lib.mkIf cfg.enable {
enable = true;
runInUwsgi = true;
uwsgiConfig = {
disable-logging = true;
http = ":${toString cfg.port}";
};
settings = {
server.port = cfg.port;
server.bind_address = "0.0.0.0";
server.secret_key = "temporary-before-sops";
enabled_plugins = [ "Hostnames plugin" "Tracker URL remover" ];
hostnames.remove = [ "(.*.)?facebook.com$" ];
hostnames.replace = {
"(.*.)?reddit.com$" = "redlib.northboot.xyz";
"(.*.)?youtube.com$" = "invidious.example.com";
};
};
};
};
}