Compare commits

107 Commits

Author SHA1 Message Date
Miguel Palhas ac6d8b2d11 chore(flake): bump codex-cli to 0.153.4
CI / lint (push) Successful in 36s
CI / eval (push) Successful in 2m5s
2026-09-05 22:33:12 +01:00
Miguel Palhas 67c0e61d1c chore(flake): bump maestro to 2e7c5f7
CI / eval (push) Successful in 4m26s
CI / lint (push) Failing after 14m20s
2026-09-05 20:49:27 +01:00
Miguel Palhas a210e7e69e chore(flake): bump maestro to 3529947
CI / lint (push) Successful in 3m2s
CI / eval (push) Successful in 5m37s
2026-09-05 03:49:40 +01:00
Miguel Palhas 035962c9cf chore(flake): bump maestro to 3cb4beb
CI / lint (push) Successful in 2m7s
CI / eval (push) Successful in 5m6s
2026-09-04 20:08:17 +01:00
Miguel Palhas 711e9d07fa chore(flake): bump maestro to 0e20baf
CI / lint (push) Successful in 2m29s
CI / eval (push) Successful in 6m1s
2026-09-04 19:57:40 +01:00
Miguel Palhas 2eb03ebcc8 chore(flake): bump maestro to af8acbf
CI / lint (push) Successful in 2m23s
CI / eval (push) Successful in 6m57s
2026-09-04 19:47:59 +01:00
Miguel Palhas 56e7da9008 fix(claude-desktop): pin libsecret password store
CI / lint (push) Successful in 26s
CI / eval (push) Successful in 2m1s
Chromium maps XDG_CURRENT_DESKTOP=Hyprland to "other" and falls back to
the plaintext `basic` keystore, so safeStorage reported unavailable and
auth tokens were dropped on every restart.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-04 15:31:04 +01:00
Miguel Palhas 1b7bbb3d2e chore(flake): bump maestro to f0c272e
CI / lint (push) Successful in 1m32s
CI / eval (push) Successful in 3m17s
2026-09-04 14:34:19 +01:00
Miguel Palhas 9794578554 chore(flake): bump maestro to 624f6f1
CI / lint (push) Successful in 52s
CI / eval (push) Successful in 3m21s
2026-09-04 13:33:37 +01:00
Miguel Palhas f53b7dca42 chore(flake): bump maestro to 49ab7e9
CI / lint (push) Successful in 1m10s
CI / eval (push) Successful in 5m29s
2026-09-04 13:32:06 +01:00
Miguel Palhas 4f0fcc41df chore(flake): bump maestro to 0cc25d7
CI / lint (push) Successful in 1m59s
CI / eval (push) Successful in 5m57s
2026-09-04 13:29:28 +01:00
Miguel Palhas c22ddec79a feat(hosts): add transmission torrent client
CI / lint (push) Successful in 31s
CI / eval (push) Successful in 2m6s
Enables the Transmission daemon + web UI on arrakis, konishi, and yolo.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-04 13:11:47 +01:00
Miguel Palhas d872582f28 chore(flake): bump rev to 7e78a5f
CI / lint (push) Successful in 33s
CI / eval (push) Successful in 2m5s
2026-09-04 11:44:05 +01:00
Miguel Palhas d78f542e42 chore(flake): bump rev to aba6443
CI / lint (push) Successful in 44s
CI / eval (push) Successful in 2m7s
2026-09-04 11:05:20 +01:00
Miguel Palhas 2dd60b29e1 chore(flake): bump maestro to 706942d
CI / lint (push) Successful in 3m26s
CI / eval (push) Successful in 5m14s
2026-09-04 10:48:55 +01:00
Miguel Palhas 1a32635d77 chore(flake): bump maestro to 52877ab
CI / lint (push) Successful in 2m15s
CI / eval (push) Successful in 4m13s
2026-09-04 09:47:18 +01:00
Miguel Palhas c3deb1debc chore(flake): bump maestro to 43fc3a3
CI / lint (push) Successful in 58s
CI / eval (push) Successful in 4m52s
2026-09-04 08:20:54 +01:00
Miguel Palhas f15d64018f chore(flake): bump maestro to ba74d35
CI / lint (push) Successful in 1m0s
CI / eval (push) Successful in 5m36s
2026-09-04 08:17:47 +01:00
Miguel Palhas 0322a8d9de chore(flake): bump maestro to 8325bc6
CI / lint (push) Successful in 1m43s
CI / eval (push) Successful in 4m22s
2026-09-03 23:05:29 +01:00
Miguel Palhas 21b4f9e30e chore(flake): bump maestro to 8f499db
CI / lint (push) Successful in 1m30s
CI / eval (push) Successful in 4m3s
2026-09-03 22:56:12 +01:00
Miguel Palhas 12105a75d6 chore(flake): bump maestro to f8b434d
CI / lint (push) Successful in 2m17s
CI / eval (push) Successful in 4m34s
2026-09-03 17:49:28 +01:00
Miguel Palhas 108814238a chore(flake): bump maestro to f37ff68
CI / lint (push) Successful in 1m6s
CI / eval (push) Successful in 4m8s
2026-09-03 15:33:16 +01:00
Miguel Palhas b163785d2a chore(flake): bump maestro to 46a000a
CI / lint (push) Successful in 59s
CI / eval (push) Successful in 4m22s
2026-09-03 14:09:09 +01:00
Miguel Palhas dd263b3e9f chore(flake): bump maestro to b0504eb
CI / lint (push) Successful in 1m25s
CI / eval (push) Successful in 6m14s
2026-09-03 13:40:48 +01:00
Miguel Palhas 4c16212e0a chore(flake): bump maestro to 6f0ac2b
CI / lint (push) Successful in 1m29s
CI / eval (push) Successful in 5m46s
2026-09-03 13:38:09 +01:00
Miguel Palhas 5ce2aefc67 chore(flake): bump maestro to f443f62
CI / lint (push) Successful in 1m18s
CI / eval (push) Successful in 3m51s
2026-09-03 13:22:23 +01:00
Miguel Palhas d80b481e1a chore(flake): bump maestro to 71e0e8d
CI / eval (push) Successful in 4m56s
CI / lint (push) Failing after 10m57s
2026-09-03 11:12:23 +01:00
Miguel Palhas b2f5625a63 chore(flake): bump maestro to d8a5d95
CI / lint (push) Successful in 37s
CI / eval (push) Successful in 2m43s
2026-09-03 11:09:34 +01:00
Miguel Palhas 2431722fe7 chore(flake): bump maestro to 05e7293
CI / lint (push) Successful in 1m54s
CI / eval (push) Successful in 4m9s
2026-09-03 10:34:34 +01:00
Miguel Palhas d4ee1c66a8 chore(flake): bump maestro to 7eeb437
CI / eval (push) Failing after 1m14s
CI / lint (push) Successful in 1m42s
2026-09-03 08:28:55 +01:00
Miguel Palhas 826c4b4058 chore(flake): bump maestro to b36d571
CI / eval (push) Failing after 1m7s
CI / lint (push) Successful in 1m37s
2026-09-03 08:15:49 +01:00
Miguel Palhas 6ede2df401 chore(flake): bump maestro to e4601e3
CI / eval (push) Failing after 1m35s
CI / lint (push) Successful in 1m32s
2026-09-02 23:09:31 +01:00
Miguel Palhas 0556b58c79 chore(flake): bump maestro to 86eeae8
CI / eval (push) Failing after 1m11s
CI / lint (push) Successful in 1m25s
2026-09-02 22:19:25 +01:00
Miguel Palhas 47c0732624 chore(flake): bump maestro to f669ebb
CI / eval (push) Failing after 1m37s
CI / lint (push) Successful in 2m26s
2026-09-02 21:54:05 +01:00
Miguel Palhas e14bdcf3d1 chore(flake): bump maestro to b163f24
CI / eval (push) Failing after 1m21s
CI / lint (push) Successful in 1m24s
2026-09-02 21:38:02 +01:00
Miguel Palhas c56ef62cf4 chore(flake): bump maestro to 0babde1
CI / eval (push) Failing after 1m42s
CI / lint (push) Successful in 2m14s
2026-09-02 21:09:48 +01:00
Miguel Palhas 914753fb55 fix(yolo): drop removed services.maestro.web.enable
CI / lint (push) Successful in 31s
CI / eval (push) Failing after 33s
maestro's daemon serves the browser UI on daemon.bind_addr; the option is now
a mkRemovedOptionModule, so every flake bump failed to build. config.toml moves
the daemon to 0.0.0.0:7070 and Traefik's maestro router now points there.
2026-09-02 19:31:38 +01:00
Miguel Palhas 2df744b244 chore(flake): bump maestro to 9dad3e6
CI / eval (push) Failing after 43s
CI / lint (push) Successful in 57s
2026-09-02 18:38:44 +01:00
Miguel Palhas c4db021783 chore(flake): bump maestro to d69107b
CI / eval (push) Failing after 2m22s
CI / lint (push) Successful in 2m31s
2026-09-02 18:18:21 +01:00
Miguel Palhas 0a26367881 chore(flake): bump maestro to fa7d5fb
CI / lint (push) Successful in 1m9s
CI / eval (push) Failing after 2m6s
2026-09-02 18:12:18 +01:00
Miguel Palhas 01de255a7a chore(flake): bump maestro to e18ad71
CI / lint (push) Successful in 1m29s
CI / eval (push) Failing after 1m29s
2026-09-02 18:04:50 +01:00
Miguel Palhas a5661de579 chore(flake): bump maestro to f84199d
CI / eval (push) Failing after 2m26s
CI / lint (push) Successful in 3m5s
2026-09-02 17:54:05 +01:00
Miguel Palhas 1079822f67 chore(flake): bump maestro to 2ad2858
CI / eval (push) Failing after 1m29s
CI / lint (push) Successful in 1m32s
2026-09-02 17:41:04 +01:00
Miguel Palhas eb3eb0fe40 chore(flake): bump maestro to e12baa2
CI / eval (push) Failing after 1m5s
CI / lint (push) Successful in 2m17s
2026-09-02 17:37:22 +01:00
Miguel Palhas 9bd137c31f chore(flake): bump maestro to 63191c7
CI / eval (push) Failing after 1m10s
CI / lint (push) Successful in 1m10s
2026-09-02 17:21:22 +01:00
Miguel Palhas 4088e0f72c chore(flake): bump maestro to c8ab4a5
CI / eval (push) Failing after 1m36s
CI / lint (push) Successful in 1m27s
2026-09-02 17:18:35 +01:00
Miguel Palhas 79a8cae2e7 chore(flake): bump maestro to 21fc20b
CI / lint (push) Successful in 1m9s
CI / eval (push) Failing after 1m18s
2026-09-02 17:01:00 +01:00
Miguel Palhas 0e6109df93 chore(flake): bump maestro to adbf57f
CI / eval (push) Failing after 34s
CI / lint (push) Successful in 1m44s
2026-09-02 16:32:27 +01:00
Miguel Palhas 954d23cce6 chore(flake): bump maestro to 3ce1a6f
CI / eval (push) Failing after 2m17s
CI / lint (push) Successful in 1m11s
2026-09-02 16:01:24 +01:00
Miguel Palhas 6f3e4fb462 chore(flake): bump maestro to 8cb6aeb
CI / eval (push) Failing after 1m2s
CI / lint (push) Successful in 1m18s
2026-09-02 15:58:53 +01:00
Miguel Palhas 35f0145e22 chore(flake): bump maestro to 29545d1
CI / eval (push) Failing after 36s
CI / lint (push) Successful in 2m33s
2026-09-02 15:55:03 +01:00
Miguel Palhas b21b25fe7b feat(yolo): auto-apply maestro flake bumps
CI / eval (push) Failing after 30s
CI / lint (push) Successful in 32s
Sessions survive a maestro daemon restart, so there is no reason to stop at
bumping the lock.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-02 15:36:59 +01:00
Miguel Palhas a50eaa4707 Merge remote-tracking branch 'origin/main' into dorian
CI / eval (push) Failing after 1m53s
CI / lint (push) Successful in 1m12s
2026-09-02 15:26:16 +01:00
Miguel Palhas d74f1ac39e chore(flake): bump maestro to f89be4a
CI / eval (push) Failing after 2m15s
CI / lint (push) Successful in 2m49s
2026-09-02 15:26:01 +01:00
Miguel Palhas ccc5d0d88c Merge remote-tracking branch 'origin/main' into dorian 2026-09-02 15:25:56 +01:00
Miguel Palhas ca1cba782e chore(flake): bump agent-skills to abd2192
CI / lint (push) Successful in 56s
CI / eval (push) Successful in 5m30s
2026-09-02 14:39:34 +01:00
Miguel Palhas 434ed3729f chore(flake): bump claude-code to 2.1.258
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-02 14:39:20 +01:00
Miguel Palhas df9fb4c495 chore(flake): bump rev to b432e8a
CI / lint (push) Successful in 1m10s
CI / eval (push) Successful in 8m11s
2026-09-02 14:37:54 +01:00
Miguel Palhas 4b12fd94db chore(flake): bump agent-skills to dda9127
CI / lint (push) Successful in 33s
CI / eval (push) Successful in 4m14s
2026-09-02 14:35:22 +01:00
Miguel Palhas aa7a9b179d fix(smb): move yolo share out of $HOME
CI / lint (push) Successful in 35s
CI / eval (push) Successful in 2m15s
starship and eww stat every entry of the home dir, so the automount at
~/yolo fired on every prompt and blocked 10s while the VPN was still
down after boot.
2026-09-02 09:26:32 +01:00
Miguel Palhas 08db70518b chore(flake): bump agent-skills to 6b3cabe
CI / lint (push) Successful in 36s
CI / eval (push) Successful in 2m16s
2026-09-01 15:39:01 +01:00
Miguel Palhas 09bd517439 chore(flake): bump maestro to 28778b2
CI / lint (push) Successful in 1m58s
CI / eval (push) Successful in 5m41s
2026-09-01 15:19:04 +01:00
Miguel Palhas 2cfdc7e68e feat(konishi): flatpak for PrusaSlicer 3.0 alpha
CI / lint (push) Successful in 36s
CI / eval (push) Successful in 2m38s
Prusa ships no Linux binary as of 3.0 — the GitHub release has only
.dmg and .zip, and Flathub is now the sole Linux channel, with alphas
in flathub-beta.

nixpkgs' services.flatpak only exposes `enable`, so this pulls in
nix-flatpak for declarative remotes and packages.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-01 15:08:33 +01:00
Miguel Palhas 5bafa07427 chore(flake): bump maestro to 766eabb
CI / lint (push) Successful in 2m34s
CI / eval (push) Successful in 4m32s
2026-09-01 14:31:43 +01:00
Miguel Palhas f8c95e3b8d chore(flake): bump maestro to c67fa2b
CI / lint (push) Successful in 2m21s
CI / eval (push) Successful in 4m35s
2026-09-01 11:52:57 +01:00
Miguel Palhas 00810b4104 chore(flake): bump maestro to 88b6bba
CI / lint (push) Successful in 2m16s
CI / eval (push) Successful in 4m38s
2026-09-01 11:26:59 +01:00
Miguel Palhas ede94f9251 chore(flake): bump maestro to 1c349e5
CI / lint (push) Successful in 1m23s
CI / eval (push) Successful in 3m50s
2026-09-01 10:36:17 +01:00
Miguel Palhas ca0ad8f662 chore(flake): bump maestro to 9fc21b4
CI / lint (push) Successful in 1m9s
CI / eval (push) Successful in 4m24s
2026-09-01 10:01:23 +01:00
Miguel Palhas 0519030103 chore(flake): bump maestro to 19162f9
CI / lint (push) Successful in 1m10s
CI / eval (push) Successful in 4m49s
2026-09-01 09:55:00 +01:00
Miguel Palhas 4cb6e63e55 chore(flake): bump maestro to 95b459b
CI / lint (push) Successful in 2m42s
CI / eval (push) Successful in 44m45s
2026-09-01 09:47:01 +01:00
Miguel Palhas 6581bab9ca chore(flake): bump maestro to 31158cd
CI / lint (push) Successful in 1m22s
CI / eval (push) Successful in 4m9s
2026-08-31 22:39:29 +01:00
Miguel Palhas 7c59ed8af6 chore(flake): bump maestro to 7b04575
CI / lint (push) Successful in 1m14s
CI / eval (push) Successful in 3m43s
2026-08-31 22:25:06 +01:00
Miguel Palhas 2b5c0eabea chore(flake): bump maestro to 52abfc6
CI / lint (push) Successful in 1m34s
CI / eval (push) Successful in 3m43s
2026-08-31 22:14:42 +01:00
Miguel Palhas f3acdf7781 chore(flake): bump maestro to 1f543d1
CI / lint (push) Successful in 1m35s
CI / eval (push) Successful in 3m41s
2026-08-31 22:03:19 +01:00
Miguel Palhas 16bf875f5b chore(flake): bump maestro to f6cfcbb
CI / lint (push) Successful in 1m13s
CI / eval (push) Successful in 3m14s
2026-08-31 17:55:05 +01:00
Miguel Palhas 75f216165c chore(flake): bump maestro to eb5d28d
CI / lint (push) Successful in 51s
CI / eval (push) Successful in 3m3s
2026-08-31 15:32:51 +01:00
Miguel Palhas 89fb6c8b14 chore(flake): bump maestro to a922023
CI / lint (push) Successful in 49s
CI / eval (push) Successful in 5m2s
2026-08-31 15:31:59 +01:00
Miguel Palhas 13eb534ab3 chore(flake): bump maestro to d8d26d1
CI / lint (push) Successful in 52s
CI / eval (push) Successful in 4m23s
2026-08-31 15:25:56 +01:00
Miguel Palhas 803f63d92b chore(flake): bump maestro to aec7f4c
CI / lint (push) Successful in 1m32s
CI / eval (push) Successful in 5m14s
2026-08-31 15:25:44 +01:00
Miguel Palhas 0d43a0178a chore(flake): bump maestro to 1257ec6
CI / lint (push) Successful in 1m26s
CI / eval (push) Successful in 3m29s
2026-08-31 15:20:21 +01:00
Miguel Palhas 5f3f502b8d chore(flake): bump maestro to 2dac56b
CI / lint (push) Successful in 57s
CI / eval (push) Successful in 4m31s
2026-08-31 15:06:26 +01:00
Miguel Palhas 92b51ddffc chore(flake): bump maestro to 5c391f1
CI / lint (push) Successful in 54s
CI / eval (push) Successful in 4m14s
2026-08-31 15:03:01 +01:00
Miguel Palhas cf74a9e49b chore(flake): bump maestro to a503ec7
CI / lint (push) Successful in 1m2s
CI / eval (push) Successful in 4m43s
2026-08-31 14:52:37 +01:00
Miguel Palhas f1cbd1d540 chore(flake): bump maestro to 904a665
CI / lint (push) Successful in 1m0s
CI / eval (push) Successful in 4m17s
2026-08-31 14:43:52 +01:00
Miguel Palhas 448c5df0ed chore(flake): bump maestro to f0851a6
CI / lint (push) Successful in 1m25s
CI / eval (push) Successful in 4m37s
2026-08-31 14:42:20 +01:00
Miguel Palhas 88d0be4098 chore(flake): bump maestro to 5b2add0
CI / lint (push) Successful in 1m26s
CI / eval (push) Failing after 2m56s
2026-08-31 09:59:14 +01:00
Miguel Palhas 755de4fb71 chore(flake): bump maestro to d101574
CI / eval (push) Failing after 2m12s
CI / lint (push) Successful in 47s
2026-08-31 09:25:46 +01:00
Miguel Palhas 7d0018903d chore(flake): bump maestro to 8110512
CI / lint (push) Successful in 1m12s
CI / eval (push) Failing after 1m47s
2026-08-31 09:11:13 +01:00
Miguel Palhas 799158d90e chore(flake): bump maestro to d032036
CI / lint (push) Successful in 55s
CI / eval (push) Failing after 1m40s
2026-08-31 08:43:07 +01:00
Miguel Palhas 5da1b61309 chore(flake): bump maestro to 43b90cc
CI / lint (push) Successful in 3m13s
CI / eval (push) Successful in 5m24s
2026-08-30 11:35:17 +01:00
Miguel Palhas 7a5c9981a7 chore(flake): bump agent-skills to d1a198a
CI / lint (push) Successful in 28s
CI / eval (push) Successful in 2m16s
2026-08-28 19:40:51 +01:00
Miguel Palhas 0d364dcbbb chore(flake): bump agent-skills to aff0e38
CI / lint (push) Successful in 34s
CI / eval (push) Successful in 2m14s
2026-08-27 15:54:02 +01:00
Miguel Palhas 8d39467f6b chore(flake): bump agent-skills to ca02107
CI / lint (push) Successful in 33s
CI / eval (push) Successful in 2m4s
2026-08-26 10:59:08 +01:00
Miguel Palhas e56962960b fix(yolo): disable KVM async page faults
CI / lint (push) Successful in 30s
CI / eval (push) Successful in 2m5s
Tasks were wedging in kvm_async_pf_task_wait_schedule and surviving
SIGKILL — maestro-web, systemd activation generators and agent sessions,
a few a day, clearing only on reboot. The host pages this VM's memory out
and a "page ready" wakeup gets dropped, leaving the task in an
uninterruptible wait with no safe point to deliver a signal.

no-kvmapf trades that for a synchronous vCPU stall on host page-in.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 08:06:36 +01:00
Miguel Palhas 25bb46b706 chore(flake): bump agent-skills to a229d0c
CI / lint (push) Successful in 27s
CI / eval (push) Successful in 2m6s
2026-08-26 07:02:06 +01:00
Miguel Palhas 7381a6b764 chore(flake): bump maestro to 999dbe3
CI / lint (push) Successful in 52s
CI / eval (push) Successful in 4m4s
2026-08-25 18:47:20 +01:00
Miguel Palhas 8befa14be1 chore(flake): bump maestro to c9d0895
CI / lint (push) Successful in 2m51s
CI / eval (push) Successful in 5m42s
2026-08-25 18:46:29 +01:00
Miguel Palhas bf85f679f8 chore(maestro): stop nix-managing config.toml
CI / lint (push) Successful in 30s
CI / eval (push) Successful in 2m10s
config.toml is now a hand-edited plain file at ~/.config/maestro,
not a nix-generated symlink.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 18:08:28 +01:00
Miguel Palhas 6d2754318c Merge remote-tracking branch 'origin/main' into apply
CI / lint (push) Successful in 33s
CI / eval (push) Successful in 2m6s
2026-08-25 16:51:11 +01:00
Miguel Palhas 49579d92dd feat(maestro): set tui theme to dark 2026-08-25 16:51:08 +01:00
Miguel Palhas 7495d84f1e chore(flake): bump maestro to 9ef3547
CI / lint (push) Successful in 2m28s
CI / eval (push) Successful in 4m41s
2026-08-25 15:10:52 +01:00
Miguel Palhas 9e03f255e4 chore(flake): bump maestro to 2ab07c2
CI / eval (push) Successful in 5m49s
CI / lint (push) Failing after 10m39s
2026-08-25 14:22:21 +01:00
Miguel Palhas 3922a93586 chore(flake): bump agent-skills to 8e6f86c
CI / lint (push) Successful in 34s
CI / eval (push) Successful in 1m58s
2026-08-25 14:16:51 +01:00
Miguel Palhas 4a90cd1dfc chore(flake): bump maestro to 39d4014
CI / lint (push) Successful in 1m21s
CI / eval (push) Successful in 4m24s
2026-08-25 12:35:42 +01:00
Miguel Palhas 0039ab20ee chore(flake): bump maestro to c2ac3f7
CI / lint (push) Successful in 42s
CI / eval (push) Successful in 4m25s
2026-08-25 12:26:28 +01:00
Miguel Palhas 5d53b7bf35 chore(flake): bump maestro to 7cb14c7
CI / lint (push) Successful in 2m44s
CI / eval (push) Successful in 4m35s
2026-08-25 10:37:18 +01:00
Miguel Palhas 51a6696efb chore(flake): bump agent-skills to d6265b0
CI / lint (push) Successful in 57s
CI / eval (push) Successful in 3m24s
2026-08-25 10:02:56 +01:00
10 changed files with 121 additions and 50 deletions
Generated
+38 -21
View File
@@ -22,11 +22,11 @@
},
"agent-skills": {
"locked": {
"lastModified": 1787576215,
"narHash": "sha256-x1ftVVEcq8p6phZEl4NC4F3RcPqpgx6wEMODMI5QHN8=",
"lastModified": 1788356316,
"narHash": "sha256-y5dQioiefegmuPLulFSEL4DrRJMaEHt1UcMGyOM6fRk=",
"ref": "refs/heads/main",
"rev": "0900e5fea1245c7d5e962e48a809ff7481c87f95",
"revCount": 99,
"rev": "abd21928bf993962f98364d48a2877155beaa6d0",
"revCount": 111,
"type": "git",
"url": "https://git.naps.pt/yolo/agent-skills.git"
},
@@ -74,11 +74,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1787189302,
"narHash": "sha256-cUM75Rob89qTxJvqVRF8GUewOriqQtLiyiy5xfd1fMM=",
"lastModified": 1788303707,
"narHash": "sha256-ICEHLJAM480kNrsOQ+DPWWV3XFJUDc6/n/PPcjAuRR8=",
"owner": "sadjow",
"repo": "claude-code-nix",
"rev": "8fb8cbab6345583e0b68ca7dbbbad08a0a348145",
"rev": "7f0aeb2f0c6cf1ca2bf3b0b76b823b24b04b5b21",
"type": "github"
},
"original": {
@@ -95,11 +95,11 @@
]
},
"locked": {
"lastModified": 1787094470,
"narHash": "sha256-UiHfeA8umiWByi/ijDnfnlGcVSEAhwNv1Gue3h6ey/U=",
"lastModified": 1788568734,
"narHash": "sha256-SzZaOg5XWeTzPTPYpLsSIb47FjC1jXzmfJVjzl8Xd8Q=",
"owner": "sadjow",
"repo": "codex-cli-nix",
"rev": "cfbeeca2f4dfbbfcc3c1a5b21e61a051ff43533d",
"rev": "3a0dca3725f6d8b74cfe635a85724d2313731fb4",
"type": "github"
},
"original": {
@@ -754,11 +754,11 @@
"process-compose-flake": "process-compose-flake"
},
"locked": {
"lastModified": 1787610419,
"narHash": "sha256-YRDvlaiEOpzRC5JHMlm/S39EGfrGsD4kmEWwnyHz4Tg=",
"lastModified": 1788628221,
"narHash": "sha256-LIvOc7qIfzoOX0nniagUhsyjndnpZwjKyLRaiheIU5M=",
"ref": "refs/heads/main",
"rev": "80a93999051d41b29544258dca272d40f3fc0c98",
"revCount": 443,
"rev": "2e7c5f7f58fe690b1545cfcfd4cd3b76b6652c51",
"revCount": 635,
"type": "git",
"url": "https://git.naps.pt/naps62/maestro.git"
},
@@ -767,6 +767,22 @@
"url": "https://git.naps.pt/naps62/maestro.git"
}
},
"nix-flatpak": {
"locked": {
"lastModified": 1767983141,
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "440818969ac2cbd77bfe025e884d0aa528991374",
"type": "github"
},
"original": {
"owner": "gmodena",
"ref": "latest",
"repo": "nix-flatpak",
"type": "github"
}
},
"nix-index-database": {
"inputs": {
"nixpkgs": [
@@ -850,11 +866,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1787111413,
"narHash": "sha256-sFosWtq21eHGJRnTc/hvf4M1obRgLEUMNm/IzllkHMA=",
"lastModified": 1787964612,
"narHash": "sha256-0N9nghg3nwzX6b6qc77EzjR9cu/Z+UR66FlfsCqiURs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "afe3d8ac4395617bdcdac9f188ac8717a062e014",
"rev": "e8be7818e19ada32105a8af937a6a473b38167ca",
"type": "github"
},
"original": {
@@ -1059,11 +1075,11 @@
]
},
"locked": {
"lastModified": 1787648458,
"narHash": "sha256-YO8lx85XorD2cnq5QNBvpj3JH60OrDV04GA3R2Oaih0=",
"lastModified": 1788517029,
"narHash": "sha256-WIX0qEGDAUk9DMtx8Ntw/oQ4MaMd311OdaDR9aXATiM=",
"ref": "refs/heads/main",
"rev": "88bf55a737046768adcea15b2475096519341494",
"revCount": 234,
"rev": "7e78a5f04c01204ee3fcba7858c01b43f98c4c9a",
"revCount": 238,
"type": "git",
"url": "https://git.naps.pt/yolo/rev.git"
},
@@ -1085,6 +1101,7 @@
"home-manager": "home-manager",
"hyprland": "hyprland",
"maestro": "maestro",
"nix-flatpak": "nix-flatpak",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_7",
"nvchad-starter": "nvchad-starter",
+3
View File
@@ -80,6 +80,9 @@
url = "git+https://git.naps.pt/yolo/rev.git";
inputs.nixpkgs.follows = "nixpkgs";
};
# Declarative flatpak remotes and packages; nixpkgs' services.flatpak only
# exposes `enable`. Has no nixpkgs input to follow.
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
+10 -21
View File
@@ -26,20 +26,12 @@ in
];
# maestro's and rev's units come from their flake modules, not from the
# hand-written set below. 8081, not 8080: aoe-web already has that port on
# this host. There is no auth layer, so 0.0.0.0 is only safe behind the LAN
# perimeter.
services.maestro = {
enable = true;
web.enable = true;
settings = {
daemon.bind_addr = "127.0.0.1:7070";
web = {
bind_addr = "0.0.0.0:8081";
daemon_url = "http://127.0.0.1:7070";
};
};
};
# hand-written set below.
#
# settings stays empty on purpose: ~/.config/maestro/config.toml is a
# hand-edited plain file, not nix-generated (module skips it iff `{}`).
# There is no `web.enable`: the daemon serves the UI on `daemon.bind_addr`.
services.maestro.enable = true;
# Everything under ~, three levels deep — the worktrees live at
# ~/<area>/<repo>/worktrees/<name>. sem gives entity-level diffs; without it
@@ -51,9 +43,9 @@ in
semBin = "${sem}/bin/sem";
};
# One endpoint for every repo this config pins. rev and agent-skills apply
# straight away; maestro only bumps the lock and notifies, because switching
# restarts the daemon that owns every interactive shell on this box.
# One endpoint for every repo this config pins. All three apply straight
# away: a maestro restart drops the daemon but not the sessions it manages,
# so the interactive shells on this box survive it.
services.nixAutodeploy = {
enable = true;
flake = "/home/naps62/tea/nixos-config";
@@ -61,10 +53,7 @@ in
repos = {
"yolo/rev".input = "rev";
"yolo/agent-skills".input = "agent-skills";
"naps62/maestro" = {
input = "maestro";
apply = false;
};
"naps62/maestro".input = "maestro";
};
};
+2 -1
View File
@@ -22,6 +22,7 @@
../common/features/bluetooth.nix
../common/features/ledger.nix
../common/features/smb-mounts.nix
../common/features/transmission.nix
../common/features/home
];
@@ -39,7 +40,7 @@
# yolo VM's /home/naps62 (share defined in hosts/yolo/default.nix).
server = "10.7.10.2";
share = "home";
mountPoint = "/home/naps62/yolo";
mountPoint = "/mnt/yolo";
}
];
+28
View File
@@ -0,0 +1,28 @@
{ inputs, lib, ... }:
{
imports = [ inputs.nix-flatpak.nixosModules.nix-flatpak ];
services.flatpak = {
enable = true;
# mkOptionDefault so the module's default `flathub` remote is kept rather
# than replaced.
remotes = lib.mkOptionDefault [
{
name = "flathub-beta";
location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo";
}
];
packages = [
# PrusaSlicer 3.x. As of 3.0 Prusa ships no Linux binary at all — Flathub
# is the only channel, and the alphas live in flathub-beta. Runs alongside
# pkgs.prusa-slicer (2.9.x, in home/common/programs/3d.nix): 3.x keeps its
# profiles in a separate PrusaSlicer3-dev config dir.
{
appId = "com.prusa3d.PrusaSlicer";
origin = "flathub-beta";
}
];
};
}
+4 -1
View File
@@ -40,7 +40,10 @@ in
};
mountPoint = lib.mkOption {
type = lib.types.str;
description = "Local mount point, e.g. \"/mnt/retroarch\".";
# MUST NOT live under $HOME: starship and eww stat every entry of the
# home dir, so a mount point there triggers the automount on every
# prompt and blocks for mount-timeout while the VPN is down.
description = "Local mount point outside $HOME, e.g. \"/mnt/retroarch\".";
};
user = lib.mkOption {
type = lib.types.str;
+15
View File
@@ -0,0 +1,15 @@
{ pkgs, ... }:
{
services.transmission = {
enable = true;
package = pkgs.transmission_4;
openRPCPort = true;
settings = {
rpc-bind-address = "0.0.0.0";
rpc-whitelist-enabled = false;
rpc-host-whitelist-enabled = false;
rpc-authentication-required = false;
download-dir = "/var/lib/transmission/Downloads";
};
};
}
+3 -1
View File
@@ -20,7 +20,9 @@
../common/features/wine.nix
../common/features/gaming
../common/features/appimage.nix
../common/features/flatpak.nix
../common/features/smb-mounts.nix
../common/features/transmission.nix
../common/features/home
];
@@ -42,7 +44,7 @@
# yolo VM's /home/naps62 (share defined in hosts/yolo/default.nix).
server = "10.7.10.2";
share = "home";
mountPoint = "/home/naps62/yolo";
mountPoint = "/mnt/yolo";
}
];
+14 -4
View File
@@ -17,6 +17,7 @@
../common/features/kdeconnect.nix
../common/features/nix-ld.nix
../common/features/appimage.nix
../common/features/transmission.nix
../common/features/home
];
@@ -30,11 +31,20 @@
# this VM has a real 8G swap partition, and the host manages its own memory.
zramSwap.enable = lib.mkForce false;
# The only out-of-band way in. `vga: virtio-gl` renders through a GL context
# with no QEMU console surface, so noVNC and screendump both go dark; this
# pairs with the VM's serial0 socket to keep `qm terminal` working. Listed
# last so it wins /dev/console and gets the getty.
boot.kernelParams = [
# When the host pages this VM's memory out, KVM's async page fault parks
# the faulting task in an uninterruptible wait instead of stalling the
# whole vCPU. If the "page ready" wakeup is ever dropped, that task is
# wedged forever and SIGKILL cannot touch it — it took out maestro-web,
# nix activation generators and a dozen agent sessions, a few per day,
# until a reboot. Disabling async PF makes host page-ins stall the vCPU
# synchronously: slower under host memory pressure, but nothing hangs.
"no-kvmapf"
# The only out-of-band way in. `vga: virtio-gl` renders through a GL
# context with no QEMU console surface, so noVNC and screendump both go
# dark; this pairs with the VM's serial0 socket to keep `qm terminal`
# working. Listed last so it wins /dev/console and gets the getty.
"console=tty1"
"console=ttyS0,115200"
];
+4 -1
View File
@@ -137,9 +137,12 @@ stdenv.mkDerivation (finalAttrs: {
# The bundled Chromium/ANGLE dlopen()s the system libEGL.so.1 for GL; give it
# libglvnd + NixOS's GPU driver path so it hardware-accelerates instead of
# falling back to software rendering.
# Chromium maps XDG_CURRENT_DESKTOP=Hyprland to "other" and silently picks the
# plaintext `basic` keystore, so safeStorage reports unavailable and auth tokens
# never persist across restarts. Pin the libsecret backend explicitly.
makeWrapper $out/lib/claude-desktop/claude-desktop $out/bin/claude-desktop \
"''${gappsWrapperArgs[@]}" \
--add-flags "--no-sandbox${lib.optionalString (deviceScaleFactor != null) " --force-device-scale-factor=${deviceScaleFactor}"}" \
--add-flags "--no-sandbox --password-store=gnome-libsecret${lib.optionalString (deviceScaleFactor != null) " --force-device-scale-factor=${deviceScaleFactor}"}" \
--prefix PATH : ${lib.makeBinPath [ xdg-utils ]} \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL mesa ]}:/run/opengl-driver/lib"