Commit Graph

63 Commits

Author SHA1 Message Date
renovate-bot 464e0f8070 chore(deps): update ghcr.io/openclaw/openclaw docker tag to v2026.5.12
CI / check (pull_request) Failing after 10m57s
CI / build-and-cache (pull_request) Has been skipped
CI / Check OpenClaw Changes (pull_request) Failing after 14m38s
CI / Build & Push OpenClaw Image (pull_request) Has been skipped
2026-05-14 19:06:34 +00:00
johno da21505667 fix(kodi): patch stremio CEF to support HiDPI scaling via env var
CI / check (push) Failing after 12m18s
CI / build-and-cache (push) Has been skipped
CI / Check OpenClaw Changes (push) Has been skipped
CI / Build & Push OpenClaw Image (push) Has been skipped
The beta.13 clap parser ignores unknown --force-device-scale-factor flags
and CEF Args::new() starts empty, so CLI flags never reach the CEF subprocess.
Patch src/webview/mod.rs to read STREMIO_FORCE_DEVICE_SCALE_FACTOR and pass
it to CEF via append_switch_with_value. Remove failed GTK4/master branch
build attempt (requires GTK 4.22 not yet in nixpkgs).
2026-05-12 08:48:50 -07:00
johno f6d2edc037 Finalize stremio-linux-shell package for master branch 2026-05-11 21:17:19 -07:00
johno 9781815af6 Use finalAttrs for buildInputs in env 2026-05-11 21:04:08 -07:00
johno 33ba0a8efb Add LD_LIBRARY_PATH to build env 2026-05-11 21:03:50 -07:00
johno f026cb5e65 Fix nixpkgs-unstable import in overlay 2026-05-11 21:00:32 -07:00
johno c12ef9e01e Update stremio-linux-shell to use unstable for Rust 1.92+ 2026-05-11 20:57:29 -07:00
johno d74a8a4a39 Add stremio-linux-shell from master branch 2026-05-11 20:54:59 -07:00
johno cbc1402e44 major upgrade
CI / check (push) Successful in 7m29s
CI / Build & Push OpenClaw Image (push) Successful in 35m18s
CI / build-and-cache (push) Failing after 48m4s
2026-05-06 19:20:53 -07:00
johno 0a6cf3907e chore(openclaw): update to 2026.4.26
CI / check (push) Successful in 1m50s
CI / build-and-cache (push) Successful in 1m32s
CI / Build & Push OpenClaw Image (push) Successful in 12m6s
2026-04-27 18:49:10 -07:00
johno 5a74301d92 ci(openclaw): configure Renovate regex manager for Docker image version tracking
CI / check (push) Successful in 2m12s
CI / build-and-cache (push) Successful in 1m43s
CI / Build & Push OpenClaw Image (push) Successful in 32m8s
2026-04-26 20:18:14 -07:00
johno 6823229136 refactor(openclaw): thin Docker image with Nix deps offloaded to Harmonia
CI / check (push) Successful in 1m52s
CI / build-and-cache (push) Successful in 5m13s
CI / Build & Push OpenClaw Image (push) Successful in 25m34s
CI / Deploy OpenClaw to Cluster (push) Failing after 4s
Strips runtime packages (nodejs_22, kubectl, jq, git, emacs, tsx, tea, pythonEnv, qmd) from the Docker image contents, reducing image size from ~2.7GB to ~1.5GB.

Key changes:
- Removed 9 runtime packages from contents (moved to openclaw-runtime-closure)
- Removed pythonEnv let binding and qmd parameter (no longer needed in image)
- Added OPENCLAW_RUNTIME_CLOSURE env var (bakes closure path for init container)
- Added runtime closure bin dir to PATH (resolves after PVC population)
- Added curl to contents (needed by init container for Harmonia health checks)
- CI: added openclaw-runtime-closure to build-and-cache PACKAGES array
- CI: added second sed command for CronJob image tag update
- CI: removed inherit qmd from openclaw-image callPackage (qmd now in runtime closure)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 17:13:07 -07:00
johno 590b5e71fa feat(openclaw): add runtime closure meta-package for Harmonia caching
Creates openclaw-runtime-closure as a symlinkJoin of all runtime dependencies (nodejs_22, kubectl, jq, git, emacs, tsx, tea, python3.withPackages pymupdf, qmd) that will be pushed to the Harmonia binary cache by CI and pulled into the PVC by the init container at pod startup.

This meta-package enables the thin Docker image architecture where:
- The Docker image stays small (~1.5GB vs 2.7GB) with only /app, nix, and basics
- Runtime deps are fetched from Harmonia at pod startup via nix copy --from
- CI push is fast (thin image) and runtime deps are cached separately

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 17:12:50 -07:00
johno b70631e391 build(qmd): update fork to 4fc7760 with rerank fallback fix
CI / check (push) Successful in 1m52s
CI / build-and-cache (push) Successful in 4m16s
CI / Build & Push OpenClaw Image (push) Successful in 8m45s
CI / Deploy OpenClaw to Cluster (push) Failing after 3s
2026-04-21 01:18:04 -07:00
johno e8213e47c6 build(qmd): update fork to dfc1ac4 with try/catch fix for remoteConfigFromEnv
CI / check (push) Successful in 2m11s
CI / build-and-cache (push) Successful in 3m47s
CI / Build & Push OpenClaw Image (push) Successful in 21m5s
CI / Deploy OpenClaw to Cluster (push) Failing after 2s
2026-04-21 00:21:39 -07:00
johno c3a0806e24 build(qmd): update for RemoteLLM/HybridLLM CLI integration
CI / check (push) Successful in 1m52s
CI / build-and-cache (push) Successful in 4m19s
CI / Build & Push OpenClaw Image (push) Successful in 33m39s
CI / Deploy OpenClaw to Cluster (push) Failing after 2s
- Update source to commit 220e46e (feat/remote-api with CLI wiring)
- Update package-lock.json for new source
- RemoteLLM/HybridLLM now wired into CLI when QMD_EMBED_API_* env vars are set
2026-04-20 23:30:44 -07:00
johno 80e520bb23 style(qmd): clean up stale npmDepsHash comment
CI / check (push) Successful in 1m55s
CI / build-and-cache (push) Successful in 1m29s
CI / Build & Push OpenClaw Image (push) Failing after 1m30s
CI / Deploy OpenClaw to Cluster (push) Has been skipped
2026-04-20 21:33:58 -07:00
johno 9e316902f6 build(qmd): update Nix package for Gitea-hosted fork with PR #517
CI / check (push) Successful in 2m16s
CI / Build & Push OpenClaw Image (push) Has been cancelled
CI / build-and-cache (push) Has been cancelled
CI / Deploy OpenClaw to Cluster (push) Has been cancelled
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-20 21:27:11 -07:00
johno 2036181a04 fix: set HOME=/home/node in openclaw image to prevent /.openclaw mkdir errors
CI / check (push) Failing after 1m58s
CI / build-and-cache (push) Has been skipped
CI / Build & Push OpenClaw Image (push) Has been skipped
CI / Deploy OpenClaw to Cluster (push) Has been skipped
2026-04-19 21:08:18 -07:00
johno e3348e3319 feat: add QMD v2.1.0 as Nix package, bake into openclaw image
CI / check (push) Failing after 1m41s
CI / build-and-cache (push) Has been skipped
CI / Build & Push OpenClaw Image (push) Has been skipped
CI / Deploy OpenClaw to Cluster (push) Has been skipped
- packages/qmd: buildNpmPackage with Node.js 22 (not Bun) to avoid
  native module ABI issues with better-sqlite3 and sqlite-vec
- Vendored package-lock.json (QMD ships bun.lock, not npm lockfile)
- packages/openclaw-image: adds qmd + tsx to image contents
- packages/default.nix: rec attrset so openclaw-image can inherit qmd
- flake.nix: expose custom-qmd package output for CI caching
2026-04-19 20:52:26 -07:00
johno af496ce9ca fix(openclaw): copy /app as real directory to avoid symlink escape check
CI / check (push) Failing after 2m5s
CI / build-and-cache (push) Has been skipped
CI / Build & Push OpenClaw Image (push) Has been skipped
CI / Deploy OpenClaw to Cluster (push) Has been skipped
The OpenClaw runtime validates that resolved symlinks stay within
/app/dist/extensions/. When /app was a Nix store symlink, realpath
resolved to /nix/store/ which 'escaped' the boundary. Now we copy
the app files into /app as a real directory in extraCommands.
2026-04-19 16:58:07 -07:00
johno 3faad15a02 feat(openclaw): add Nix-built Docker image with app extraction from upstream
Pure Nix buildLayeredImage that extracts /app from upstream ghcr.io/openclaw/openclaw
via manifest-aware Python script. Avoids fromImage which breaks Debian
dynamic linker by shadowing /lib -> usr/lib symlink.

Includes: nix, nodejs_22, kubectl, jq, curl, git, emacs, python3+pymupdf, tea.
Custom NSS with node user (UID 1000). Replicated docker-entrypoint.sh.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-19 16:38:04 -07:00
ash-bot f3b405959e feat(app-launcher): add /workout endpoint and URL arg support
CI / check (pull_request) Successful in 1m46s
CI / build-and-cache (pull_request) Has been skipped
- POST /workout opens today's workout card in Firefox (auto-generates URL from date)
- POST /launch/firefox now accepts optional JSON body: {"args": ["https://..."}
- When args are provided, Firefox launches a new instance even if already running
- Updated GET / endpoint with endpoint documentation
2026-04-13 13:58:40 -07:00
johno a823caf369 Remove beads/gastown/perles/dolt
CI / check (push) Failing after 12m14s
CI / build-and-cache (push) Has been cancelled
2026-04-08 11:47:11 -07:00
johno 785561367e Add opencode package and install via base role
CI / check (push) Successful in 2m50s
CI / build-and-cache (push) Failing after 8m7s
- Add packages/opencode with pre-built binaries from GitHub releases (v1.4.0)
- Support all 4 platforms (aarch64-darwin, x86_64-darwin, x86_64-linux, aarch64-linux)
- Add update-opencode flake app for automated version bumps
- Install opencode via home.roles.base so it's available on all machines
- Reformat flake.nix and packages with nixfmt
2026-04-08 11:33:40 -07:00
ash-bot 8f292893a3 feat: patch nextcloud-talk-desktop for Wayland screen sharing
CI / check (pull_request) Successful in 2m46s
CI / build-and-cache (pull_request) Has been skipped
Patches the Electron asar bundle to inject setDisplayMediaRequestHandler
with useSystemPicker: true, which routes screen capture through the
native PipeWire/xdg-desktop-portal pipeline on Wayland.

Based on upstream draft PR nextcloud/talk-desktop#1022.
Uses the patched version in communication role.
2026-03-16 08:46:16 -07:00
johno-square 2e38217e13 claude-code: Update to version 2.1.75
CI / check (push) Successful in 3m43s
CI / build-and-cache (push) Successful in 1m42s
2026-03-13 16:30:52 -07:00
johno a77352fd81 feat: add perles to CI binary cache
CI / check (push) Successful in 2m32s
CI / build-and-cache (push) Successful in 2m31s
Extract shared package definition, add to flake packages output
and CI workflow so perles gets built and cached by Harmonia.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 20:32:13 -07:00
johno-square 433b41590b Update flake inputs, deduplicate beads/gastown package definitions
CI / check (push) Successful in 3m39s
CI / build-and-cache (push) Has been cancelled
- Update beads and gastown flake inputs and vendorHashes
- Remove merged-upstream patches for gastown and beads
- Deduplicate beads/gastown build definitions in home role by using
  callPackage to reference shared packages/ definitions
- Pin dolt to v1.82.4 (gastown requires >= 1.82.4)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-09 15:30:08 -07:00
johno 0a85616d58 Update flake inputs, claude-code 2.1.69, doom emacs, rotate wallpaper
CI / build-and-cache (push) Has been cancelled
CI / check (push) Has been cancelled
2026-03-05 14:48:14 -08:00
johno c85f047ee2 fix: update gastown vendorHash for Go module changes
CI / check (push) Successful in 2m10s
CI / build-and-cache (push) Failing after 3m57s
The upstream gastown Go dependencies changed, causing a hash mismatch
in the fixed-output derivation. Updated vendorHash in both:
- packages/gastown/default.nix (flake packages output)
- home/roles/development/default.nix (home-manager inline build)
2026-03-05 09:04:28 -08:00
johno-square 8fd702cad0 Add pi-coding-agent package, simplify Go builds with unstable.buildGoModule
CI / build-and-cache (push) Has been cancelled
CI / check (push) Has been cancelled
- Add pi-coding-agent package (v0.55.4) with multi-platform support
- Replace custom Go 1.25.6 override with nixpkgs-unstable buildGoModule
  for beads and perles builds
- Update flake inputs: beads, nixpkgs-unstable, perles
- Update vendor hashes for beads and perles
- Add pi-coding-agent to development role
2026-03-04 11:32:50 -08:00
johno-square c39f711662 chore: update beads 0.49.6→0.52.0 and gastown, make gastown a proper flake
CI / check (push) Successful in 6m4s
CI / build-and-cache (push) Successful in 8m20s
- beads: update to 0.52.0 (16af00d7), refresh vendorHash
- gastown: update to 35157d02, remove flake=false now that upstream has flake.nix
- gastown: add inputs.nixpkgs.follows and inputs.beads.follows to deduplicate deps
- Clean up stale comments

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-18 09:44:11 -08:00
mayor 4b5fec04fe Add beads and gastown to CI cache, consolidate CI workflow
CI / check (push) Successful in 3m55s
CI / build-and-cache (push) Failing after 2m29s
- Add packages/beads and packages/gastown with shared definitions
- Expose custom-beads and custom-gastown in flake packages output
- Consolidate CI from matrix (8 parallel jobs) to single job with loop
- Saves ~12 minutes of redundant nix-setup time per run
- Uses ::group:: for collapsible log sections per package

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:40:21 -08:00
johno-square 945864edbe chore: update flake inputs and claude-code to 2.1.32 2026-02-11 08:24:23 -08:00
johno-square 87f6d5c759 feat(deps): update beads to 0.49.1 with dolt server mode, claude-code to 2.1.30
CI / check (push) Successful in 5m17s
beads:
- Pin to commit 93965b4a (last before Go 1.25.6 requirement)
- Build locally with corrected vendorHash (upstream default.nix is stale)
- Enables dolt server mode support (gt-1mf.3)

claude-code: 2.1.19 → 2.1.30

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 14:56:24 -08:00
harry 8553b9826e feat(roles): add rclone-mount role for WebDAV mounts
CI / check (push) Failing after 12m14s
Add a new system-level role for mounting WebDAV filesystems via rclone.
Includes rclone-torbox-setup helper script that uses rbw to bootstrap
credentials from Bitwarden.

Key features:
- Configurable WebDAV URL, username, mount point
- VFS cache mode and buffer size tuning for media streaming
- RequiresMountsFor option for ZFS pool dependencies
- Obscured password storage via environment file

Enable on john-endesktop for TorBox WebDAV access by rdt-client and
Jellyfin. Mount waits for /media ZFS pool before starting.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 19:45:00 -08:00
johno-square 70b40966be chore(claude-code): update to 2.1.19 2026-01-26 17:10:45 -08:00
johno 53e3bbe78f fix(claude-code): preserve bun appended bundle during NixOS build
CI / check (push) Successful in 3m32s
Bun standalone executables store their JavaScript code by appending it
after the ELF sections, marked with "---- Bun! ----". The standard Nix
build process was corrupting this:

- autoPatchelfHook rewrites the entire ELF, losing appended data
- strip removes data after ELF sections
- patchelf shrink-rpath also rewrites the ELF

Fix by:
- Using dontStrip and dontPatchELF to skip automatic fixup
- Manually running patchelf --set-interpreter which modifies in-place
  without rewriting the entire file structure

This restores the binary from 99MB (bare bun runtime) to 220MB (full
claude-code application).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Executed-By: mayor
Role: mayor
2026-01-19 10:39:58 -08:00
johno 5440214295 chore(claude-code): update to v2.1.12
CI / check (push) Successful in 4m33s
2026-01-17 13:14:18 -08:00
johno 90ef70eb2e Add mcrcon-rbw wrapper for Minecraft RCON
CI / check (push) Has been cancelled
Wrapper that auto-authenticates via rbw (Bitwarden) for RCON access.
- Uses minecraft-rcon entry from Bitwarden
- Defaults to 10.0.0.165:25575 (LoadBalancer IP)
- Supports MCRCON_HOST/PORT overrides
- Interactive terminal mode when no args provided

Part of k3s-cluster-config bead k3s-cluster-config-byg
2026-01-14 14:09:45 -08:00
johno 7a5f167a8c Remove perles 2026-01-11 16:30:35 -08:00
johno c28d6a7896 chore(packages): Remove unused vulkan-hdr-layer package
The vulkan-hdr-layer package was not used anywhere in the configuration.
Removing it to reduce maintenance burden.
2026-01-10 13:14:19 -08:00
johno 3cf4403ffa Add perles TUI package for Beads issue tracking
Adds a custom Nix package for perles, a terminal user interface for the
Beads issue tracking system with BQL query language support.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 11:20:02 -08:00
johno e25aa7acab Update flake inputs, doom emacs, and claude-code 2026-01-04 17:12:35 -08:00
johno 4a284de8a1 Add wallpaper rotation system with upgrade workflow
- Add home/wallpapers/default.nix with per-wallpaper scaling options
- Add 5 new Metroid-themed wallpapers to the rotation
- Update i3+sway and plasma-manager to use wallpaper module
- Add scripts/rotate-wallpaper.sh to cycle through wallpapers
- Add scripts/upgrade.sh to chain: flake update, doom, claude-code, wallpaper
- Add flake apps: rotate-wallpaper, update-claude-code, upgrade
- Fix claude-code update.sh to use REPO_ROOT for flake app compatibility

Run `nix run .#upgrade` for full system update with wallpaper rotation.
2026-01-04 17:12:27 -08:00
johno bcebf9b376 claude-code: Update to version 2.0.75 2025-12-22 14:27:10 -08:00
johno 55f13dfb08 Rename claude-cli package to claude-code for consistency with nixpkgs 2025-11-26 17:20:17 -08:00
johno-square 63bf19b85f [claude-code] update 2025-11-25 13:39:02 -08:00
johno-square 1f9e9138ab Add automated update script for claude-cli package
Create update.sh script that fetches the latest claude-code version
and SHA256 hashes from Homebrew cask and automatically updates the
Nix package definition.

Features:
- Fetches version and all 4 platform SHA256 hashes from Homebrew
- Updates default.nix in-place using awk for reliable parsing
- Validates extracted data before updating
- Supports --dry-run mode to preview changes
- Supports --help flag for usage information
- Idempotent (safe to run multiple times)

Update README to document the automated update method as the
recommended approach, with manual update as a fallback option.
2025-11-25 13:39:02 -08:00