server/slop: add brave shim user service and patch openclaw brave endpoint
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
./modules/gitea.nix
|
||||
./modules/vaultwarden.nix
|
||||
./slop/openclaw.nix
|
||||
./slop/brave.nix
|
||||
];
|
||||
|
||||
# gcc. shit breaks. wtf
|
||||
|
||||
26
hosts/server/slop/brave.nix
Normal file
26
hosts/server/slop/brave.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
# Local Brave API shim as a user service
|
||||
systemd.user.services.brave-shim = {
|
||||
description = "Brave Search API shim (DDGS)";
|
||||
wantedBy = [ "default.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
WorkingDirectory = "/home/ocbwoy3/Projects/brave_shim";
|
||||
ExecStart = ''
|
||||
${pkgs.uv}/bin/uv run \
|
||||
--with fastapi \
|
||||
--with uvicorn \
|
||||
--with ddgs \
|
||||
--with pyyaml \
|
||||
python brave_shim.py
|
||||
'';
|
||||
Restart = "always";
|
||||
RestartSec = "3";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -4,6 +4,18 @@
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
openclawPatched = inputs.openclaw.packages.${pkgs.system}.openclaw-gateway.overrideAttrs (old: {
|
||||
postInstall = (old.postInstall or "") + ''
|
||||
# Point Brave web-search endpoint to local shim
|
||||
if [ -d "$out/lib/openclaw/dist" ]; then
|
||||
grep -RIl "https://api.search.brave.com/" "$out/lib/openclaw/dist" | while read -r f; do
|
||||
substituteInPlace "$f" --replace-fail "https://api.search.brave.com/" "http://127.0.0.1:8000/"
|
||||
done
|
||||
fi
|
||||
'';
|
||||
});
|
||||
in
|
||||
{
|
||||
home-manager.sharedModules = [
|
||||
inputs.openclaw.homeManagerModules.openclaw
|
||||
@@ -11,8 +23,10 @@
|
||||
|
||||
users.users.ocbwoy3 = {
|
||||
packages = [
|
||||
inputs.openclaw.packages.${pkgs.system}.openclaw-gateway
|
||||
openclawPatched
|
||||
(pkgs.callPackage ./gogcli.nix { })
|
||||
pkgs.uv
|
||||
pkgs.python3
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user