Commit Graph
29 Commits
Author SHA1 Message Date
m3ta-chiron e7765ee39f feat(talk): read API key from agenix file instead of env var
Primary: /run/agenix/elevenlabs-key (read via 'read -r' which strips
the trailing newline agenix files contain).
Fallback: ELEVENLABS_API_KEY env var (backwards compatible).

No need to export the key in shell environment anymore — if the
agenix secret exists, talk picks it up automatically.

Override path via ELEVENLABS_KEY_FILE env var if needed.
2026-07-02 20:14:45 +02:00
m3ta-chiron 75b88553c6 docs: add README for talk and crunch packages
Each README covers usage, environment variables, integration patterns,
NixOS installation, and how-it-works diagrams.
2026-07-02 20:00:58 +02:00
m3ta-chiron 8b3d762bc9 feat(crunch): add script mode for custom pipeline jobs
crunch script <type> <time> <script.sh> [args...]

Runs any shell script on schedule. Script stdout is piped to talk
for voice output. Empty stdout = silence (no error thrown).

Enables complex multi-step pipelines:
  - Fetch data (basecamp, gh, curl)
  - Write reports to disk
  - Pipe through pi/opencode for AI summarization
  - Final stdout → talk voice notification

Example:
  crunch script daily '08:00' ~/scripts/basecamp-daily.sh
2026-07-02 19:55:31 +02:00
m3ta-chiron c94ff86c12 fix(talk): cancel button now stops audio playback
The shell '>' redirect creates ACTION_FILE immediately as an empty file.
The poll loop checked [ -f ] (exists) instead of [ -s ] (non-empty),
so it matched on the first 0.2s iteration, found no 'cancel' string,
and broke out of the loop — leaving mpv running with no listener.

[ -s ] only returns true once notify-send writes 'cancel' to the file
(i.e. when the user actually clicks the Abbrechen action).
2026-07-02 19:43:53 +02:00
m3ta-chiron 8c9ed72857 feat(crunch): voice-notified reminders and AI crunch jobs via systemd timers
crunch schedules transient systemd --user timers that fire talk (TTS)
or AI agents (pi/opencode) → talk at specified times.

Commands:
  crunch at <time> <message>           One-shot
  crunch in <duration> <message>       One-shot after delay
  crunch daily <time> <message>        Recurring daily
  crunch weekly <day> <time> <message> Recurring weekly
  crunch ai <engine> <type> <time> <prompt>  AI crunch
  crunch list                          List jobs
  crunch cancel <name>                 Cancel job
  crunch purge                         Clean fired jobs

Supports German and English day names (Montag→Mon, etc).
2026-07-02 19:36:24 +02:00
m3ta-chiron 09098d902b talk: use chiron.jpeg as notification icon
Replace generic audio-x-generic icon with chiron.jpeg fetched from S3
into the nix store at build time.
2026-07-02 19:25:36 +02:00
m3ta-chiron fa2f3dfbc6 feat(talk): support stdin piping
Argument has priority, otherwise read from stdin when piped.
Enables: echo 'Build fertig' | talk
         nixos-rebuild build 2>&1 | tail -3 | talk
2026-07-02 19:09:52 +02:00
m3ta-chiron b7ba13db9b feat(talk): add ElevenLabs TTS voice notification package
- writeShellScriptBin with mpv audio + notify-send cancel button
- Simultaneous audio playback and notification popup
- VOICE_NOTIFY=0 toggle for disabling
- Uses eleven_multilingual_v2 model with configurable voice ID
- Cruncher job wrapper for task completion notifications
2026-07-02 18:51:31 +02:00
m3ta-chiron abd910d667 chore: update n8n + vibetyper 2026-07-01 18:51:40 +02:00
m3ta-chiron 5aa54c6e34 chore: vibetyper update 2026-06-16 19:26:47 +02:00
m3ta-chiron 50a182b259 chore: n8n update 2026-05-20 19:57:15 +02:00
m3ta-chiron 8d7a1b4f3d chore: n8n update 2026-05-07 19:30:57 +02:00
m3ta-chiron 1da8c96447 fix(pi): correct guardrails enable option string
Update Nix Packages with nix-update / nix-update (push) Failing after 34m23s
2026-04-29 20:07:12 +02:00
m3ta-chiron 6a8cb62903 style(pi): format guardrails module with alejandra 2026-04-29 19:51:35 +02:00
m3ta-chiron a3e247e5af feat(pi): add guardrails config option for pi-guardrails integration
Adds a guardrails submodule option to coding.agents.pi that:
- Generates ~/.pi/agent/extensions/guardrails.json when enabled
- Automatically injects @aliou/pi-guardrails package into settings.packages
- Provides structured options for policies, pathAccess, and permissionGate

The module generates the JSON config that pi-guardrails reads for
its security hooks (policies, permission-gate, path-access).

Limitations documented in option descriptions:
- Path access checks are lexical (not symlink-safe)
- Local project guardrails.json can override global rule IDs
2026-04-29 19:48:10 +02:00
m3ta-chironandm3tm3re f7f0c4072e fix(n8n): use stable tag target to get actual version
The previous jq filter grabbed the first non-stable release by creation date,
which incorrectly returned 1.123.38 instead of the latest stable 2.18.5.

Now query the 'stable' tag directly and extract version from its
target_commitish (e.g., 'release/2.18.5' -> '2.18.5'), ensuring we always
get the actual latest stable version.

Also bump version from 2.17.8 to 2.18.5 with updated hashes.
2026-04-29 18:40:49 +02:00
m3ta-chiron 251a6892a3 fix(n8n): resolve nix-update hash prefetch failure
- Remove --pure from nix-shell shebang to allow network access
- Add --flake --system x86_64-linux for proper flake evaluation
- Navigate to nixpkgs root before running nix-update
- Also bump version 2.17.5 -> 2.17.8
2026-04-27 19:46:14 +02:00
Chiron 54fa93574b refactor: remove dead code, extract shared agent options, optimize flake
- Remove dead overlays/default.nix (flake defines overlays inline)
- Remove orphaned overlays/mods/{beads,n8n}.nix (never imported)
- Remove docs/packages/notesmd-cli.md (package doesn't exist)
- Extract externalSkills submodule to shared-options.nix (eliminates
  ~100 lines of duplication across opencode/claude-code/pi modules)
- Fix lib output: use nixpkgs.lib directly instead of instantiating
  a full nixpkgs just to get lib
- Add lib unit tests to flake checks
- Update stale comment in coding-rules.nix
2026-04-18 10:15:50 +00:00
Chiron c9ecc0809f fix: add externalSkills option to pi agent module
Skills from flake inputs (e.g. Basecamp) were not being passed to
mkOpencodeSkills for the pi agent, so they never appeared in
~/.pi/agent/skills/. This adds the same externalSkills option that
the opencode agent module already has.
2026-04-18 10:07:44 +00:00
Chiron 44c7e0d19a chore: sync non-pi changes from remote (eigent update, formatting fixes, gitignore) 2026-04-18 10:05:59 +00:00
ChironandChiron a0f4d401df docs: update AGENTS.md to reflect current codebase state 2026-04-18 10:05:16 +00:00
ChironandChiron d04d405297 test: add basic lib function tests for agents and coding-rules 2026-04-18 10:05:16 +00:00
ChironandChiron 2494da1054 docs: add CHANGELOG.md 2026-04-18 10:05:16 +00:00
ChironandChiron b2c8c935af refactor: remove redundant 'additions' overlay (identical to 'default') 2026-04-18 10:05:16 +00:00
ChironandChiron c6d8376dda refactor: tool-agnostic naming in coding-rules.nix internals 2026-04-18 10:05:16 +00:00
ChironandChiron 0331316755 chore: remove dead overlay entries for non-existent flake inputs 2026-04-18 10:05:16 +00:00
ChironandChiron a4e540630d docs: clarify system binding in pkgs/default.nix 2026-04-18 10:05:16 +00:00
ChironandChiron 6c985c640d refactor: remove duplicate opencode-rules.nix, use alias in default.nix 2026-04-18 10:05:16 +00:00
ChironandChiron 5f90f16d99 docs: add cleanup and improvements plan 2026-04-18 10:05:16 +00:00