{ config, lib, pkgs, osConfig, ... }: let cfg = config.hm.soft.obs; obsPass = osConfig.sops.placeholdder."obs/websocket_password" or null; in { options.hm.soft.obs.enable = lib.mkEnableOption "enables obs video recording and clipping"; config = lib.mkIf cfg.enable { programs.obs-studio = { enable = true; plugins = with pkgs.obs-studio-plugins; [ obs-pipewire-audio-capture ]; }; home.packages = [ pkgs.obs-cmd ]; home.sessionVariables = lib.mkIf (obsPass != null) { OBS_WEBSOCKET_URL = obsPass; }; }; }