1
Fork 0
mirror of https://github.com/thegeneralist01/config.git synced 2026-05-30 08:37:01 +02:00

openclaw?

This commit is contained in:
TheGeneralist 2026-03-14 21:20:29 +01:00
parent cb442ce45e
commit 931e4e78f3
Signed by: thegeneralist01
SSH key fingerprint: SHA256:pp9qddbCNmVNoSjevdvQvM5z0DHN7LTa8qBMbcMq/R4
9 changed files with 287 additions and 12 deletions

View file

@ -23,6 +23,8 @@
age.secrets.readlaterBotToken.file = ./readlater-bot-token.age;
age.secrets.readlaterBotSyncToken.file = ./readlater-bot-sync-token.age;
age.secrets.readlaterBotUserId.file = ./readlater-bot-user-id.age;
age.secrets.openclawTelegramToken.file = ./openclaw-telegram-token.age;
age.secrets.openclawGatewayEnv.file = ./openclaw-gateway.env.age;
age.secrets.readlaterBotToken.owner = "thegeneralist";
age.secrets.readlaterBotToken.group = "users";
age.secrets.readlaterBotToken.mode = "0400";
@ -32,6 +34,12 @@
age.secrets.readlaterBotUserId.owner = "thegeneralist";
age.secrets.readlaterBotUserId.group = "users";
age.secrets.readlaterBotUserId.mode = "0400";
age.secrets.openclawTelegramToken.owner = "thegeneralist";
age.secrets.openclawTelegramToken.group = "users";
age.secrets.openclawTelegramToken.mode = "0400";
age.secrets.openclawGatewayEnv.owner = "thegeneralist";
age.secrets.openclawGatewayEnv.group = "users";
age.secrets.openclawGatewayEnv.mode = "0400";
users.users = {
thegeneralist = {
isNormalUser = true;
@ -47,6 +55,7 @@
shell = pkgs.nushell;
home = "/home/thegeneralist";
homeMode = "0750";
linger = true;
hashedPasswordFile = config.age.secrets.password.path;
openssh.authorizedKeys.keys =
let
@ -72,11 +81,56 @@
home-manager = {
backupFileExtension = "home.bak";
extraSpecialArgs = { inherit inputs; };
users.thegeneralist.home = {
username = "thegeneralist";
homeDirectory = "/home/thegeneralist";
stateVersion = "25.11";
};
sharedModules = [ inputs.nix-openclaw.homeManagerModules.openclaw ];
users.thegeneralist =
{ osConfig, ... }:
{
home = {
username = "thegeneralist";
homeDirectory = "/home/thegeneralist";
stateVersion = "25.11";
};
programs.openclaw = {
documents = ./openclaw-documents;
config = {
gateway = {
mode = "local";
auth.mode = "token";
};
channels.telegram = {
tokenFile = osConfig.age.secrets.openclawTelegramToken.path;
# Replace with your Telegram user ID from @userinfobot.
allowFrom = [ 0 ];
groups."*" = {
requireMention = true;
};
};
};
instances.default.enable = true;
};
systemd.user.services.openclaw-gateway.Service.EnvironmentFile = [
osConfig.age.secrets.openclawGatewayEnv.path
];
home.activation.openclawTelegramAllowFrom =
lib.hm.dag.entryAfter [ "openclawConfigFiles" ] ''
set -euo pipefail
user_id="$(${lib.getExe' pkgs.coreutils "cat"} ${osConfig.age.secrets.readlaterBotUserId.path})"
tmp="$(${lib.getExe' pkgs.coreutils "mktemp"})"
${lib.getExe pkgs.jq} --argjson user_id "$user_id" \
'.channels.telegram.allowFrom = [$user_id]' \
/home/thegeneralist/.openclaw/openclaw.json > "$tmp"
rm -f /home/thegeneralist/.openclaw/openclaw.json
mv "$tmp" /home/thegeneralist/.openclaw/openclaw.json
'';
};
};
age.secrets.hostkey.file = ./hostkey.age;