summaryrefslogtreecommitdiff
path: root/hm/soft/obs.nix
blob: 8d968e41dd1f28396af2ecf0c74dd51b60fb6903 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
  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;
    };
  };
}