Upstream renamed the desktop file from openwork.desktop to
com.differentai.openwork.desktop (reverse-DNS), causing the build to
fail with "cannot stat '.../openwork.desktop'". Source the new name
while keeping the install destination as openwork.desktop so icon and
Exec substitution stay unchanged.
Expose the opencode-desktop Electron app as a package via a pure
pass-through from a new 'opencode' flake input
(github:anomalyco/opencode/dev).
The input intentionally does NOT follow nixpkgs: upstream pins a
node_modules fixed-output derivation hash in nix/hashes.json against
its own nixpkgs snapshot, so following would risk FOD hash mismatches.
- flake.nix: add 'opencode' input (own nixpkgs, dev branch)
- pkgs/default.nix: opencode-desktop pass-through
- docs/packages/opencode.md + README.md: refreshed (Electron, not Tauri)
- CHANGELOG: unreleased entry
Verified: nix flake show lists opencode-desktop (all 4 systems);
output opencode-desktop-1.18.9+f720490 builds & wraps electron-41.
The eigent package directory was deleted in 96f5d7f (which was titled
"chore: update n8n, openwork, vibetyper") but the callPackage reference
in pkgs/default.nix and the row in docs/packages/README.md were left
behind. As a result `nix build .#eigent` and `nix flake check` failed
with "undefined variable" errors when the eigent attribute was forced.
Drop both references so the package set evaluates cleanly.
- vibetyper/msty-studio: unversioned AppImage URLs → HEAD/Last-Modified
check via custom update.sh, refreshes sha256 when upstream binary changes
- zellij-ps: switch to branch-tracking (master tip via Gitea API) since
helper-scripts repo has no tags
- all three expose passthru.updateScript so the existing CI workflow
discovers them via is_custom_update_script
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.
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
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).
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).
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.
- 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