summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--derivations/blackmagic-desktop-video-gui/generic.nix8
-rw-r--r--modules/hosts/X230/configuration.nix7
-rw-r--r--modules/root/decklink.nix42
3 files changed, 21 insertions, 36 deletions
diff --git a/derivations/blackmagic-desktop-video-gui/generic.nix b/derivations/blackmagic-desktop-video-gui/generic.nix
index b99c550..07a0580 100644
--- a/derivations/blackmagic-desktop-video-gui/generic.nix
+++ b/derivations/blackmagic-desktop-video-gui/generic.nix
@@ -125,20 +125,22 @@ stdenv.mkDerivation (finalAttrs: {
--replace-fail "/usr/lib/blackmagic/DesktopVideo/DesktopVideoHelper" "$out/bin/DesktopVideoHelper"
''
+ lib.optionalString desktopVideoUpdater ''
- mkdir -p $out/{lib/blackmagic/DesktopVideo/Firmware,share/icons,share/applications}
+ mkdir -p $out/{bin/Firmware,share/icons,share/applications}
cp $unpacked/usr/share/man/man1/DesktopVideo{UpdateTool,Updater}.1 $out/share/man/man1
cp -r $unpacked/usr/share/icons/* $out/share/icons
cp $unpacked/usr/share/applications/DesktopVideoUpdater.desktop $out/share/applications
- cp -r $unpacked/usr/lib/blackmagic/DesktopVideo/Firmware $out/lib/blackmagic/DesktopVideo/Firmware
+ cp -r $unpacked/usr/lib/blackmagic/DesktopVideo/Firmware $out/bin/Firmware # UpdateTool expects Firmware dir next to it
cp $unpacked/usr/lib/blackmagic/DesktopVideo/libDVUpdate.so $out/lib
cp $unpacked/usr/lib/blackmagic/DesktopVideo/DesktopVideo{UpdateTool,Updater} $out/bin/
''
+ lib.optionalString desktopVideoGUI ''
- mkdir -p $out/share/{icons,applications}
+ mkdir -p $out/{share/{icons,applications},bin/plugins}
cp -r $unpacked/usr/share/doc/desktopvideo-gui $out/share/doc
cp $unpacked/usr/share/man/man1/BlackmagicDesktopVideoSetup.1 $out/share/man/man1
cp -r $unpacked/usr/share/icons/* $out/share/icons
cp $unpacked/usr/share/applications/BlackmagicDesktopVideoSetup.desktop $out/share/applications
+ cp -r $unpacked/usr/lib/blackmagic/DesktopVideo/plugins $out/bin/plugins
+ cp $unpacked/usr/lib/blackmagic/DesktopVideo/qt.conf $out/bin/
cp $unpacked/usr/lib/blackmagic/DesktopVideo/BlackmagicDesktopVideoSetup $out/bin/
''
+ ''
diff --git a/modules/hosts/X230/configuration.nix b/modules/hosts/X230/configuration.nix
index 9a8e6b4..4c8adab 100644
--- a/modules/hosts/X230/configuration.nix
+++ b/modules/hosts/X230/configuration.nix
@@ -9,7 +9,14 @@
crypto.enable = true;
graphics.enable = true;
office.enable = true;
+ video.enable = true;
};
+ # Allow unfree for nvidia + others
+ nixpkgs.config.allowUnfree = true;
+
+ # Enable decklink
+ decklink.enable = true;
+
system.stateVersion = "24.05";
}
diff --git a/modules/root/decklink.nix b/modules/root/decklink.nix
index d88fbfa..035bd63 100644
--- a/modules/root/decklink.nix
+++ b/modules/root/decklink.nix
@@ -1,9 +1,16 @@
-{ lib, pkgs, ... }: {
+{ 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;
@@ -12,43 +19,12 @@
# Enable decklinkSupport flag globally for all packages that support it (e.g. obs)
nixpkgs.overlays = [
- #(final: prev: { decklinkSupport = true; })
+ (final: prev: { decklinkSupport = true; })
(final: prev: {
blackmagic-desktop-video = (pkgs.callPackage ./software/derivations/blackmagic-desktop-video-gui/generic.nix {}).override({
desktopVideoFull = true;
});
})
];
-
- services.udev.extraRules = ''
- ACTION=="add", KERNEL=="blackmagic/dv[0-9]*", MODE="0666", RUN+="${pkgs.blackmagic-desktop-video}/bin/DesktopVideoNotifier add /dev/%k"
- ACTION=="remove", KERNEL=="blackmagic/dv[0-9]*", RUN+="${pkgs.blackmagic-desktop-video}/bin/DesktopVideoNotifier del /dev/%k"
- ACTION=="add", KERNEL=="blackmagic/ttydv[0-9]*", SYMLINK+="blackmagic/serial%n", MODE="0666"
-
-
- ACTION=="add", KERNEL=="blackmagic/io[0-9]*", MODE="0666", RUN+="${pkgs.blackmagic-desktop-video}/bin/DesktopVideoNotifier add /dev/%k"
- ACTION=="remove", KERNEL=="blackmagic/io[0-9]*", RUN+="${pkgs.blackmagic-desktop-video}/bin/DesktopVideoNotifier del /dev/%k"
- ACTION=="add", KERNEL=="blackmagic/ttyio[0-9]*", MODE="0666"
-
-
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bd90", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bd97", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bd98", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bda1", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bda9", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bdab", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bdaa", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bdbf", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bdcc", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bdd1", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bdda", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bddb", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bddc", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bdf5", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="bdff", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="be07", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="be13", MODE="0666"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="1edb", ATTRS{idProduct}=="be14", MODE="0666"
- '';
};
}