Commit Graph

632 Commits

Author SHA1 Message Date
e8213e47c6 build(qmd): update fork to dfc1ac4 with try/catch fix for remoteConfigFromEnv
Some checks failed
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
c3a0806e24 build(qmd): update for RemoteLLM/HybridLLM CLI integration
Some checks failed
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
80e520bb23 style(qmd): clean up stale npmDepsHash comment
Some checks failed
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
9e316902f6 build(qmd): update Nix package for Gitea-hosted fork with PR #517
Some checks failed
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
6c18b6520c fix: retry docker push for large images on slow CI runners
Some checks failed
CI / check (push) Successful in 1m42s
CI / build-and-cache (push) Successful in 1m4s
CI / Build & Push OpenClaw Image (push) Successful in 31m38s
CI / Deploy OpenClaw to Cluster (push) Failing after 3s
2026-04-20 10:27:15 -07:00
618e6c7fd6 fix: tolerate latest tag push failure in CI
Some checks failed
CI / check (push) Successful in 1m34s
CI / build-and-cache (push) Successful in 1m19s
CI / Build & Push OpenClaw Image (push) Failing after 13m51s
CI / Deploy OpenClaw to Cluster (push) Has been skipped
Large image layers can timeout on retry. The versioned tag push
is what matters for deployment; :latest is cosmetic.
2026-04-20 10:00:47 -07:00
dc9e65f7f1 trigger CI: test registry secrets
Some checks failed
CI / check (push) Successful in 1m55s
CI / build-and-cache (push) Successful in 1m28s
CI / Build & Push OpenClaw Image (push) Failing after 14m48s
CI / Deploy OpenClaw to Cluster (push) Has been skipped
2026-04-20 09:20:16 -07:00
576140befb fix: extract openclaw image tag from imageTag attribute instead of store path
Some checks failed
CI / check (push) Successful in 2m41s
CI / build-and-cache (push) Successful in 1m16s
CI / Build & Push OpenClaw Image (push) Failing after 9m2s
CI / Deploy OpenClaw to Cluster (push) Has been skipped
The sed pattern on the store path basename gave 'tar.gz' because
buildLayeredImage outputs 'openclaw.tar.gz'. Use imageTag attribute
which returns the actual tag (e.g., '2026.4.14').
2026-04-20 08:57:02 -07:00
9904d1c11d fix: nix-deck infinite recursion + add custom-qmd to CI
Some checks failed
CI / check (push) Successful in 2m56s
CI / build-and-cache (push) Successful in 4m37s
CI / Build & Push OpenClaw Image (push) Failing after 11m45s
CI / Deploy OpenClaw to Cluster (push) Has been skipped
- Add specialArgs to nix-deck (was missing nixpkgs-unstable, causing
  infinite recursion when roles/local-inference evaluated it)
- Move local-inference import out of roles/default.nix: its module-level
  disabledModules/imports conflict with nix-deck's unstable-based nixpkgs
- Import local-inference directly in zix790prors (the only machine that
  enables it)
- Add custom-qmd and custom-opencode to CI build-and-cache packages
2026-04-19 22:13:04 -07:00
2036181a04 fix: set HOME=/home/node in openclaw image to prevent /.openclaw mkdir errors
Some checks failed
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
e3348e3319 feat: add QMD v2.1.0 as Nix package, bake into openclaw image
Some checks failed
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
af496ce9ca fix(openclaw): copy /app as real directory to avoid symlink escape check
Some checks failed
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
211afa630e ci(openclaw): add build-push-deploy pipeline for Nix Docker image
Some checks failed
CI / check (push) Failing after 2m12s
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
Builds openclaw-image with Nix, loads into Docker, tags and pushes to
registry.johnogle.info/openclaw, then updates k3s-cluster-config manifest.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-19 16:38:30 -07:00
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
5a82554884 feat(opencode): add oh-my-openagent plugin with omo config for ollama-cloud/glm-5.1
Some checks failed
CI / check (push) Failing after 2m8s
CI / build-and-cache (push) Has been skipped
Configure oh-my-openagent (omo) plugin for multi-agent orchestration
using ollama-cloud and local llama-swap providers. Primary model is
ollama-cloud/glm-5.1 with fallback chains. Add runtime fallback,
background task concurrency limits, and disable incompatible agents
(hephaestus, multimodal-looker).
2026-04-17 13:43:08 -07:00
170a27310e feat(local-inference): add TTL support for automatic model unloading
Some checks failed
CI / check (push) Failing after 1m44s
CI / build-and-cache (push) Has been skipped
Add globalTTL and per-model ttl options to llama-swap config,
allowing idle models to be automatically unloaded from memory.
2026-04-16 15:37:02 -07:00
bd377676ed fix(opencode): increase context/output limits for local model
Some checks failed
CI / check (push) Failing after 1m59s
CI / build-and-cache (push) Has been skipped
2026-04-16 15:20:51 -07:00
10efafd92e feat(local-inference): replace ollama with llama-swap + llama.cpp on zix790prors
- Add local-inference NixOS role using llama-swap (from nixpkgs-unstable)
  with llama.cpp (CUDA-enabled, from nixpkgs-unstable)
- Serves Qwen3.6-35B-A3B via HuggingFace auto-download with --cpu-moe
- Add nixosSpecialArgs for nixpkgs-unstable module access
- Configure opencode with llama-local provider pointing to zix790prors:8080
- Update gptel from Ollama backend to OpenAI-compatible llama-swap backend
- Remove ollama service from zix790prors
2026-04-16 15:20:37 -07:00
d16c8aa67e Merge pull request 'feat(app-launcher): workout card launcher + URL args' (#54) from ash/workout-card-launcher into main
All checks were successful
CI / check (push) Successful in 1m40s
CI / build-and-cache (push) Successful in 3h10m42s
Reviewed-on: #54
2026-04-13 17:13:41 -07:00
Ash
f3b405959e feat(app-launcher): add /workout endpoint and URL arg support
All checks were successful
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
e9fd4cf0d6 feat(gym-box): update for new uuids and add swap
Some checks failed
CI / check (push) Successful in 1m24s
CI / build-and-cache (push) Failing after 6h14m31s
2026-04-10 17:59:06 -07:00
8ac79169d9 feat: add gym-box
Some checks failed
CI / check (push) Successful in 2m0s
CI / build-and-cache (push) Has been cancelled
2026-04-10 16:43:33 -07:00
962fd35a83 Fix nix flake check warnings and errors
Some checks failed
CI / check (push) Successful in 3m38s
CI / build-and-cache (push) Failing after 1h26m28s
- Move nextcloud-talk-desktop to x86_64-linux-only block (fixes aarch64 eval error)
- Remove duplicate deps from plasma-bigscreen (auto-injected by mkKdeDerivation)
- Replace nixfmt-rfc-style with nixfmt (deprecated alias)
- Set programs.git.signing.format = null (adopt new default)
- Add meta.description to all flake apps
2026-04-08 13:09:41 -07:00
a823caf369 Remove beads/gastown/perles/dolt
Some checks failed
CI / check (push) Failing after 12m14s
CI / build-and-cache (push) Has been cancelled
2026-04-08 11:47:11 -07:00
785561367e Add opencode package and install via base role
Some checks failed
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
ddd21454b7 Merge pull request 'chore(deps): lock file maintenance' (#50) from renovate/lock-file-maintenance into main
Some checks failed
CI / check (push) Successful in 5m31s
CI / build-and-cache (push) Failing after 6h14m41s
Reviewed-on: #50
Reviewed-by: johno <john@ogle.fyi>
2026-04-05 10:00:39 -07:00
790b3f1543 Merge pull request 'Add lnav to base CLI tools' (#51) from ash/add-lnav into main
All checks were successful
CI / check (push) Successful in 3m5s
CI / build-and-cache (push) Successful in 2m29s
Reviewed-on: #51
Reviewed-by: johno <john@ogle.fyi>
2026-03-24 13:32:29 -07:00
Ash
079a3d7a11 Add lnav to base CLI tools
All checks were successful
CI / check (pull_request) Successful in 3m19s
CI / build-and-cache (pull_request) Has been skipped
2026-03-24 13:12:56 -07:00
6bd5df6bf0 chore(deps): lock file maintenance
All checks were successful
CI / check (pull_request) Successful in 1m38s
CI / build-and-cache (pull_request) Has been skipped
2026-03-23 19:11:16 +00:00
718d81a88a Merge pull request 'ci: add patched nextcloud-talk-desktop to binary cache' (#49) from ash/cache-talk-desktop into main
Some checks failed
CI / check (push) Failing after 14m52s
CI / build-and-cache (push) Has been cancelled
2026-03-16 09:01:09 -07:00
Ash
827da51214 ci: add patched nextcloud-talk-desktop to binary cache
All checks were successful
CI / check (pull_request) Successful in 2m41s
CI / build-and-cache (pull_request) Has been skipped
Includes the Wayland screen sharing patch (from ash/talk-desktop-wayland-screenshare)
and adds custom-nextcloud-talk-desktop to CI build-and-cache pipeline.
2026-03-16 08:56:40 -07:00
Ash
068f912dc3 Merge branch 'ash/talk-desktop-wayland-screenshare' into ash/cache-talk-desktop 2026-03-16 08:56:14 -07:00
45db8efaa9 docs: add upstream tracking comments to plasma-bigscreen files
All checks were successful
CI / check (push) Successful in 2m42s
CI / build-and-cache (push) Successful in 1m39s
Flag the custom derivation and workarounds as temporary with TODO
markers and links to the relevant nixpkgs issue/PR. Makes it clear
what to remove once plasma-bigscreen lands in nixpkgs.
2026-03-16 08:48:39 -07:00
c57a4d3769 fix: plasma-bigscreen build — correct source hash and add Qt6QmlPrivate dep
- Set correct source hash for fetchFromGitLab (was placeholder)
- Add qtdeclarative to build inputs for Qt6::QmlPrivate target
- Patch CMakeLists.txt to find_package(Qt6 QmlPrivate) before QCoro6,
  working around QCoro not importing its own transitive dependency

Verified: boxy, zix790prors, and nix-book all build successfully.
2026-03-16 08:48:38 -07:00
Ash
2ae03eb7bf fix: handle missing xwaylandvideobridge attr conditionally 2026-03-16 08:48:38 -07:00
Ash
9b7ce04a41 fix: merge services.displayManager into single block
NixOS doesn't allow duplicate attribute set definitions in the
same module. Combine sessionPackages and autologin config.
2026-03-16 08:48:38 -07:00
Ash
d2ebe7083c boxy: replace Kodi with Plasma Bigscreen
Add plasma-bigscreen role with package built from upstream master
(not yet in nixpkgs, tracking NixOS/nixpkgs#428077).

Changes:
- New role: roles/plasma-bigscreen/ (module + package derivation)
- boxy configuration: swap roles.kodi for roles.plasma-bigscreen
- Keeps all existing functionality: Jellyfin, Stremio, Firefox,
  KDE Connect, app-launcher-server, AVR volume control (kodi user)
- Autologins to plasma-bigscreen-wayland session instead of plasma

NOTE: First build will fail with a hash mismatch on the source
fetch — copy the correct sha256 from the error into package.nix.
Some dep attribute names may also need adjustment on first build.
2026-03-16 08:48:38 -07:00
Ash
8f292893a3 feat: patch nextcloud-talk-desktop for Wayland screen sharing
All checks were successful
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
Ash
c413e27bf8 fix: shift renovate schedules to 5-7 PM Saturday to align with cron
All checks were successful
CI / check (push) Successful in 2m47s
CI / build-and-cache (push) Successful in 1m34s
CronJob runs at 0/6/12/18h. Old 2-4 PM window never had a run
inside it, so Renovate never created PRs. Shift to 5-7 PM so the
18:00 run lands in the window. nixpkgs-qt staggered to 7-9 PM.
2026-03-16 08:12:23 -07:00
Ash
091c570249 fix: remove custom sway portal config, let NixOS sway module handle it
All checks were successful
CI / check (pull_request) Successful in 2m45s
CI / build-and-cache (pull_request) Has been skipped
CI / check (push) Successful in 2m42s
CI / build-and-cache (push) Successful in 1m37s
Only wlr.enable is needed — the sway module already sets
xdg.portal.config.sway.default and adding our own conflicts.
2026-03-16 07:45:05 -07:00
Ash
23cde06c35 fix: mkForce sway portal default to resolve conflict with sway module
All checks were successful
CI / check (pull_request) Successful in 2m52s
CI / build-and-cache (pull_request) Has been skipped
2026-03-16 07:42:24 -07:00
Ash
579c5b135e fix: add xdg-desktop-portal-wlr for Sway screen sharing
Some checks failed
CI / check (pull_request) Failing after 1m47s
CI / build-and-cache (pull_request) Has been skipped
Enable wlr portal conditionally when wayland is active.
Add sway-specific portal config routing ScreenCast and
Screenshot interfaces through the wlr backend.
2026-03-16 07:21:45 -07:00
2e38217e13 claude-code: Update to version 2.1.75
All checks were successful
CI / check (push) Successful in 3m43s
CI / build-and-cache (push) Successful in 1m42s
2026-03-13 16:30:52 -07:00
a77352fd81 feat: add perles to CI binary cache
All checks were successful
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
72b78ab25f feat(wireguard): add WireGuard VPN role
All checks were successful
CI / check (push) Successful in 2m35s
CI / build-and-cache (push) Successful in 1m25s
Replace inline wg-quick config in nix-book with a reusable role that
uses inline config instead of configFile, fixing the world-readable
/tmp key leak. Adds network-online.target dependency to prevent boot
failures from DNS not being ready.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 20:07:49 -07:00
60888a4901 fix: block humanlayer:create_handoff from being installed
All checks were successful
CI / check (push) Successful in 2m32s
CI / build-and-cache (push) Successful in 2h54m10s
Skip the create_handoff command during humanlayer plugin installation
and explicitly remove it if previously installed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-09 16:14:29 -07:00
433b41590b Update flake inputs, deduplicate beads/gastown package definitions
Some checks failed
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
a3d039613f fix: replace removed programs.light with brightnessctl
Some checks failed
CI / check (push) Successful in 4m16s
CI / build-and-cache (push) Failing after 6h12m6s
programs.light was removed from nixpkgs (upstream unmaintained).
brightnessctl is the recommended replacement for Sway/Wayland.
2026-03-05 14:48:43 -08:00
0a85616d58 Update flake inputs, claude-code 2.1.69, doom emacs, rotate wallpaper
Some checks failed
CI / build-and-cache (push) Has been cancelled
CI / check (push) Has been cancelled
2026-03-05 14:48:14 -08:00
c85f047ee2 fix: update gastown vendorHash for Go module changes
Some checks failed
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