46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
|
{ pkgs, ... }:
|
||
|
{
|
||
|
services.mjpg-streamer = {
|
||
|
enable = true;
|
||
|
inputPlugin = "input_uvc.so -d /dev/web_cam -r 1280x960";
|
||
|
};
|
||
|
users.users.octoprint.extraGroups = [ "video" ];
|
||
|
# allow octoprint to access /dev/vchiq
|
||
|
# also ensure that the webcam always comes up under the same name
|
||
|
services.udev.extraRules = ''
|
||
|
SUBSYSTEM=="vchiq",GROUP="video",MODE="0660"
|
||
|
SUBSYSTEM=="video4linux", ATTR{name}=="UVC Camera (046d:0825)",SYMLINK+="web_cam", MODE="0666", GROUP="video"
|
||
|
'';
|
||
|
systemd.services.octoprint = {
|
||
|
path = [ pkgs.libraspberrypi ];
|
||
|
};
|
||
|
services.octoprint = {
|
||
|
enable = true;
|
||
|
plugins = plugins: with plugins;[
|
||
|
costestimation
|
||
|
displayprogress
|
||
|
mqtt
|
||
|
stlviewer
|
||
|
themeify
|
||
|
# octolapse
|
||
|
(buildPlugin rec {
|
||
|
pname = "OctoPrint-HomeAssistant";
|
||
|
version = "3.6.2";
|
||
|
src = pkgs.fetchFromGitHub {
|
||
|
owner = "cmroche";
|
||
|
repo = pname;
|
||
|
rev = version;
|
||
|
hash = "sha256-oo9OBmHoJFNGK7u9cVouMuBuUcUxRUrY0ppRq0OS1ro=";
|
||
|
};
|
||
|
})
|
||
|
];
|
||
|
extraConfig.plugins.mqtt.broker = {
|
||
|
url = "omo.lan";
|
||
|
# TODO TODO TODO
|
||
|
username = "hass";
|
||
|
password = "lksue43jrf";
|
||
|
# TODO TODO TODO
|
||
|
};
|
||
|
};
|
||
|
}
|