aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/screen-recording/default.nix
blob: f687d36f45c6ecfd189832674781e22915ffbfa4 (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,
  ...
}:
let
  inherit ((import ../lib.nix { inherit lib pkgs; })) mkScriptModule;
  base = mkScriptModule {
    name = "screen-recording";
    path = ./script.sh;
    description = "Screen recording script using FFmpeg and slop for region selection\nRecords X11 screen to MP4 with x264 encoding\nUsage: screen-recording.sh [-s|--select]\n  -s, --select  Launch slop to select recording region";
    deps = [
      config.media.ffmpeg.package
      config.media.slop.package
    ];
    desktop = {
      enable = true;
      displayName = "Screen Recording";
    };
    inherit config;
  };
in
{
  options = base.options;
  config = base.moduleConfig // {
    assertions = base.moduleConfig.assertions ++ (import ./assertions.nix { inherit config lib; });
  };
}