28 lines
661 B
Nix
28 lines
661 B
Nix
|
{ config, options, lib, pkgs, ... }:
|
||
|
with lib;
|
||
|
with lib.custom;
|
||
|
let
|
||
|
cfg = config.modules.desktop.media.recording;
|
||
|
in {
|
||
|
options.modules.desktop.media.recording = {
|
||
|
enable = mkBoolOpt false;
|
||
|
audio.enable = mkBoolOpt true;
|
||
|
video.enable = mkBoolOpt true;
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
services.pipewire.jack.enable = true;
|
||
|
|
||
|
user.packages = with pkgs;
|
||
|
(if cfg.audio.enable then [
|
||
|
unstable.audacity-gtk3
|
||
|
] else []) ++
|
||
|
|
||
|
(if cfg.video.enable then [
|
||
|
unstable.obs-studio
|
||
|
unstable.handbrake
|
||
|
ffmpeg
|
||
|
] else []);
|
||
|
};
|
||
|
}
|