diff options
author | Tim Keller <tjk@tjkeller.xyz> | 2025-07-11 13:06:28 -0500 |
---|---|---|
committer | Tim Keller <tjk@tjkeller.xyz> | 2025-07-11 13:06:28 -0500 |
commit | ff4ae2aec2f9999005487a4bbb25cbb67cbde3ea (patch) | |
tree | 5ada419ee5e65339ea70755a5207840ae5ce2e7f /modules | |
parent | 470531af44ebb4b7ca1194df0c0f8cc17794b9f1 (diff) | |
download | nixos-ff4ae2aec2f9999005487a4bbb25cbb67cbde3ea.tar.xz nixos-ff4ae2aec2f9999005487a4bbb25cbb67cbde3ea.zip |
update derivation and decklink moddecklink
Diffstat (limited to 'modules')
-rw-r--r-- | modules/hosts/X230/configuration.nix | 7 | ||||
-rw-r--r-- | modules/root/decklink.nix | 42 |
2 files changed, 16 insertions, 33 deletions
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" - ''; }; } |