mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
* feat(nixpak): sandbox six desktop apps * chore(nixpak): trim OBS plugin set * fix(nixpak): enable OBS on aarch64 * fix(nixpak): let imv read the full home directory * fix(home): drop redundant freerdp package * fix(nixpak): grant OBS access to V4L2 camera devices * fix(nixpak): expose V4L2 sysfs to OBS * fix(nixpak): expose NVIDIA encode library to OBS * docs(nixpak): record OBS interactive validation * docs(nixpak): record OBS RTMP validation * fix(nixpak): run MuseScore via XWayland and PulseAudio * docs(nixpak): explain app sandboxing rationale * fix(nixpak): route MuseScore ALSA through PipeWire
35 lines
818 B
Nix
35 lines
818 B
Nix
{
|
|
lib,
|
|
load,
|
|
mkAppPolicy,
|
|
...
|
|
}:
|
|
let
|
|
app = load "obs-studio";
|
|
in
|
|
mkAppPolicy "obs-studio" {
|
|
network = "pasta";
|
|
media = true;
|
|
pulse = true;
|
|
x11 = true;
|
|
allowedVideoDevices = [
|
|
"/dev/video0"
|
|
"/dev/video1"
|
|
];
|
|
notifications = true;
|
|
tray = true;
|
|
extraChecks = {
|
|
fileChooser = app.portalGroups.fileChooser;
|
|
screenCast = app.portalGroups.screenCast;
|
|
camera = app.portalGroups.camera;
|
|
inhibit = app.portalGroups.inhibit;
|
|
accessibility = app.desktopIntegration.accessibility;
|
|
videoDevices = lib.all (dev: lib.elem dev app.bubblewrap.bind.dev) [
|
|
"/dev/video0"
|
|
"/dev/video1"
|
|
];
|
|
video4linuxSysfs = lib.elem "/sys/class/video4linux" app.bubblewrap.bind.ro;
|
|
nvencLibraryPath = app.bubblewrap.env.LD_LIBRARY_PATH == "/run/opengl-driver/lib";
|
|
};
|
|
}
|