{ pkgs, config, lib, ... }: with lib; let cfg = config.eboskma.backscrub; in { options.eboskma.backscrub = { enable = mkEnableOption "enable v4l2loopback kernel module"; }; config = mkIf cfg.enable { boot = { extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; # Register a v4l2loopback device at boot kernelModules = [ "v4l2loopback" ]; extraModprobeConfig = '' options v4l2loopback max_buffers=2 options v4l2loopback exclusive_caps=1 options v4l2loopback video_nr=10 options v4l2loopback card_label="VirtualCam" ''; }; environment.systemPackages = with pkgs; [ backscrub ]; }; }