config, session: derive skills_dir and agent_auth_path from state_dir; remove setuid/setgid #94

Merged
weiwen merged 5 commits from fm/state-dir-implied-paths into main 2026-08-13 00:08:00 +08:00
Owner
No description provided.
Replace the full-rebuild rustPlatform.buildRustPackage with crane's
two-stage approach: buildDepsOnly caches crate dependencies by
Cargo.lock hash, buildPackage reuses them and only recompiles
changed source files. A source-only change now rebuilds as fast as
cargo build inside a dev shell.

- Add crane input (github:ipetkov/crane)
- Swap rustPlatform for craneLib = (crane.mkLib pkgs).overrideToolchain
- commonArgs shared between buildDepsOnly and buildPackage
- cargoArtifacts (deps only, doCheck=false)
- evie (full build with postInstall wrapper + skills)
- Source filter preserves .md files (needed by include_str! for SYSTEM_PROMPT.md)
- Verified: first build 2m15s deps+evie, incremental build 33s (only evie crate)
- All 487 tests pass
Both were configurable paths that every real deployment pointed back into the
state root anyway, so they are now derived like homes/ and sessions/ rather
than being two more knobs that can disagree with state_dir.

Also add $HOME/.evie to the state-root fallback chain, ahead of the hardcoded
/var/lib/evie, so a developer running the daemon by hand without systemd and
without $XDG_STATE_HOME lands somewhere writable.
docs+deploy: document skills and provider credential as state-root-derived
Some checks failed
CI / check (pull_request) Failing after 2m10s
CI / publish (pull_request) Has been skipped
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 1s
74cc564eb2
The docker compose bind target moves with the code: the credential is read at
<state_dir>/auth.json now, so the sample deploy would otherwise mount it at a
path nothing reads. The host-side secrets/agent-auth.json filename is
unchanged.
config, users: remove dead sandbox_user/group config and run_as getters
Some checks failed
CI / check (pull_request) Failing after 2m28s
CI / publish (pull_request) Has been skipped
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 1s
45226c4272
weiwen force-pushed fm/state-dir-implied-paths from 45226c4272
Some checks failed
CI / check (pull_request) Failing after 2m28s
CI / publish (pull_request) Has been skipped
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 1s
to b0ed84b964
Some checks failed
CI / check (pull_request) Failing after 1m58s
CI / publish (pull_request) Has been skipped
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 1s
2026-08-12 23:35:04 +08:00
Compare
weiwen force-pushed fm/state-dir-implied-paths from b0ed84b964
Some checks failed
CI / check (pull_request) Failing after 1m58s
CI / publish (pull_request) Has been skipped
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 1s
to 235940f27a
Some checks failed
CI / check (pull_request) Failing after 1m47s
CI / publish (pull_request) Has been skipped
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 1s
2026-08-12 23:37:44 +08:00
Compare
weiwen force-pushed fm/state-dir-implied-paths from 235940f27a
Some checks failed
CI / check (pull_request) Failing after 1m47s
CI / publish (pull_request) Has been skipped
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 1s
to df80a6e02f
Some checks failed
CI / publish (pull_request) Has been cancelled
CI / check (pull_request) Has been cancelled
PR Triage — label changes-requested reviews / triage-review (pull_request) Has been cancelled
2026-08-12 23:43:00 +08:00
Compare
fix: restore missing tokio::sync::oneshot import
Some checks failed
CI / check (pull_request) Failing after 1m54s
CI / publish (pull_request) Has been skipped
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 2s
2532a80886
fix: allow dead_code on unused config/telegram fields and clippy let_unit_value
All checks were successful
CI / check (pull_request) Successful in 2m23s
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 3s
CI / publish (pull_request) Successful in 6m9s
8fb48b49be
weiwen force-pushed fm/state-dir-implied-paths from 8fb48b49be
All checks were successful
CI / check (pull_request) Successful in 2m23s
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 3s
CI / publish (pull_request) Successful in 6m9s
to 054c9dd9c6
All checks were successful
CI / check (pull_request) Successful in 2m42s
PR Triage — label changes-requested reviews / triage-review (pull_request) Successful in 1s
CI / publish (pull_request) Successful in 17s
2026-08-13 00:07:28 +08:00
Compare
weiwen merged commit 41b09a6967 into main 2026-08-13 00:08:00 +08:00
weiwen deleted branch fm/state-dir-implied-paths 2026-08-13 00:08:00 +08:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
weiwen/evie!94
No description provided.