Files
nix-files/hosts/common/programs/gst-device-monitor.nix

33 lines
1.2 KiB
Nix

# gst-device-monitor: gstreamer debugging tool.
# - `gst-device-monitor-1.0 Audio/Sink` #< show all audio sinks
# - `gst-device-monitor-1.0 Audio/Source` #< show all audio sources (microphones)
# - `gst-device-monitor-1.0 Video/Source` #< show all video sources (cameras)
{ pkgs, ... }:
{
sane.programs.gst-device-monitor = {
packageUnwrapped = (
pkgs.linkBinIntoOwnPackage pkgs.gst_all_1.gst-plugins-base "gst-device-monitor-1.0"
).overrideAttrs (base: {
# XXX the binaries need `GST_PLUGIN_SYSTEM_PATH_1_0` set to function,
# but nixpkgs doesn't set those (TODO: upstream this!)
nativeBuildInputs = (base.nativeBuildInputs or []) ++ [
pkgs.wrapGAppsNoGuiHook
];
buildInputs = (base.buildInputs or []) ++ [
pkgs.gst_all_1.gst-plugins-base #< required to find Audio/Sink
pkgs.gst_all_1.gst-plugins-good #< required to find Audio/Source and Video/Source
pkgs.pipewire #< required for Video/Source (video4linux)
];
});
sandbox.method = "bwrap";
sandbox.whitelistAudio = true;
sandbox.extraPaths = [
"/dev" # tried, but failed to narrow this down (moby)
"/run/udev/data"
"/sys/class/video4linux"
"/sys/devices"
];
};
}