summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2025-07-11 11:26:40 -0500
committerTim Keller <tjk@tjkeller.xyz>2025-07-11 11:26:40 -0500
commit635edfc0ce1ae0504f2877f846211a4fdfa6d327 (patch)
tree284874a1ea01254bd6b500122aff12123f664cc0 /modules
parent8879ac8f270cdced4a70257b2b0523f025b597b3 (diff)
downloadnixos-635edfc0ce1ae0504f2877f846211a4fdfa6d327.tar.xz
nixos-635edfc0ce1ae0504f2877f846211a4fdfa6d327.zip
blackmagic desktop vid custom derivation and decklink support
Diffstat (limited to 'modules')
-rw-r--r--modules/hosts/optiplex/configuration.nix4
-rw-r--r--modules/root/decklink.nix24
-rw-r--r--modules/root/default.nix2
-rw-r--r--modules/root/software/default.nix1
-rw-r--r--modules/root/software/desktop.nix3
-rw-r--r--modules/root/software/utilities.nix1
6 files changed, 35 insertions, 0 deletions
diff --git a/modules/hosts/optiplex/configuration.nix b/modules/hosts/optiplex/configuration.nix
index 16ba475..625d37a 100644
--- a/modules/hosts/optiplex/configuration.nix
+++ b/modules/hosts/optiplex/configuration.nix
@@ -13,6 +13,7 @@
graphics.enable = true;
office.enable = true;
utilities.enable = true;
+ video.enable = true;
};
software.development = {
docker.enable = true;
@@ -31,6 +32,9 @@
# Disable wifi
wifi.enable = false;
+ # Enable decklink
+ decklink.enable = true;
+
# Use nvidia driver
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
diff --git a/modules/root/decklink.nix b/modules/root/decklink.nix
new file mode 100644
index 0000000..6fd6395
--- /dev/null
+++ b/modules/root/decklink.nix
@@ -0,0 +1,24 @@
+{ lib, pkgs, ... }: {
+ options = {
+ decklink.enable = lib.mkEnableOption "enables decklink support";
+ };
+
+ config = {
+ # Kernel modules
+ hardware.decklink.enable = true;
+
+ # DesktopVideoHelper
+ environment.systemPackages = with pkgs; [ pkgs.blackmagic-desktop-video-gui ];
+
+ # Enable decklinkSupport flag globally for all packages that support it (e.g. obs)
+ nixpkgs.overlays = [
+ (final: prev: { decklinkSupport = true; })
+ #(import ./software/derivations/blackmagic-desktop-video-gui/default.nix)
+ (final: prev: {
+ blackmagic-desktop-video-gui = (pkgs.callPackage ./software/derivations/blackmagic-desktop-video-gui/generic.nix {}).override({
+ desktopVideoFull = true;
+ });
+ })
+ ];
+ };
+}
diff --git a/modules/root/default.nix b/modules/root/default.nix
index e24e4b0..1006d7d 100644
--- a/modules/root/default.nix
+++ b/modules/root/default.nix
@@ -4,6 +4,7 @@
./autologin.nix
./bluetooth.nix
./bootloader.nix
+ ./decklink.nix
./doas.nix
./fonts.nix
./home-manager.nix
@@ -28,6 +29,7 @@
autologin.enable = lib.mkDefault true;
avahi.enable = lib.mkDefault true;
bluetooth.enable = lib.mkDefault false;
+ decklink.enable = lib.mkDefault false;
doas.enable = lib.mkDefault true;
fonts.enable = lib.mkDefault true;
nas = {
diff --git a/modules/root/software/default.nix b/modules/root/software/default.nix
index 5f6494d..7696fd6 100644
--- a/modules/root/software/default.nix
+++ b/modules/root/software/default.nix
@@ -20,6 +20,7 @@
graphics.enable = lib.mkDefault false;
office.enable = lib.mkDefault false;
utilities.enable = lib.mkDefault false;
+ video.enable = lib.mkDefault false;
};
software.development = {
diff --git a/modules/root/software/desktop.nix b/modules/root/software/desktop.nix
index b8cd1e7..ddbf784 100644
--- a/modules/root/software/desktop.nix
+++ b/modules/root/software/desktop.nix
@@ -16,6 +16,7 @@
graphics.enable = lib.mkEnableOption "enables graphic design apps";
office.enable = lib.mkEnableOption "enables office apps";
utilities.enable = lib.mkEnableOption "enables miscellaneous utility apps";
+ video.enable = lib.mkEnableOption "enables video apps";
};
};
@@ -63,6 +64,8 @@
qbittorrent
qdirstat
remmina
+ ] ++ pkgs.lib.optionals config.software.desktop.video.enable [
+ obs-studio
];
programs.localsend.enable = config.software.desktop.utilities.enable; # Installs & opens firewall
diff --git a/modules/root/software/utilities.nix b/modules/root/software/utilities.nix
index 79285a1..bbe2539 100644
--- a/modules/root/software/utilities.nix
+++ b/modules/root/software/utilities.nix
@@ -15,6 +15,7 @@
openssl
p7zip
pavolctld
+ pciutils
powertop
pv
rsync