mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
feat(agents): align ruby and kana computer-use support (#514)
* feat(agents): align ruby and kana computer-use support Assisted-by: DeepSeek Harness (deepseek-flash) * test(agents): keep one full-host test for ruby and kana Both guests run the same agent configuration, so a second full-host test does not add coverage. Assisted-by: DeepSeek Harness (deepseek-flash) * fix(computer-use): disable cua-driver telemetry before start The i3 init hook did not reliably disable the default-on setting, so both hosts could start the daemon with telemetry enabled. Assisted-by: DeepSeek Harness (deepseek-flash)
This commit is contained in:
1 parent
d8b298019a
commit
ff7102d75b
7 files changed
+16
-21
No files matched your search
@@ -7,4 +7,6 @@
|
||||
modules.desktop.computerUse.enable = true;
|
||||
# localhost-only VNC server for manual access (use an SSH tunnel).
|
||||
modules.desktop.computerUse.vnc = true;
|
||||
# trycua/cua driver.
|
||||
modules.desktop.computerUse.cuaDriver = true;
|
||||
}
|
||||
@@ -7,6 +7,6 @@
|
||||
modules.desktop.computerUse.enable = true;
|
||||
# localhost-only VNC server for manual access (use an SSH tunnel).
|
||||
modules.desktop.computerUse.vnc = true;
|
||||
# trycua/cua driver, grey-tested on ruby only.
|
||||
# trycua/cua driver.
|
||||
modules.desktop.computerUse.cuaDriver = true;
|
||||
}
|
||||
@@ -54,11 +54,6 @@ let
|
||||
DBUS_SESSION_BUS_ADDRESS="unix:path=''${XDG_RUNTIME_DIR}/bus" \
|
||||
${pkgs.glib.bin}/bin/gsettings set org.gnome.desktop.interface toolkit-accessibility true \
|
||||
>/dev/null 2>&1 || true
|
||||
|
||||
${lib.optionalString cfg.cuaDriver ''
|
||||
# cua-driver sends content-free telemetry by default; turn it off.
|
||||
${pkgs.cua-driver}/bin/cua-driver telemetry disable >/dev/null 2>&1 || true
|
||||
''}
|
||||
'';
|
||||
in
|
||||
{
|
||||
@@ -201,6 +196,9 @@ in
|
||||
"DISPLAY=${display}"
|
||||
"XDG_SESSION_TYPE=x11"
|
||||
];
|
||||
# cua-driver sends content-free telemetry by default. Do this before
|
||||
# the daemon starts so activation does not depend on the i3 session.
|
||||
ExecStartPre = "${pkgs.cua-driver}/bin/cua-driver telemetry disable";
|
||||
ExecStart = "${pkgs.cua-driver}/bin/cua-driver serve";
|
||||
Restart = "always";
|
||||
RestartSec = 2;
|
||||
|
||||
+5
-5
@@ -30,11 +30,11 @@ directory.
|
||||
|
||||
The `agent` hosts differ only in:
|
||||
|
||||
| | `aquamarine` | `ruby` | `kana` |
|
||||
| ------------ | ------------------------------------------ | ------------------- | ------------- |
|
||||
| Computer use | off | on, with cua-driver | on |
|
||||
| Hardware | physical; 2x R9700, NPU speech recognition | libvirt guest | libvirt guest |
|
||||
| Root | tmpfs; `preservation.nix` keeps home state | disk | disk |
|
||||
| | `aquamarine` | `ruby` | `kana` |
|
||||
| ------------ | ------------------------------------------ | ------------------- | ------------------- |
|
||||
| Computer use | off | on, with cua-driver | on, with cua-driver |
|
||||
| Hardware | physical; 2x R9700, NPU speech recognition | libvirt guest | libvirt guest |
|
||||
| Root | tmpfs; `preservation.nix` keeps home state | disk | disk |
|
||||
|
||||
`outputs/x86_64-linux/tests/agent-profile` checks the `agent` rows.
|
||||
|
||||
|
||||
@@ -19,15 +19,6 @@ in
|
||||
# Headless computer-use environment (Xvfb + i3 + desktop automation + browser).
|
||||
modules.desktop.computerUse.enable = true;
|
||||
|
||||
# Enable binfmt emulation of aarch64-linux, this is required for cross compilation.
|
||||
boot.binfmt.emulatedSystems = [
|
||||
"aarch64-linux"
|
||||
"riscv64-linux"
|
||||
];
|
||||
# This enables the kernel to preload the emulator binaries when the binfmt registrations are added,
|
||||
# obviating the need to make the emulator binaries available inside chroots and chroot-like sandboxes.
|
||||
boot.binfmt.preferStaticEmulators = true; # required to work with podman
|
||||
|
||||
# supported file systems, so we can mount any removable disks with these filesystems
|
||||
boot.supportedFilesystems = [
|
||||
"ext4"
|
||||
|
||||
@@ -17,7 +17,8 @@ lib.genAttrs hosts (name: {
|
||||
i3Restart = "always";
|
||||
vnc = true;
|
||||
clipboardSync = true;
|
||||
cuaDriver = name == "ruby";
|
||||
cuaDriver = true;
|
||||
cuaTelemetryDisabled = true;
|
||||
brave = true;
|
||||
chromium = true;
|
||||
})
|
||||
@@ -29,6 +29,9 @@ lib.genAttrs hosts (
|
||||
"autocutsel-clipboard"
|
||||
];
|
||||
cuaDriver = home.modules.desktop.computerUse.cuaDriver;
|
||||
cuaTelemetryDisabled = lib.hasInfix "telemetry disable" (
|
||||
home.systemd.user.services.cua-driver.Service.ExecStartPre
|
||||
);
|
||||
brave = home.programs.brave-origin.enable;
|
||||
chromium = home.programs.chromium.enable;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user