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/gitea.nix
|
||||||
./modules/vaultwarden.nix
|
./modules/vaultwarden.nix
|
||||||
./slop/openclaw.nix
|
./slop/openclaw.nix
|
||||||
|
./slop/brave.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# gcc. shit breaks. wtf
|
# 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 = [
|
home-manager.sharedModules = [
|
||||||
inputs.openclaw.homeManagerModules.openclaw
|
inputs.openclaw.homeManagerModules.openclaw
|
||||||
@@ -11,8 +23,10 @@
|
|||||||
|
|
||||||
users.users.ocbwoy3 = {
|
users.users.ocbwoy3 = {
|
||||||
packages = [
|
packages = [
|
||||||
inputs.openclaw.packages.${pkgs.system}.openclaw-gateway
|
openclawPatched
|
||||||
(pkgs.callPackage ./gogcli.nix { })
|
(pkgs.callPackage ./gogcli.nix { })
|
||||||
|
pkgs.uv
|
||||||
|
pkgs.python3
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user