What: - export the agent-first flake template - remove unsupported Intel macOS setup claims - replace stale Discord channel links with the public invite path - simplify the advanced dual-instance example and sync plugin docs Why: - make the documented first-run path match the flake users actually consume - avoid sending users toward unsupported systems or dead Discord links Tests: - git diff --cached --check: passed - nix flake show --json --accept-flake-config | jq -e '.templates."agent-first"': passed - nix flake init -t /Users/josh/code/nix-openclaw#agent-first --accept-flake-config: wrote flake.nix and documents/ - rg stale onboarding strings in README.md AGENTS.md templates/agent-first/flake.nix docs: no matches
73 lines
2.0 KiB
Nix
73 lines
2.0 KiB
Nix
{
|
|
description = "OpenClaw local";
|
|
|
|
inputs = {
|
|
nix-openclaw.url = "github:openclaw/nix-openclaw";
|
|
nixpkgs.follows = "nix-openclaw/nixpkgs";
|
|
home-manager.follows = "nix-openclaw/home-manager";
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
home-manager,
|
|
nix-openclaw,
|
|
}:
|
|
let
|
|
# REPLACE: aarch64-darwin (Apple Silicon) or x86_64-linux
|
|
system = "<system>";
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [ nix-openclaw.overlays.default ];
|
|
};
|
|
in
|
|
{
|
|
# REPLACE: <user> with your username (run `whoami`)
|
|
homeConfigurations."<user>" = home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
modules = [
|
|
nix-openclaw.homeManagerModules.openclaw
|
|
{
|
|
# Required for Home Manager standalone
|
|
home.username = "<user>";
|
|
# REPLACE: /Users/<user> on macOS or /home/<user> on Linux
|
|
home.homeDirectory = "<homeDir>";
|
|
home.stateVersion = "24.11";
|
|
programs.home-manager.enable = true;
|
|
|
|
programs.openclaw = {
|
|
# REPLACE: path to your managed documents directory
|
|
documents = ./documents;
|
|
|
|
# Schema-typed OpenClaw config (from upstream)
|
|
config = {
|
|
gateway = {
|
|
mode = "local";
|
|
auth = {
|
|
# REPLACE: long random token for gateway auth
|
|
token = "<gatewayToken>";
|
|
};
|
|
};
|
|
|
|
channels.telegram = {
|
|
# REPLACE: path to your bot token file
|
|
tokenFile = "<tokenPath>";
|
|
# REPLACE: your Telegram user ID (get from @userinfobot)
|
|
allowFrom = [ <allowFrom> ];
|
|
groups = {
|
|
"*" = {
|
|
requireMention = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
enable = true;
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|