diff options
| -rw-r--r-- | hosts/optiplex/configuration.nix | 6 | ||||
| -rw-r--r-- | nixos/decklink.nix | 21 | ||||
| -rw-r--r-- | nixos/default.nix | 1 |
3 files changed, 28 insertions, 0 deletions
diff --git a/hosts/optiplex/configuration.nix b/hosts/optiplex/configuration.nix index 8563c2c..e509e83 100644 --- a/hosts/optiplex/configuration.nix +++ b/hosts/optiplex/configuration.nix @@ -55,6 +55,8 @@ # Allow unfree for nvidia + others nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "blackmagic-desktop-video" + "decklink" "nvidia-kernel-modules" "nvidia-settings" "nvidia-x11" @@ -85,6 +87,10 @@ forceFullCompositionPipeline = true; # Enables vsync }; + # Enable decklink support for intensity pro + services._decklink.enable = true; + services._decklink.decklinkSupport.enable = true; + # Configure home home-manager.users.timmy = { gtk._mintTheme = { diff --git a/nixos/decklink.nix b/nixos/decklink.nix new file mode 100644 index 0000000..d86fde3 --- /dev/null +++ b/nixos/decklink.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: let + cfg = config.services._decklink; +in { + options.services._decklink = { + enable = lib.mkEnableOption "enables decklink support"; + decklinkSupport.enable = lib.mkEnableOption "enable decklinkSupport flag for all packages that support it by default"; + }; + + config = lib.mkIf cfg.enable { + # Kernel modules + hardware.decklink.enable = true; + + # DesktopVideoHelper + environment.systemPackages = [ pkgs.blackmagic-desktop-video ]; + + # Enable decklinkSupport flag globally for all packages that support it (e.g. obs) + nixpkgs.overlays = [ + (final: prev: { decklinkSupport = cfg.decklinkSupport.enable; }) + ]; + }; +} diff --git a/nixos/default.nix b/nixos/default.nix index 0555b5d..2449a5f 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -19,6 +19,7 @@ #./services/mainsail.nix ./bootloader.nix + ./decklink.nix ./doas.nix ./filesystems.nix ./geoclue.nix |
