31 lines
732 B
Nix
31 lines
732 B
Nix
{ config, lib, pkgs, ...}:
|
|
let
|
|
cfg = config.nixfiles.packageSets.multimedia;
|
|
inherit (lib) optional optionals mkEnableOption mkIf;
|
|
nvidiaEnabled = (lib.elem "nvidia" config.services.xserver.videoDrivers);
|
|
in
|
|
{
|
|
options.nixfiles.packageSets.multimedia = {
|
|
enable = mkEnableOption "multimedia packages";
|
|
};
|
|
config = mkIf cfg.enable {
|
|
environment.systemPackages = with pkgs; optionals config.services.xserver.enable [
|
|
mpv
|
|
gimp
|
|
krita
|
|
inkscape
|
|
obs-studio
|
|
] ++ [
|
|
gallery-dl
|
|
yt-dlp
|
|
imagemagick
|
|
pngquant
|
|
gifski
|
|
ffmpeg
|
|
];
|
|
|
|
# needed for NVENC to work in OBS Studio and FFmpeg
|
|
boot.kernelModules = optional nvidiaEnabled "nvidia_uvm";
|
|
};
|
|
}
|