nix-openclaw/templates/agent-first/flake.nix
joshp123 3333bb831e docs: repair agent-first onboarding
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
2026-05-05 12:30:36 +02:00

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;
};
}
];
};
};
}