Files
wehub-resource-sync 91e75e620b
CI: cua-driver distro-compat matrix / debian:12 (glibc 2.36) (push) Has been cancelled
CI: SPDX Headers / Check SPDX headers (warn-only) (push) Has been cancelled
CD: Docs MCP Server / build (linux/amd64) (push) Has been cancelled
CD: Docs MCP Server / build (linux/arm64) (push) Has been cancelled
CD: Docs MCP Server / merge (push) Has been cancelled
CI: cua-driver distro-compat matrix / Resolve release version (push) Has been cancelled
CI: cua-driver distro-compat matrix / fedora:41 (glibc 2.40) (push) Has been cancelled
CI: cua-driver distro-compat matrix / rockylinux:9 (glibc 2.34) (push) Has been cancelled
CI: cua-driver distro-compat matrix / ubuntu:22.04 (glibc 2.35) (push) Has been cancelled
CI: cua-driver distro-compat matrix / ubuntu:24.04 (glibc 2.39) (push) Has been cancelled
CI: cua-driver distro-compat matrix / Distro compat summary (push) Has been cancelled
CI: Rust Linux unit / Rust Linux unit and compile (push) Has been cancelled
CI: Rust Windows unit / Rust Windows unit and compile (push) Has been cancelled
CI: Nix Linux Rust source / Nix / compositor build (push) Has been cancelled
CI: Nix Linux Rust source / Nix / driver package (push) Has been cancelled
CI: Nix Linux Rust source / Nix / Rust unit tests (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:03:19 +08:00

48 lines
1.1 KiB
Nix

# CUA Driver NixOS Module
#
# Installs the cua-driver binary and its runtime dependencies for
# Linux computer-use automation (X11, AT-SPI accessibility, ImageMagick).
#
# Usage in a NixOS configuration:
# imports = [ ./nix/cua-driver/module.nix ];
# services.cua-driver = {
# enable = true;
# package = cuaDriverPackage;
# };
#
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.cua-driver;
in
{
options.services.cua-driver = {
enable = lib.mkEnableOption "CUA Driver MCP server for computer-use automation";
package = lib.mkOption {
type = lib.types.package;
description = "The cua-driver package to use.";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
cfg.package
pkgs.imagemagick # `import` command used by capture.rs for window screenshots
pkgs.at-spi2-core # AT-SPI bus daemon for accessibility tree queries
];
# D-Bus is required for AT-SPI communication
services.dbus.enable = true;
environment.variables = {
CUA_DRIVER_BIN = "${cfg.package}/bin/cua-driver";
};
};
}