summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hosts/optiplex/configuration.nix6
-rw-r--r--nixos/decklink.nix21
-rw-r--r--nixos/default.nix1
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