{ config, lib, pkgs, ... }: { options = { decklink.enable = lib.mkEnableOption "enables decklink support"; }; config = { assertions = [ { assertion = config.nixpkgs.config.allowUnfree or false; message = "Must allow unfree pkgs to use the decklink module"; } ]; # Kernel modules hardware.decklink.enable = true; # DesktopVideoHelper environment.systemPackages = with pkgs; [ blackmagic-desktop-video ]; # Enable decklinkSupport flag globally for all packages that support it (e.g. obs) nixpkgs.overlays = [ (final: prev: { decklinkSupport = true; }) (final: prev: { blackmagic-desktop-video = (pkgs.callPackage ./software/derivations/blackmagic-desktop-video-gui/generic.nix {}).override({ desktopVideoFull = true; }); }) ]; }; }