Clarify permissions needed for programs.clawdbot.documents #3

Open
opened 2026-02-15 17:04:25 -05:00 by yindo · 0 comments
Owner

Originally created by @Clausinho on GitHub (Jan 21, 2026).

Summary

When running nh home switch . with programs.clawdbot.documents pointed at /home/clausi/clawd, the evaluation fails with the following assertions, even though the files exist for the logged-in user:

Failed assertions:
- programs.clawdbot.documents must point to an existing directory.
- Missing AGENTS.md in programs.clawdbot.documents.
- Missing SOUL.md in programs.clawbot.documents.
- Missing TOOLS.md in programs.clawdbot.documents.

Steps to reproduce

  1. Add programs.clawdbot.documents = /home/<your-user>/clawd or a similar path that already contains AGENTS.md, SOUL.md, and TOOLS.md.
  2. Run nh home switch . from that flake.

Context

The nix daemon runs as one of the nixbld* builders, so it must be able to traverse every parent directory of the workspace path. If /home/<your-user> is mode 0700, builtins.pathExists evaluates to false and the assertions fire before the files can be reached.

Proposal

Document that the daemon needs execute/search permissions on each ancestor directory (or that the workspace must live in a location the daemon already has access to). Linking to an example layout or helper would also be helpful.

Originally created by @Clausinho on GitHub (Jan 21, 2026). ## Summary When running `nh home switch .` with `programs.clawdbot.documents` pointed at `/home/clausi/clawd`, the evaluation fails with the following assertions, even though the files exist for the logged-in user: ``` Failed assertions: - programs.clawdbot.documents must point to an existing directory. - Missing AGENTS.md in programs.clawdbot.documents. - Missing SOUL.md in programs.clawbot.documents. - Missing TOOLS.md in programs.clawdbot.documents. ``` ## Steps to reproduce 1. Add `programs.clawdbot.documents = /home/<your-user>/clawd` or a similar path that already contains `AGENTS.md`, `SOUL.md`, and `TOOLS.md`. 2. Run `nh home switch .` from that flake. ## Context The nix daemon runs as one of the `nixbld*` builders, so it must be able to traverse every parent directory of the workspace path. If `/home/<your-user>` is mode `0700`, `builtins.pathExists` evaluates to `false` and the assertions fire before the files can be reached. ## Proposal Document that the daemon needs execute/search permissions on each ancestor directory (or that the workspace must live in a location the daemon already has access to). Linking to an example layout or helper would also be helpful.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: openclaw/nix-openclaw#3