main
 1{den, ...}: {
 2  den.aspects.desktop.app.obs-studio = {
 3    cacheHome = {config, ...}: {
 4      directories = [
 5        "${config.xdg.stateHome}/obs-studio"
 6      ];
 7    };
 8
 9    homeManager = {pkgs, ...}: {
10      home.packages = with pkgs; [
11        obs-studio
12      ];
13
14      xdg.configFile."obs-studio/plugins".source = pkgs.symlinkJoin {
15        name = "obs-studio-plugins";
16        paths = with pkgs.obs-studio-plugins; [
17          input-overlay
18        ];
19      };
20    };
21  };
22
23  den.aspects.desktop.app.obs-studio.themes = {
24    catppuccin = {
25      homeManager = {pkgs, ...}: let
26        catppuccin-obs = pkgs.fetchFromGitHub {
27          owner = "catppuccin";
28          repo = "obs";
29          rev = "054a297d303a5bac4f1652a13b17d78a13201c0e";
30          hash = "sha256-zFg7dgxLIK3K1KpLdEgphH2JpdMwVTovr+oKiAqdLEE=";
31        };
32      in {
33        xdg.configFile."obs-studio/themes".source = "${catppuccin-obs}/themes";
34      };
35    };
36  };
37}