diff --git a/home/ltadeu6.nix b/home/ltadeu6.nix index 90f1478..4486e10 100644 --- a/home/ltadeu6.nix +++ b/home/ltadeu6.nix @@ -331,15 +331,33 @@ }; programs.openclaw = { + enable = true; documents = ../openclaw/documents; - config = { - models.providers.openai.apiKey = { - source = "env"; - provider = "default"; - id = "OPENAI_API_KEY"; + instances.default = { + enable = true; + config = { + gateway.mode = "local"; + gateway.auth.mode = "token"; + gateway.auth.token = { + source = "env"; + provider = "default"; + id = "OPENCLAW_GATEWAY_TOKEN"; + }; + gateway.remote.token = { + source = "env"; + provider = "default"; + id = "OPENCLAW_GATEWAY_TOKEN"; + }; + + agents.defaults.model.primary = "ollama/llama3.1:8b"; + models.providers.ollama = { + baseUrl = "http://127.0.0.1:11434"; + api = "ollama"; + apiKey = "ollama-local"; + models = [ ]; + }; }; }; - instances.default.enable = true; }; programs.home-manager.enable = true; diff --git a/hosts/Nixos/configuration.nix b/hosts/Nixos/configuration.nix index 52a20f0..eddef80 100644 --- a/hosts/Nixos/configuration.nix +++ b/hosts/Nixos/configuration.nix @@ -20,6 +20,14 @@ mode = "0400"; }; } // lib.optionalAttrs + (builtins.pathExists ../../secrets/openclaw_gateway_token.age) { + openclaw_gateway_token = { + file = ../../secrets/openclaw_gateway_token.age; + owner = "ltadeu6"; + group = "users"; + mode = "0400"; + }; + } // lib.optionalAttrs (builtins.pathExists ../../secrets/minecraft_rcon_password.age) { minecraft_rcon_password.file = ../../secrets/minecraft_rcon_password.age; @@ -133,6 +141,9 @@ if test -r /run/agenix/openai_api_key set -gx OPENAI_API_KEY (cat /run/agenix/openai_api_key) end + if test -r /run/agenix/openclaw_gateway_token + set -gx OPENCLAW_GATEWAY_TOKEN (cat /run/agenix/openclaw_gateway_token) + end ''; shellAliases = { la = "exa --icons --git"; @@ -240,7 +251,7 @@ acceleration = "cuda"; host = "[::]"; loadModels = [ - "gemma4:e2b" + "llama3.1:8b" ]; syncModels = true; # listenAddress = "10.0.0.2:11434"; @@ -420,6 +431,11 @@ export OPENAI_API_KEY="$(cat /run/agenix/openai_api_key)" fi ''; + environment.etc."profile.d/openclaw.sh".text = '' + if [ -r /run/agenix/openclaw_gateway_token ]; then + export OPENCLAW_GATEWAY_TOKEN="$(cat /run/agenix/openclaw_gateway_token)" + fi + ''; users.groups.libvirtd.members = [ "ltadeu6" ]; diff --git a/secrets/openclaw_gateway_token.age b/secrets/openclaw_gateway_token.age new file mode 100644 index 0000000..52dbd03 --- /dev/null +++ b/secrets/openclaw_gateway_token.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 PLsDCw GTveJoupTknp7mJ+dPIOBRPnSglbt3UTKJEvR+9P8QQ +Jpk4h5jPlEnt7aeYpMkmQA2iovkyRtcd0+QVbxjR4N8 +-> ssh-ed25519 PLsDCw ldrF1V2QK/pRKgFeKVBZa3OdHmZrgryPsoxtv417MhI +92pBUOY0z3VlzRjM/Kte+gP+4uBbd1czcgdpXsXpIFk +--- aQYHE59WwNINgpDZADDtkWgzBH8f8jIP7UKkMvyi/DE +õ®½ÑÜ•´=”\uåÍä_ÎØôB 7J¥´¤À¨<‰nêïºÀÜÇè€J±¥Éc7ý2÷Á9 +Âå½<5-cáä$×(ÆÇ \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 2c23fe0..bc5749f 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -8,6 +8,7 @@ let }; in { "secrets/openai_api_key.age".publicKeys = [ users.ltadeu6 systems.Nixos ]; + "secrets/openclaw_gateway_token.age".publicKeys = [ users.ltadeu6 systems.Nixos ]; "secrets/minecraft_rcon_password.age".publicKeys = [ users.ltadeu6 systems.Nixos ]; "secrets/syncthing_pixel_id.age".publicKeys = [ users.ltadeu6 systems.Nixos ]; "secrets/syncthing_tv_id.age".publicKeys = [ users.ltadeu6 systems.Nixos ];