infrastructure/nixos/cameras/printer.nix
2024-08-02 11:54:48 -07:00

36 lines
879 B
Nix

{
config,
gensokyo-zone,
lib,
...
}: let
inherit (gensokyo-zone.lib) mapDefaults;
inherit (config.services) motion;
in {
services.motion.cameras.printercam.settings = mapDefaults {
video_device = "/dev/printercam";
video_params = "auto_brightness=1,palette=8"; # MJPG=8, YUYV=15
width = 1920;
height = 1080;
framerate = 4;
camera_id = 2;
text_left = "";
#text_right = "";
};
services.udev.extraRules = let
inherit (lib.strings) concatStringsSep;
rules = [
''SUBSYSTEM=="video4linux"''
''ACTION=="add"''
''ATTR{index}=="0"''
''ATTRS{idProduct}=="6366"''
''ATTRS{idVendor}=="0c45"''
''SYMLINK+="printercam"''
''OWNER="${motion.user}"''
''TAG+="systemd"''
''ENV{SYSTEMD_WANTS}="motion.service"''
];
rulesLine = concatStringsSep ", " rules;
in
rulesLine;
}