old
 1{
 2  den.aspects.desktop.app.obs-studio = {
 3    persistHome = {config, ...}: {
 4      directories = [
 5        "${config.xdg.configHome}/obs-studio"
 6      ];
 7    };
 8
 9    nixos = {config, ...}: {
10      # From https://github.com/NixOS/nixpkgs/blob/f8cc9d1b80b6c75fec21ecc549f631c3eed5a5e1/nixos/modules/programs/obs-studio.nix
11      boot = {
12        kernelModules = ["v4l2loopback"];
13        extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
14
15        extraModprobeConfig = ''
16          options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
17        '';
18      };
19    };
20
21    homeManager = {pkgs, ...}: {
22      programs.obs-studio = {
23        enable = true;
24        plugins = with pkgs.obs-studio-plugins; [
25          input-overlay
26          obs-pipewire-audio-capture
27          obs-vkcapture
28          obs-backgroundremoval
29        ];
30      };
31    };
32  };
33
34  den.aspects.desktop.app.obs-studio.themes = {
35    catppuccin = {
36      homeManager = {pkgs, ...}: let
37        catppuccin-obs = pkgs.fetchFromGitHub {
38          owner = "catppuccin";
39          repo = "obs";
40          rev = "054a297d303a5bac4f1652a13b17d78a13201c0e";
41          hash = "sha256-zFg7dgxLIK3K1KpLdEgphH2JpdMwVTovr+oKiAqdLEE=";
42        };
43      in {
44        xdg.configFile."obs-studio/themes".source = "${catppuccin-obs}/themes";
45      };
46    };
47  };
48}