Skip to content

Installation

emeet-pixyd runs on Linux (x86_64 + aarch64) and requires an EMEET PIXY dual-camera AI webcam (USB 328f:00c0) or PIXY 2K (328f:0118) — see Supported Devices for the full compatibility matrix, including which other EMEET webcams are recognized.

  • Linux (x86_64 or aarch64) — the daemon uses Linux-specific APIs (/proc, netlink, V4L2, hidraw)
  • EMEET PIXY webcam connected via USB
  • Go 1.26+ (only for building from source)

Add the flake input and enable the module:

flake.nix
inputs.emeet-pixyd.url = "github:LarsArtmann/emeet-pixyd";
# In your nixosConfiguration:
inputs.emeet-pixyd.nixosModules.default

Then in your configuration:

hardware.emeet-pixy = {
enable = true;
auto = "full"; # off | full | tracking-only | privacy-only
defaultAudio = "nc"; # nc | live | org
debug = false;
};

That’s it. The module installs:

  • The daemon binary (emeet-pixyd)
  • A CLI symlink (emeet-pixy)
  • udev rules for PIXY hidraw + video4linux access
  • A systemd user service (runs after PipeWire + graphical-session)
  • All runtime dependencies in PATH (v4l-utils, wireplumber, libnotify)
  • A tmpfiles.d entry for /run/emeet-pixyd
Terminal window
git clone https://github.com/LarsArtmann/emeet-pixyd.git
cd emeet-pixyd
nix build # or: go build -o emeet-pixyd .

If not using the NixOS module, ensure these are in your PATH:

Tool Purpose Required
v4l2-ctl Pan/tilt/zoom control via V4L2 Yes
ffmpeg MJPEG streaming in web UI For preview only
wpctl PipeWire default source switching For audio switching
notify-send Desktop notifications Optional

Start the daemon:

Terminal window
emeet-pixyd

Check status:

Terminal window
emeet-pixy status

If the PIXY is connected, you should see camera state, audio mode, PTZ position, and auto mode.